text:
<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE chapter [
<!ENTITY % slc_entities SYSTEM "../common/entities.ent">
%slc_entities;
]>

<chapter xml:id="doc-fb69ed23-c9f6-4efe-9838-3d3b44b8bb7f"
         xmlns="http://docbook.org/ns/docbook"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">

    <title>Preparations & Assumptions</title>

    <para>
        This chapter covers the preparations you need to make prior to
        an &PRODUCTABBR; deployment. It also describes the assumptions
        this document makes about what you already know and what
        resources are available to you.
    </para>

    <sect1 xml:id="doc-1668f44b-4e63-4790-90a2-a1495da8ef7d">
        <title><phrase>Preparations & Assumptions: Documentation</phrase></title>
        <para>
            <phrase>This document covers the instructions and supporting information
            you need to deploy a Production &PRODUCTABBR; environment. The
            target audience is a system administrator who has experience
            in installing and configuring enterprise software. Ideally, the
            reader has experience working on a UNIX or Linux command line
            and some experience installing or managing software and services
            on a Linux system.</phrase>
        </para>
        <para>
            Additional documentation resources can be found at
            <filename>&DEVWEBSITE;</filename>, targeted to other
            &PRODUCTABBR; audiences:
        </para>
        <itemizedlist>
            <listitem>
                <para>
                    &PRODUCTABBR; administrator documentation targets the
                    day-to-day activities of administrating &PRODUCTABBR;
                    for an education organization, including state
                    and local (district, county, etc.) school systems.
                </para>
            </listitem>
            <listitem>
                <para>
                    The &PRODUCT; data ingestion guide includes instructions,
                    information, and reference for adding data to the
                    the &PRODUCTABBR; Data Store, including preparing data
                    for ingestion and managing and troubleshooting the
                    ingestion process.
                </para>
            </listitem>
            <listitem>
                <para>
                    Software developer documentation targets setting up
                    and using development tools for creating web and
                    mobile applications for &PRODUCTABBR;.
                </para>
            </listitem>
        </itemizedlist>
    </sect1>

    <sect1 xml:id="doc-4b3fd8e2-bf03-4235-80bc-bd03a4924c4f">
        <title>Preparations & Assumptions: Operating System</title>
        <para>
            An operator of a multi-server environment is advised to make use of a GID and
            UID synchronization or management system, such as LDAP, to ensure
            that user and group IDs across the system remain unique. This is of particular
            importance where the system will be using GlusterFS between the
            landing zone and ingestion servers.  Failure to have such a system will complicate
            installation and potentially reduce the overall security of the system, since ingestion
            servers must be able to read and write to files that have been written to the
            landing zone by users.
        </para>
        <para>
            All Production servers are assumed to be able to obtain access to the
            Internet at large in order to perform updates of software and in particular Ruby gems
            as the platform's needs evolve.
        </para>
    </sect1>

    <sect1 xml:id="doc-87089348-3e8f-4708-8a19-4b2b552f7d2c">
        <title>Preparations & Assumptions: Software</title>
        <para>
            Topics in this section may refer to the following products and/or technology:
        </para>
        <itemizedlist>
            <listitem>
                <para>
                    Red Hat Enterprise Linux (RHEL) – Red Hat's licensed commercial Linux
                    distribution. See
                    <link xlink:show="embed" xlink:href="http://www.redhat.com/products/enterprise-linux/">http://www.redhat.com/products/enterprise-linux/</link>.
                </para>
            </listitem>
        </itemizedlist>
        <para>
            Later sections will refer to RHEL 6.2. The operator must define a base
            operating system image that can be provisioned to run &PRODUCTABBR; components. The
            &PRODUCTABBR; development team built a base image on top of RHEL 6.2, but these guidelines
            can be modified to work with other operating systems.
        </para>
        <procedure>
            <step>
                <para>
                    Add EPEL to your yum repositories. See: http://fedoraproject.org/wiki/EPEL.
                    EPEL provides some additional packages that we'll refer to later.
                </para>
            </step>
            <step>
                <para>
                    Install the following packages:
                </para>
                <itemizedlist>
                    <listitem>
                        <para>
                            ruby
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            ruby-irb
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            rubygems
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            libselinux-ruby
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            augeas-libs
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            ruby-augeas
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            ruby-shadow
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            rubygem-stomp
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            rubygem-sqlite3-ruby
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            sqlite-devel
                        </para>
                    </listitem>
                </itemizedlist>
            </step>
            <step>
                <para> Remove (if installed) OpenJDK and install a JDK from Sun. &PRODUCTABBR; was
                    developed against the latest stable version 6 JDK. </para>
            </step>
            <step>
                <para>
                    Disable SELinux
                </para>
            </step>
            <step>
                <para>
                    Edit the file <filename>/etc/aliases</filename>, if desired, to redirect email
                    for "root" to a monitored email address or mailing list.
                    Don't forget to run newaliases to update your MTA's alias
                    table.
                </para>
            </step>
            <step>
                <para> Install, configure, and enable ntpd on all hosts. It's very
                    important for the proper functioning of &PRODUCTABBR; for all of the servers
                    system clocks to be in sync with a good common time source. We have found the
                    following values in <filename>/etc/sysctl.conf</filename> to be useful: </para>
                <programlisting><![CDATA[
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.conf.all.log_martians=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.exec-shield = 1
kernel.randomize_va_space = 1
fs.suid.dumpable = 0
                ]]></programlisting>
            </step>
        </procedure>
        <para>
            This document assumes that the Puppet configuration manager will be
            used to apply fine-grained configurations, additional security hardening,
            and post-installation steps.
        </para>
        <procedure>
            <step>
                <para>
                    rpm -ihv http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
                </para>
            </step>
            <step>
                <para>
                    yum update
                </para>
            </step>
            <step>
                <para>
                    yum install ruby ruby-irb rubygems libselinux-ruby facter augeas-libs ruby-augeas ruby-shadow rubygem-stomp puppet git
                </para>
            </step>
            <step>
                <para>
                    Download the Linux x64 (64-bit) RPM from:
                    <link xlink:show="new" xlink:href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html">http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html</link>
                </para>
            </step>
            <step>
                <para>
                    sh jdk-6u31-linux-x64-rpm.bin
                </para>
            </step>
            <step>
                <para>
                    rpm -e java-1.6.0-openjdk
                </para>
            </step>
            <step>
                <para>
                    sed -i -r -e 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
                </para>
            </step>
            <step>
                <para>
                    Edit <filename>/etc/aliases</filename>, uncomment the alias for root, and change
                    it to redirect to <filename>root@example.com</filename>.
                </para>
            </step>
            <step>
                <para>
                    newaliases
                </para>
            </step>
            <step>
                <para>
                    Append the following text to the <filename>/etc/rc.d/rc.local</filename> file:
                </para>
                <programlisting><![CDATA[
# Create & enable 1G of swap space in AWS ephemeral storage
if [ `mount | cut -d " " -f 3 | grep "/mnt" | wc -l` -ne 0 ]; then
  dd if=/dev/zero of=/mnt/swap bs=1M count=1024 > /dev/null 2>&1
  mkswap /mnt/swap > /dev/null 2>&1
  swapon /mnt/swap > /dev/null 2>&1
fi
                ]]></programlisting>
            </step>
            <step>
                <para>
                    chkconfig audited off
                </para>
            </step>
            <step>
                <para>
                    chkconfig autofs off
                </para>
            </step>
            <step>
                <para>
                    chkconfig cups off
                </para>
            </step>
            <step>
                <para>
                    chkconfig ip6tables off
                </para>
            </step>
            <step>
                <para>
                    chkconfig netfs off
                </para>
            </step>
            <step>
                <para>
                    chkconfig puppet on
                </para>
            </step>
            <step>
                <para>
                    chkconfig snmpd on
                </para>
            </step>
            <step>
                <para>
                    chkconfig xinetd off
                </para>
            </step>
            <step>
                <para>
                    mkdir /usr/share/logstash && curl -o /usr/share/logstash/logstash-1.1.0-monolithic.jar http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
                </para>
            </step>
        </procedure>
        <para> It may be sufficient for you to use the vendor-provided Ruby environment. However,
            &PRODUCTABBR; was developed against a more up-to-date revision of Ruby than what was
            included with the RHEL 6.2 operating system product. In order to maintain consistent
            control over the Ruby interpreter used, and all Ruby gems installed, we leveraged RVM
            (http://rvm.io). </para>
        <procedure>
            <step>
                <para>
                    Install RVM. Follow all of the instructions to make sure that the root
                    account and the Rails account (on hosts running Rails) are using rvm.
                </para>
            </step>
            <step>
                <para>
                    rvm install 2.0.0-p353
                </para>
            </step>
            <step>
                <para>
                    rvm --default use 2.0.0-p353
                </para>
            </step>
            <step>
                <para>
                    You may also need to log in as the Rails user, on Rails hosts, and rvm use 2.0.0-p353.
                </para>
            </step>
            <step>
                <para>
                    Install gems for bundler, Rails, and passenger.
                </para>
            </step>
        </procedure>
    </sect1>

    <sect1 xml:id="doc-14312c8b-94bf-4f67-9106-615e5669f248">
        <title>Preparations & Assumptions: Networking</title>
        <para><phrase>
            The following are important assumptions about networking for
            &PRODUCTABBR;. Be sure to take any actions necessary to
            prepare your network:</phrase>
        </para>
        <itemizedlist>
            <listitem>
                <para><phrase>
                    In regards to operating system network architecture,
                    software components require only forward name resolution
                    and IPv4 connectivity. The software has not been tested
                    with IPv6, so IPv6 should be disabled, if possible, in a
                    Production environment.</phrase>
                </para>
            </listitem>
            <listitem>
                <para>
                    No direct connection is needed between the &PRODUCTABBR;
                    identity provider and an education organization's
                    identity provider in order to support end-user
                    authentication. However, the SAML assertion created by the
                    education organization's identity provider must be signed
                    with a certificate that the &PRODUCTABBR; API can trust.
                    This means that the certificate is signed by a trusted
                    Certificate Authority (CA). For more about identity
                    provider deployment, see
                    <xref linkend="doc-e0234334-2b25-4fb8-8eff-64b783f03f7a"/>.

                </para>
            </listitem>
        </itemizedlist>
    </sect1>

    <sect1 xml:id="doc-8a62b484-d50b-4b14-bd40-3375b33bf654">
        <title>Preparations & Assumptions: Security</title>
        <para> This document contains recommendations concerning configurations of the various
            platforms such as RHEL, Tomcat, and others that the &PRODUCTABBR; codebase is built
            upon. These configurations do not necessarily include all the necessary hardening to
            ensure the underlying platform is secure before the deployment of &PRODUCTABBR;. The
            overall configuration and hardening requirements may differ depending on the specifics
            of the operational environment in which the software is deployed. However, industry
            best-practices for the hardening of system components should be adhered to in all cases.  </para>
        <sect2>
            <title>Mitigation of Click-jacking Attempts</title>
            <para>Click-jacking is when attacker creates a transparent iFrame to trick users into
                executing arbitrary actions in the target application.  Because the iFrame is
                transparent, the users may not be aware that they are executing malicious code when
                they click on something which appears to be a normal part of &PRODUCTABBR;. </para>
            <para>Mitigation of click jacking can be done through the X-Frame-Options directive in
                httpd.conf. This header instructs the browser on whether or not delivered content
                can be framed. Options for this header are: SAMEORIGIN, DENY, AND ALLOW-FROM. To accomplish this, the following line should be used:</para>
         <programlisting> <![CDATA[
Header always append X-Frame-Options "Allow-From  \ https://rcportal.slidev.org"
                ]]>
            </programlisting>
            <para>This option (with the correct host name for your environment) should be added to
                every instance of Apache in the environment.<note><para>This option is not supported in all browsers.</para></note></para>
             </sect2>
    </sect1>

    <sect1 xml:id="doc-448c97b6-12ad-465e-941d-6317c59a0606">
        <title><phrase>Preparations and Assumptions: Cookies and Proxying</phrase></title>
        <para>If SSL is terminated at a proxy and traffic to tomcat is via HTTP, then the proxy server must be configured with the <property>X-Forwarded-Proto</property> header so that cookies set to <property>secure=true</property> are not dropped.</para>
    </sect1>

    <sect1 xml:id="doc-6c35d228-cf06-4a56-92b0-d4c0274c1c4e">
        <title>Blocking Web Crawler Indexing</title>
        <para>It isn't always appropriate to allow indexing via public web crawlers. Googlebot is probably the most well known current crawler, but web crawlers (or "spiders") are used by many web search engines. It may be best to block these web crawlers from indexing some pages.</para>

        <para>There are at least three known ways to block web crawlers:</para>

        <sect2>
            <title>Option 1: Robots.txt File</title>
            <para>Create a file called <filename>robots.txt</filename> and put it in the web-root directory. Include the following lines in the file:</para>
            <programlisting><![CDATA[
User-agent: *
Disallow: /
                ]]>
            </programlisting>
            <para>This will block web crawlers that specifically look for <filename>robots.txt</filename>. Historically, only GoogleBot looks for a <filename>robots.txt</filename> file.</para>
        </sect2>

        <sect2>
            <title>Option 2: Noindex Meta Tag</title>
            <para>Include this meta tag in the <head> section of each page that should not be indexed:</para>
            <para><meta name="robots" content="noindex"></para>
            <note><para>While GoogleBot rarely misses a <filename>robots.txt</filename> file, GoogleBot does occasionally miss the noinded meta tag. This seems to happen most often when GoogleBot has navigated to the page via an internal link.</para></note>
        </sect2>

        <sect2>
            <title>Option 3: .htaccess and User Agent Blocking</title>
            <para>In the <filename>.htaccess</filename> file in the top level of the top web directory, place the following lines:</para>
            <programlisting><![CDATA[
BrowserMatchNoCase GoogleBot crawler_blocked
BrowserMatchNoCase Yahoo crawler_blocked
Order Deny,Allow
Deny from env=crawler_blocked
            ]]></programlisting>
            <para>
                In this case, there is a case-less match against the string,
                "GoogleBot" and the string, "Yahoo" in the user agent
                advertised by the browser. Access is denied via the
                <varname>env</varname> variable declared as
                <property>crawler_blocked</property>, which will block every
                user agent string assigned to it above. Note that wildcards
                are not necessary for partial string matching.
            </para>

        <para>For a fairly complete list of crawler user agent strings, please read <link xlink:show="new" xlink:href="http://www.useragentstring.com/pages/Crawlerlist/">http://www.useragentstring.com/pages/Crawlerlist/</link>.</para>

        </sect2>

    </sect1>

    <sect1 xml:id="doc-9d26ba20-412d-4c1b-b1ca-980e1ea7b46f">
        <title>Preparations and Assumptions: Sandbox Mode</title>
        <para>
            &PRODUCTABBR; can be run in two modes:
        </para>
        <itemizedlist>
            <listitem>
                <para>
                    <emphasis role="bold">Production mode</emphasis> is the expected
                    deployment scenario covered in this documentation.
                </para>
            </listitem>
            <listitem>
                <para>
                    <emphasis role="bold">Sandbox mode</emphasis> is used when the
                    &PRODUCTABBR; deployment should serve as a Sandbox and testing
                    environment for developing applications. In Sandbox mode,
                    &PRODUCTABBR; users have abilities they wouldn't typically have
                    Production:
                </para>
                <itemizedlist>
                    <listitem>
                        <para>
                            Users can perform tasks like application registration
                            without requiring an administrator's approval.
                        </para>
                    </listitem>
                    <listitem>
                        <para>
                            Users can also authenticate directly with
                                &PRODUCTABBR; identity provider (SimpleIDP) without relying on
                                integrated authentication with an education organization's directory
                                service. Using this direct authentication, each user can impersonate
                                any user or role in the &PRODUCTABBR; Data Store.
                        </para>
                    </listitem>
                </itemizedlist>
            </listitem>
        </itemizedlist>
        <note>
            <title>Sandbox Tip</title>
            <para>
                If you're deploying &PRODUCTABBR; in Sandbox mode, note the Sandbox-specific
                configuration and tips (like this one) throughout this document.
            </para>
        </note>
    </sect1>
    <sect1 xml:id="doc-40f76ef1-7536-49db-96f0-3686d5c97818">
        <title>Preparation and Assumptions:  Federation of Sandbox with Production for Application Developer Accounts</title>
        <para>Application developers that deploy &PRODUCTABBR; applications utilize a single account
            for accessing both Sandbox and Production.  This is accomplished by federating the
            Sandbox Identity Provider with the &PRODUCTABBR; Production system and allowing
            developers to select the Sandbox Identify Provider from the list of choices presented
            when accessing the system.  If the &PRODUCTABBR; Sandbox instance is not available,
            application developers cannot log in to create, access, edit, or enable Production
            applications. </para>
        <para>The federation of the &PRODUCTABBR; Sandbox and Production instances is accomplished
            via SAML.  The application developer's web browser facilitates passing of SAML messages
            between systems, which does not require direct network communications between the
            Sandbox and Production environment.  The only network topology constraint imposed upon
            the system is for the application developer to be able to access both Sandbox and
            Production environments via HTTPS at the same time. </para>
    </sect1>
    <sect1 xml:id="doc-dbdc4d82-63e7-4357-90aa-c5fef2470db2">
        <title>Preparation and Assumptions:  Sandbox and Production Deployment Version Constraints</title>
        <para>To support the federation of the &PRODUCTABBR; Production and Sandbox instances,
            versions of deployed Production and Sandbox software must be the same to ensure proper
            operation of the system.  To support staggered updates of Production and Sandbox
            systems, attempts will be made to ensure new releases of Sandbox are compatible with the
            latest previous version of the Production environment. Having Sandbox and Production be
            more than one minor release apart, or operating a newer Production system alongside an
            older Sandbox system, is not supported. </para>
    </sect1>

</chapter>


text:
package com.github.yaterz.ctci.cii;

/**
 * @author mattyaterz
 * @since 11/8/14
 */
public class C2TestUtils {
    public static LinkedIntNode asLinkedList( int... array ) {
        LinkedIntNode head = new LinkedIntNode();
        LinkedIntNode current = head;

        for ( int value : array ) {
            current.next = new LinkedIntNode( value );
            current = current.next;
        }

        return head.next;
    }

    public static LinkedIntNode asLoopedList( int loopIndex, int... array ) {
        LinkedIntNode head = new LinkedIntNode();
        LinkedIntNode current = head;
        LinkedIntNode loop = null;

        for ( int i = 0; i < array.length; i++ ) {
            current.next = new LinkedIntNode( array[ i ] );

            if ( i == loopIndex ) {
                loop = current.next;
            }

            current = current.next;
        }

        current.next = loop;
        return head.next;
    }

    public static Object[] asArray( LinkedIntNode node ) {
        if ( node == null ) {
            return new Object[0];
        }

        LinkedIntNode current = node;
        int size = 0;

        while ( current != null ) {
            current = current.next;
            size++;
        }

        Object[] array = new Object[ size ];
        current = node;

        for ( int i = 0; i < size; i++ ) {
            array[ i ] = current.element;
            current = current.next;
        }

        return array;
    }

    public static LinkedIntNode getAtIndex( LinkedIntNode list, int offset ) {
        if ( offset == 0 || list == null ) {
            return list;
        }

        return getAtIndex( list.next, --offset );
    }
}

redpajama_set_name: RedPajamaGithub


text:
#include "ocl/Values/impl/OclVoidValueImpl.hpp"
#ifdef NDEBUG
	#define DEBUG_MESSAGE(a) /**/
#else
	#define DEBUG_MESSAGE(a) a
#endif

#ifdef ACTIVITY_DEBUG_ON
    #define ACT_DEBUG(a) a
#else
    #define ACT_DEBUG(a) /**/
#endif

//#include "util/ProfileCallCount.hpp"

#include <cassert>
#include <iostream>
#include <sstream>

#include "abstractDataTypes/AnyEObject.hpp"
#include "abstractDataTypes/AnyEObjectBag.hpp"
#include "abstractDataTypes/SubsetUnion.hpp"
#include "ecore/EAnnotation.hpp"
#include "ecore/EClass.hpp"
#include "ecore/EAttribute.hpp"
#include "ecore/EStructuralFeature.hpp"
#include "ecore/ecorePackage.hpp"
//Includes from codegen annotation
#include "fUML/fUMLFactory.hpp"
//Forward declaration includes
#include "persistence/interfaces/XLoadHandler.hpp" // used for Persistence
#include "persistence/interfaces/XSaveHandler.hpp" // used for Persistence

#include <exception> // used in Persistence
#include "fUML/Semantics/Values/Value.hpp"
//Factories and Package includes
#include "ocl/oclPackage.hpp"
#include "ocl/Values/ValuesPackage.hpp"
#include "fUML/Semantics/Values/ValuesPackage.hpp"

using namespace ocl::Values;

//*********************************
// Constructor / Destructor
//*********************************
OclVoidValueImpl::OclVoidValueImpl()
{
	/*
	NOTE: Due to virtual inheritance, base class constrcutors may not be called correctly
	*/
}

OclVoidValueImpl::~OclVoidValueImpl()
{
#ifdef SHOW_DELETION
	std::cout << "-------------------------------------------------------------------------------------------------\r\ndelete OclVoidValue "<< this << "\r\n------------------------------------------------------------------------ " << std::endl;
#endif
}

OclVoidValueImpl::OclVoidValueImpl(const OclVoidValueImpl & obj): OclVoidValueImpl()
{
	*this = obj;
}

OclVoidValueImpl& OclVoidValueImpl::operator=(const OclVoidValueImpl & obj)
{
	//call overloaded =Operator for each base class
	fUML::Semantics::Values::ValueImpl::operator=(obj);
	/* TODO: Find out if this call is necessary
	 * Currently, this causes an error because it calls an implicit assignment operator of OclVoidValue
	 * which is generated by the compiler (as OclVoidValue is an abstract class and does not have a user-defined assignment operator).
	 * Implicit compiler-generated assignment operators however only create shallow copies of members,
	 * which implies, that not a real deep copy is created when using the copy()-method.
	 *
	 * NOTE: Since all members are deep-copied by this assignment-operator anyway, why is it even necessary to call this implicit assignment-operator?
	 * This is only done for ecore-models, not for UML-models.
	 */
	//OclVoidValue::operator=(obj);

	//create copy of all Attributes
	#ifdef SHOW_COPIES
	std::cout << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\ncopy OclVoidValue "<< this << "\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " << std::endl;
	#endif
	//Clone Attributes with (deep copy)

	//copy references with no containment (soft copy)
	//Clone references with containment (deep copy)
	return *this;
}

std::shared_ptr<ecore::EObject> OclVoidValueImpl::copy() const
{
	std::shared_ptr<OclVoidValueImpl> element(new OclVoidValueImpl());
	*element =(*this);
	element->setThisOclVoidValuePtr(element);
	return element;
}

//*********************************
// Operations
//*********************************
bool OclVoidValueImpl::equals(std::shared_ptr<fUML::Semantics::Values::Value> otherValue)
{
	//ADD_COUNT(__PRETTY_FUNCTION__)
	//generated from body annotation
	    return otherValue != nullptr && otherValue->eClass()->getClassifierID() == this->eClass()->getClassifierID();

	//end of body
}

std::string OclVoidValueImpl::toString()
{
	//ADD_COUNT(__PRETTY_FUNCTION__)
	//generated from body annotation
	return "";
	//end of body
}

//*********************************
// Attribute Getters & Setters
//*********************************

//*********************************
// Reference Getters & Setters
//*********************************

//*********************************
// Union Getter
//*********************************

//*********************************
// Container Getter
//*********************************
std::shared_ptr<ecore::EObject> OclVoidValueImpl::eContainer() const
{
	return nullptr;
}

//*********************************
// Persistence Functions
//*********************************
void OclVoidValueImpl::load(std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler)
{
	std::map<std::string, std::string> attr_list = loadHandler->getAttributeList();
	loadAttributes(loadHandler, attr_list);

	//
	// Create new objects (from references (containment == true))
	//
	// get oclFactory
	int numNodes = loadHandler->getNumOfChildNodes();
	for(int ii = 0; ii < numNodes; ii++)
	{
		loadNode(loadHandler->getNextNodeName(), loadHandler);
	}
}

void OclVoidValueImpl::loadAttributes(std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler, std::map<std::string, std::string> attr_list)
{

	fUML::Semantics::Values::ValueImpl::loadAttributes(loadHandler, attr_list);
}

void OclVoidValueImpl::loadNode(std::string nodeName, std::shared_ptr<persistence::interfaces::XLoadHandler> loadHandler)
{

	//load BasePackage Nodes
	fUML::Semantics::Values::ValueImpl::loadNode(nodeName, loadHandler);
}

void OclVoidValueImpl::resolveReferences(const int featureID, std::vector<std::shared_ptr<ecore::EObject> > references)
{
	fUML::Semantics::Values::ValueImpl::resolveReferences(featureID, references);
}

void OclVoidValueImpl::save(std::shared_ptr<persistence::interfaces::XSaveHandler> saveHandler) const
{
	saveContent(saveHandler);

	fUML::Semantics::Values::ValueImpl::saveContent(saveHandler);

	fUML::Semantics::Loci::SemanticVisitorImpl::saveContent(saveHandler);

	ecore::EObjectImpl::saveContent(saveHandler);
}

void OclVoidValueImpl::saveContent(std::shared_ptr<persistence::interfaces::XSaveHandler> saveHandler) const
{
	try
	{
		std::shared_ptr<ocl::Values::ValuesPackage> package = ocl::Values::ValuesPackage::eInstance();
	}
	catch (std::exception& e)
	{
		std::cout << "| ERROR    | " << e.what() << std::endl;
	}
}

std::shared_ptr<ecore::EClass> OclVoidValueImpl::eStaticClass() const
{
	return ocl::Values::ValuesPackage::eInstance()->getOclVoidValue_Class();
}

//*********************************
// EStructuralFeature Get/Set/IsSet
//*********************************
Any OclVoidValueImpl::eGet(int featureID, bool resolve, bool coreType) const
{
	switch(featureID)
	{
	}
	return fUML::Semantics::Values::ValueImpl::eGet(featureID, resolve, coreType);
}

bool OclVoidValueImpl::internalEIsSet(int featureID) const
{
	switch(featureID)
	{
	}
	return fUML::Semantics::Values::ValueImpl::internalEIsSet(featureID);
}

bool OclVoidValueImpl::eSet(int featureID, Any newValue)
{
	switch(featureID)
	{
	}

	return fUML::Semantics::Values::ValueImpl::eSet(featureID, newValue);
}

//*********************************
// EOperation Invoke
//*********************************
Any OclVoidValueImpl::eInvoke(int operationID, std::shared_ptr<std::list<Any>> arguments)
{
	Any result;

  	switch(operationID)
	{
		// ocl::Values::OclVoidValue::equals(fUML::Semantics::Values::Value) : bool: 3635156929
		case ValuesPackage::OCLVOIDVALUE_OPERATION_EQUALS_VALUE:
		{
			//Retrieve input parameter 'otherValue'
			//parameter 0
			std::shared_ptr<fUML::Semantics::Values::Value> incoming_param_otherValue;
			std::list<Any>::const_iterator incoming_param_otherValue_arguments_citer = std::next(arguments->begin(), 0);
			incoming_param_otherValue = (*incoming_param_otherValue_arguments_citer)->get<std::shared_ptr<fUML::Semantics::Values::Value> >();
			result = eAny(this->equals(incoming_param_otherValue),0,false);
			break;
		}
		// ocl::Values::OclVoidValue::toString() : std::string: 2031383210
		case ValuesPackage::OCLVOIDVALUE_OPERATION_TOSTRING:
		{
			result = eAny(this->toString(),0,false);
			break;
		}

		default:
		{
			// call superTypes
			result = fUML::Semantics::Values::ValueImpl::eInvoke(operationID, arguments);
			if (result && !result->isEmpty())
				break;
			break;
		}
  	}

	return result;
}

std::shared_ptr<ocl::Values::OclVoidValue> OclVoidValueImpl::getThisOclVoidValuePtr() const
{
	return m_thisOclVoidValuePtr.lock();
}
void OclVoidValueImpl::setThisOclVoidValuePtr(std::weak_ptr<ocl::Values::OclVoidValue> thisOclVoidValuePtr)
{
	m_thisOclVoidValuePtr = thisOclVoidValuePtr;
	setThisValuePtr(thisOclVoidValuePtr);
}


text:
/**
 * @file tr.c   Report on the clock resolution for the given machine.
 * @brief
 *
 *   Small example to access clock resolution information for both
 *   millisecond and nanosecond timers.
 *
 * @author George Heineman
 * @date 6/15/08
 */

#include <stdio.h>
#include <time.h>
#include <sys/time.h>

int main(int argc, char **argv) {
#ifdef __USE_POSIX199309
  int i;
  struct timespec N;

  i = clock_getres(CLOCK_REALTIME, &N);
  if (i == 0)
    printf("Resolution is %ld seconds and  %ld nanoseconds for CLOCK_REALTIME \n",N.tv_sec, N.tv_nsec);
  i = clock_getres(CLOCK_PROCESS_CPUTIME_ID, &N);
  if (i == 0)
    printf("Resolution is %ld seconds and  %ld nanoseconds for CLOCK_PROCESS_CPUTIME_ID\n",N.tv_sec, N.tv_nsec);
  i = clock_getres(CLOCK_THREAD_CPUTIME_ID, &N);
  if (i == 0)
    printf("Resolution is %ld seconds and  %ld nanoseconds for CLOCK_THREAD_CPU_TIME_ID\n",N.tv_sec, N.tv_nsec);
  i = clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &N);
  if (i == 0)
    printf("Elapsed time is %ld seconds and  %ld nanoseconds\n",N.tv_sec, N.tv_nsec);
#else
  printf ("POSIX timing not implemented on this machine.");
#endif

  return 0;
}


text:
class BaseItem(object):

    def __init__(self):
        super(BaseItem, self).__init__()


text:
package dao.basedao;

import models.IModel;
import models.ISlaveModel;

import java.util.List;

/**
 * Created by zhaoyipc on 2017/3/3.
 */
public interface ISlaveDao<T extends IModel,S extends ISlaveModel> extends IDao<T>{
    /**
     *
     * @param t 主表
     * @return 返回从表list集合
     */
    List<S> getSlaveTableListByMasterId(T t);
}


text:
<?php

declare(strict_types = 1);

namespace Rx\Exception;

class Exception extends \Exception
{
}


text:
package org.apache.camel.builder.component;

import org.apache.camel.ContextTestSupport;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.kafka.KafkaComponent;
import org.apache.camel.component.kafka.KafkaConfiguration;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.timer.TimerComponent;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class ComponentsBuilderFactoryTest extends ContextTestSupport {

    @Test
    public void testIfCreateComponentCorrectlyWithoutContextProvided() {
        final TimerComponent timerComponent = ComponentsBuilderFactory.timer().build();
        assertNotNull(timerComponent);
    }

    @Test
    public void testNegativeDelay() throws Exception {
        final MockEndpoint mock = getMockEndpoint("mock:result");
        mock.expectedMessageCount(10);

        context.getRouteController().startAllRoutes();

        assertMockEndpointsSatisfied();
    }

    @Test
    public void testIfResolvePlaceholdersCorrectly() {
        context.getPropertiesComponent().setLocation("classpath:application.properties");

        final KafkaComponent kafkaComponent = ComponentsBuilderFactory.kafka()
                .brokers("{{kafka.host}}:{{kafka.port}}")
                .build(context);

        assertNotNull(kafkaComponent.getConfiguration());
        assertEquals("localhost:9092", kafkaComponent.getConfiguration().getBrokers());
    }

    @Test
    public void testIfSetsSettingsCorrectly() {
        final KafkaConfiguration kafkaConfiguration = new KafkaConfiguration();
        kafkaConfiguration.setGroupId("testGroup");
        kafkaConfiguration.setConsumerRequestTimeoutMs(5000);
        kafkaConfiguration.setBrokers("localhost:9092");

        final KafkaComponent kafkaComponent = ComponentsBuilderFactory.kafka()
                .configuration(kafkaConfiguration)
                .allowManualCommit(true)
                .build();

        assertNotNull(kafkaComponent);

        assertEquals("localhost:9092", kafkaComponent.getConfiguration().getBrokers());
        assertTrue(kafkaComponent.getConfiguration().isAllowManualCommit());

        assertEquals("testGroup", kafkaComponent.getConfiguration().getGroupId());
        assertEquals(5000, kafkaComponent.getConfiguration().getConsumerRequestTimeoutMs().intValue());
    }

    @Override
    protected RouteBuilder createRouteBuilder() {
        return new RouteBuilder() {
            @Override
            public void configure() throws Exception {
                ComponentsBuilderFactory.timer().register(context, "awesomeTimer");

                from("awesomeTimer:foo?delay=-1&repeatCount=10")
                        .to("mock:result");
            }
        };
    }
}


text:
class IInputEventAcceptor;
namespace sdl
{
// Совершает диспетчеризацию событий SDL по категориям.
void DispatchEvent(const SDL_Event & event, IInputEventAcceptor & acceptor);
}

// Принимает события SDL, разделённые по категориям.
// Деление условное и может быть изменено.
class IInputEventAcceptor
{
public:
    virtual ~IInputEventAcceptor() = default;

    virtual void OnMouseUp(const SDL_MouseButtonEvent &) {}
    virtual void OnMouseDown(const SDL_MouseButtonEvent &) {}
    virtual void OnMouseMotion(const SDL_MouseMotionEvent &) {}
    virtual void OnMouseWheel(const SDL_MouseWheelEvent &) {}
    virtual void OnKeyDown(const SDL_KeyboardEvent &) {}
    virtual void OnKeyUp(const SDL_KeyboardEvent &) {}
};

// Окно, совершающее диспетчеризацию событий SDL
class CAbstractInputControlWindow
        : public CAbstractWindow
        , public IInputEventAcceptor
{
protected:
    void OnWindowEvent(const SDL_Event &event) final
    {
        sdl::DispatchEvent(event, *this);
    }
};


text:
<!DOCTYPE html>

    <meta charset="UTF-8">
    <title>Kinect2 Example</title>
    <link rel="stylesheet" href="../assets/vendors/bootstrap-4.3.1-dist/css/bootstrap.css">
    <link rel="stylesheet" href="../assets/vendors/bootstrap-4.3.1-dist/css/docs.min.css">

Greenkey

      <button onclick="require('electron').remote.getCurrentWebContents().openDevTools()">open dev tools</button>

      This demo shows a color cutout of the detected bodies in an html canvas element.

    <canvas id="outputCanvas" width="1920" height="1080" class="img-fluid"></canvas>


text:
/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.kakao.sdk;

public final class R {
    public static final class array {
        public static int com_kakao_accounts_array=0x7f0a0000;
    }
    public static final class attr {
        /**
    The size of the ad. It must be one of BANNER, FULL_BANNER, LEADERBOARD,
    MEDIUM_RECTANGLE, SMART_BANNER, WIDE_SKYSCRAPER, or
    <width>x<height>.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int adSize=0x7f010000;
        /**
    A comma-separated list of the supported ad sizes. The sizes must be one of
    BANNER, FULL_BANNER, LEADERBOARD, MEDIUM_RECTANGLE, SMART_BANNER,
    WIDE_SKYSCRAPER, or <width>x<height>.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int adSizes=0x7f010001;
        /**  The ad unit ID.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int adUnitId=0x7f010002;
        /**  Appearance of the buy button. Must be one of "classic", "grayscale" and "monochrome"

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

classic	1

grayscale	2

monochrome	3

         */
        public static int buyButtonAppearance=0x7f010018;
        /**  Height of the buy button. This includes an 8dp padding (4dp on each side) used for
             pressed and focused states of the button. The value can be a specific height, e.g.
             "48dp", or special values "match_parent" and "wrap_content".

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

May be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

match_parent	-1

wrap_content	-2

         */
        public static int buyButtonHeight=0x7f010015;
        /**  Text on the buy button. Must be one of "buy_with_google", "buy_now" and "book_now"

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

buy_with_google	1

buy_now	2

book_now	3

         */
        public static int buyButtonText=0x7f010017;
        /**  Width of the buy button. This includes an 8dp padding (4dp on each side) used for
             pressed and focused states of the button. The value can be a specific width, e.g.
             "300dp", or special values "match_parent" and "wrap_content".

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

May be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

match_parent	-1

wrap_content	-2

         */
        public static int buyButtonWidth=0x7f010016;
        /**
Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int cameraBearing=0x7f010004;
        /**
Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int cameraTargetLat=0x7f010005;
        /**
Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int cameraTargetLng=0x7f010006;
        /**
Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int cameraTilt=0x7f010007;
        /**
Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int cameraZoom=0x7f010008;
        /**  Google Wallet environment to use

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

production	1

sandbox	0

strict_sandbox	2

         */
        public static int environment=0x7f010012;
        /**  Fragment mode

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

buyButton	1

selectionDetails	2

         */
        public static int fragmentMode=0x7f010014;
        /**  A style resource specifing attributes to customize the look and feel of WalletFragment

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
         */
        public static int fragmentStyle=0x7f010013;
        /**
Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

none	0

normal	1

satellite	2

terrain	3

hybrid	4

         */
        public static int mapType=0x7f010003;
        /**  Masked wallet details background

May be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
         */
        public static int maskedWalletDetailsBackground=0x7f01001b;
        /**  "Change" button background in masked wallet details view

May be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".
         */
        public static int maskedWalletDetailsButtonBackground=0x7f01001d;
        /**  TextAppearance for the "Change" button in masked wallet details view

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
         */
        public static int maskedWalletDetailsButtonTextAppearance=0x7f01001c;
        /**  TextAppearance for headers describing masked wallet details

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
         */
        public static int maskedWalletDetailsHeaderTextAppearance=0x7f01001a;
        /**  Type of the wallet logo image in masked wallet details view

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

classic	1

monochrome	2

         */
        public static int maskedWalletDetailsLogoImageType=0x7f01001f;
        /**  Color of the Google Wallet logo text in masked wallet details view

Must be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int maskedWalletDetailsLogoTextColor=0x7f01001e;
        /**  TextAppearance for masked wallet details

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".
         */
        public static int maskedWalletDetailsTextAppearance=0x7f010019;
        /**  Theme to be used for the Wallet selector

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

holo_dark	0

holo_light	1

         */
        public static int theme=0x7f010011;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiCompass=0x7f010009;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiRotateGestures=0x7f01000a;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiScrollGestures=0x7f01000b;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiTiltGestures=0x7f01000c;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiZoomControls=0x7f01000d;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int uiZoomGestures=0x7f01000e;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int useViewLifecycle=0x7f01000f;
        /**
Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
         */
        public static int zOrderOnTop=0x7f010010;
    }
    public static final class color {
        public static int com_kakao_account_button_background=0x7f050019;
        public static int com_kakao_brown=0x7f050017;
        public static int com_kakao_button_background_press=0x7f05001b;
        public static int com_kakao_button_text_press=0x7f050018;
        public static int com_kakao_cancel_button_background=0x7f05001a;
        public static int common_action_bar_splitter=0x7f050009;
        /**  Sign-in Button Colors
         */
        public static int common_signin_btn_dark_text_default=0x7f050000;
        public static int common_signin_btn_dark_text_disabled=0x7f050002;
        public static int common_signin_btn_dark_text_focused=0x7f050003;
        public static int common_signin_btn_dark_text_pressed=0x7f050001;
        public static int common_signin_btn_default_background=0x7f050008;
        public static int common_signin_btn_light_text_default=0x7f050004;
        public static int common_signin_btn_light_text_disabled=0x7f050006;
        public static int common_signin_btn_light_text_focused=0x7f050007;
        public static int common_signin_btn_light_text_pressed=0x7f050005;
        public static int common_signin_btn_text_dark=0x7f05001c;
        public static int common_signin_btn_text_light=0x7f05001d;
        public static int wallet_bright_foreground_disabled_holo_light=0x7f05000f;
        /**
         Wallet colors to support consistent Wallet fragment holo dark UI in client application
         regardless of the theme and device type

         */
        public static int wallet_bright_foreground_holo_dark=0x7f05000a;
        public static int wallet_bright_foreground_holo_light=0x7f050010;
        public static int wallet_dim_foreground_disabled_holo_dark=0x7f05000c;
        public static int wallet_dim_foreground_holo_dark=0x7f05000b;
        public static int wallet_dim_foreground_inverse_disabled_holo_dark=0x7f05000e;
        public static int wallet_dim_foreground_inverse_holo_dark=0x7f05000d;
        public static int wallet_highlighted_text_holo_dark=0x7f050014;
        public static int wallet_highlighted_text_holo_light=0x7f050013;
        public static int wallet_hint_foreground_holo_dark=0x7f050012;
        public static int wallet_hint_foreground_holo_light=0x7f050011;
        public static int wallet_holo_blue_light=0x7f050015;
        public static int wallet_link_text_light=0x7f050016;
        public static int wallet_primary_text_holo_light=0x7f05001e;
        public static int wallet_secondary_text_holo_dark=0x7f05001f;
    }
    public static final class dimen {
        public static int com_kakao_padding=0x7f090002;
        public static int com_kakao_profile_property_margin=0x7f090000;
        public static int com_kakao_profile_property_text=0x7f090001;
    }
    public static final class drawable {
        public static int common_signin_btn_icon_dark=0x7f020000;
        public static int common_signin_btn_icon_disabled_dark=0x7f020001;
        public static int common_signin_btn_icon_disabled_focus_dark=0x7f020002;
        public static int common_signin_btn_icon_disabled_focus_light=0x7f020003;
        public static int common_signin_btn_icon_disabled_light=0x7f020004;
        public static int common_signin_btn_icon_focus_dark=0x7f020005;
        public static int common_signin_btn_icon_focus_light=0x7f020006;
        public static int common_signin_btn_icon_light=0x7f020007;
        public static int common_signin_btn_icon_normal_dark=0x7f020008;
        public static int common_signin_btn_icon_normal_light=0x7f020009;
        public static int common_signin_btn_icon_pressed_dark=0x7f02000a;
        public static int common_signin_btn_icon_pressed_light=0x7f02000b;
        public static int common_signin_btn_text_dark=0x7f02000c;
        public static int common_signin_btn_text_disabled_dark=0x7f02000d;
        public static int common_signin_btn_text_disabled_focus_dark=0x7f02000e;
        public static int common_signin_btn_text_disabled_focus_light=0x7f02000f;
        public static int common_signin_btn_text_disabled_light=0x7f020010;
        public static int common_signin_btn_text_focus_dark=0x7f020011;
        public static int common_signin_btn_text_focus_light=0x7f020012;
        public static int common_signin_btn_text_light=0x7f020013;
        public static int common_signin_btn_text_normal_dark=0x7f020014;
        public static int common_signin_btn_text_normal_light=0x7f020015;
        public static int common_signin_btn_text_pressed_dark=0x7f020016;
        public static int common_signin_btn_text_pressed_light=0x7f020017;
        public static int ic_plusone_medium_off_client=0x7f020018;
        public static int ic_plusone_small_off_client=0x7f020019;
        public static int ic_plusone_standard_off_client=0x7f02001a;
        public static int ic_plusone_tall_off_client=0x7f02001b;
        public static int kakao_account_button_background=0x7f02001c;
        public static int kakao_account_logo=0x7f02001d;
        public static int kakao_cancel_button_background=0x7f02001e;
        public static int kakao_close_button=0x7f02001f;
        public static int kakao_default_profile_image=0x7f020020;
        public static int kakao_editable_profile=0x7f020021;
        public static int kakao_login_bar=0x7f020022;
        public static int kakao_login_button_background=0x7f020023;
        public static int kakao_login_symbol=0x7f020024;
        public static int kakao_profile_boxbg=0x7f020025;
        public static int kakaoaccount_icon=0x7f020026;
        public static int kakaostory_icon=0x7f020027;
        public static int kakaotalk_icon=0x7f020028;
        public static int powered_by_google_dark=0x7f020029;
        public static int powered_by_google_light=0x7f02002a;
    }
    public static final class id {
        public static int book_now=0x7f070010;
        public static int buyButton=0x7f07000a;
        public static int buy_now=0x7f07000f;
        public static int buy_with_google=0x7f07000e;
        public static int classic=0x7f070011;
        public static int grayscale=0x7f070012;
        public static int holo_dark=0x7f070005;
        public static int holo_light=0x7f070006;
        public static int hybrid=0x7f070004;
        public static int kakao_login_activity_progress_bar=0x7f070014;
        public static int match_parent=0x7f07000c;
        public static int monochrome=0x7f070013;
        public static int none=0x7f070000;
        public static int normal=0x7f070001;
        public static int production=0x7f070007;
        public static int sandbox=0x7f070008;
        public static int satellite=0x7f070002;
        public static int selectionDetails=0x7f07000b;
        public static int strict_sandbox=0x7f070009;
        public static int terrain=0x7f070003;
        public static int wrap_content=0x7f07000d;
    }
    public static final class integer {
        public static int google_play_services_version=0x7f080000;
    }
    public static final class layout {
        public static int kakao_internal_login_activity=0x7f030000;
        public static int kakao_login_layout=0x7f030001;
    }
    public static final class string {
        public static int com_kakao_account_cancel=0x7f060027;
        /**  for kakaolink
 for kakaolink
         */
        public static int com_kakao_alert_appKey=0x7f060028;
        public static int com_kakao_alert_install_kakaotalk=0x7f060029;
        public static int com_kakao_cancel_button=0x7f06001f;
        public static int com_kakao_confirm_logout=0x7f06001d;
        public static int com_kakao_confirm_unlink=0x7f060021;
        public static int com_kakao_kakaostory_account=0x7f060025;
        public static int com_kakao_kakaotalk_account=0x7f060024;
        /**  for usermgmt
 for usermgmt
         */
        public static int com_kakao_login_button=0x7f06001b;
        public static int com_kakao_logout_button=0x7f06001c;
        public static int com_kakao_ok_button=0x7f06001e;
        public static int com_kakao_other_kakaoaccount=0x7f060026;
        public static int com_kakao_profile_nickname=0x7f060022;
        public static int com_kakao_profile_userId=0x7f060023;
        public static int com_kakao_unlink_button=0x7f060020;
        /**  Button in confirmation dialog to enable Google Play services.  Clicking it
        will direct user to application settings of Google Play services where they
        can enable it [CHAR LIMIT=40]
         */
        public static int common_google_play_services_enable_button=0x7f06000b;
        /**  Message in confirmation dialog informing user they need to enable
        Google Play services in application settings [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_enable_text=0x7f06000a;
        /**  Title of confirmation dialog informing user they need to enable
        Google Play services in application settings [CHAR LIMIT=40]
         */
        public static int common_google_play_services_enable_title=0x7f060009;
        /**   Requested by string saying which app requested the notification. [CHAR LIMIT=42]
         */
        public static int common_google_play_services_error_notification_requested_by_msg=0x7f060004;
        /**  Button in confirmation dialog for installing Google Play services [CHAR LIMIT=40]
         */
        public static int common_google_play_services_install_button=0x7f060008;
        /**  (For phones) Message in confirmation dialog informing user that
        they need to install Google Play services (from Play Store) [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_install_text_phone=0x7f060006;
        /**  (For tablets) Message in confirmation dialog informing user that
        they need to install Google Play services (from Play Store) [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_install_text_tablet=0x7f060007;
        /**  Title of confirmation dialog informing user that they need to install
        Google Play services (from Play Store) [CHAR LIMIT=40]
         */
        public static int common_google_play_services_install_title=0x7f060005;
        /**  Message in confirmation dialog informing the user that they provided an invalid account. [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_invalid_account_text=0x7f060011;
        /**  Title of confirmation dialog informing the user that they provided an invalid account. [CHAR LIMIT=40]
         */
        public static int common_google_play_services_invalid_account_title=0x7f060010;
        /**   Title for notification shown when GooglePlayServices needs to be enabled for an
        application to work. [CHAR LIMIT=70]
         */
        public static int common_google_play_services_needs_enabling_title=0x7f060003;
        /**  Message in confirmation dialog informing the user that a network error occurred. [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_network_error_text=0x7f06000f;
        /**  Title of confirmation dialog informing the user that a network error occurred. [CHAR LIMIT=40]
         */
        public static int common_google_play_services_network_error_title=0x7f06000e;
        /**   Title for notification shown when GooglePlayServices needs to be installed
        for an application to work. [CHAR LIMIT=70]
         */
        public static int common_google_play_services_notification_needs_installation_title=0x7f060001;
        /**   Title for notification shown when GooglePlayServices needs to be updated for an
        application to work. [CHAR LIMIT=70]
         */
        public static int common_google_play_services_notification_needs_update_title=0x7f060002;
        /**   Title for notification shown when GooglePlayServices is unavailable [CHAR LIMIT=42]
         */
        public static int common_google_play_services_notification_ticker=0x7f060000;
        /**  Message in confirmation dialog informing user there is an unknown issue in Google Play
        services [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_unknown_issue=0x7f060012;
        /**  Message in confirmation dialog informing user that date on the device is not correct,
    causing certificate checks to fail. [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_unsupported_date_text=0x7f060015;
        /**  Message in confirmation dialog informing user that Google Play services is not supported on their device [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_unsupported_text=0x7f060014;
        /**  Title of confirmation dialog informing user that Google Play services is not supported on their device [CHAR LIMIT=40]
         */
        public static int common_google_play_services_unsupported_title=0x7f060013;
        /**  Button in confirmation dialog for updating Google Play services [CHAR LIMIT=40]
         */
        public static int common_google_play_services_update_button=0x7f060016;
        /**  Message in confirmation dialog informing user that they need to update
        Google Play services (from Play Store) [CHAR LIMIT=NONE]
         */
        public static int common_google_play_services_update_text=0x7f06000d;
        /**  Title of confirmation dialog informing user that they need to update
        Google Play services (from Play Store) [CHAR LIMIT=40]
         */
        public static int common_google_play_services_update_title=0x7f06000c;
        /**  Sign-in button text [CHAR LIMIT=15]
         */
        public static int common_signin_button_text=0x7f060017;
        /**  Long form sign-in button text [CHAR LIMIT=30]
         */
        public static int common_signin_button_text_long=0x7f060018;
        public static int core_com_kakao_sdk_loading=0x7f06001a;
        /**  Text on a placeholder buy button when Google Play services is not
         available or up-to-date
         */
        public static int wallet_buy_button_place_holder=0x7f060019;
    }
    public static final class style {
        public static int Theme_IAPTheme=0x7f040000;
        public static int WalletFragmentDefaultButtonTextAppearance=0x7f040003;
        public static int WalletFragmentDefaultDetailsHeaderTextAppearance=0x7f040002;
        public static int WalletFragmentDefaultDetailsTextAppearance=0x7f040001;
        /**
         Default style of the wallet fragment that will be used if not set explicitly
         when fragment is created

         */
        public static int WalletFragmentDefaultStyle=0x7f040004;
    }
    public static final class styleable {
        /** Attributes that can be used with a AdsAttrs.

Includes the following attributes:

           <colgroup align="left" />
           <colgroup align="left" />

Attribute	Description

{@link #AdsAttrs_adSize com.kakao.sdk:adSize}
    The size of the ad.

{@link #AdsAttrs_adSizes com.kakao.sdk:adSizes}
    A comma-separated list of the supported ad sizes.

{@link #AdsAttrs_adUnitId com.kakao.sdk:adUnitId}	 The ad unit ID.

           @see #AdsAttrs_adSize
           @see #AdsAttrs_adSizes
           @see #AdsAttrs_adUnitId
         */
        public static final int[] AdsAttrs = {
            0x7f010000, 0x7f010001, 0x7f010002
        };
        /**

          @attr description

    The size of the ad. It must be one of BANNER, FULL_BANNER, LEADERBOARD,
    MEDIUM_RECTANGLE, SMART_BANNER, WIDE_SKYSCRAPER, or
    <width>x<height>.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

This is a private symbol.
          @attr name com.kakao.sdk:adSize
        */
        public static final int AdsAttrs_adSize = 0;
        /**

          @attr description

    A comma-separated list of the supported ad sizes. The sizes must be one of
    BANNER, FULL_BANNER, LEADERBOARD, MEDIUM_RECTANGLE, SMART_BANNER,
    WIDE_SKYSCRAPER, or <width>x<height>.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

This is a private symbol.
          @attr name com.kakao.sdk:adSizes
        */
        public static final int AdsAttrs_adSizes = 1;
        /**

          @attr description
           The ad unit ID.

Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

This is a private symbol.
          @attr name com.kakao.sdk:adUnitId
        */
        public static final int AdsAttrs_adUnitId = 2;
        /** Attributes that can be used with a MapAttrs.

Includes the following attributes:

           <colgroup align="left" />
           <colgroup align="left" />

Attribute	Description

{@link #MapAttrs_cameraBearing com.kakao.sdk:cameraBearing}

{@link #MapAttrs_cameraTargetLat com.kakao.sdk:cameraTargetLat}

{@link #MapAttrs_cameraTargetLng com.kakao.sdk:cameraTargetLng}

{@link #MapAttrs_cameraTilt com.kakao.sdk:cameraTilt}

{@link #MapAttrs_cameraZoom com.kakao.sdk:cameraZoom}

{@link #MapAttrs_mapType com.kakao.sdk:mapType}

{@link #MapAttrs_uiCompass com.kakao.sdk:uiCompass}

{@link #MapAttrs_uiRotateGestures com.kakao.sdk:uiRotateGestures}

{@link #MapAttrs_uiScrollGestures com.kakao.sdk:uiScrollGestures}

{@link #MapAttrs_uiTiltGestures com.kakao.sdk:uiTiltGestures}

{@link #MapAttrs_uiZoomControls com.kakao.sdk:uiZoomControls}

{@link #MapAttrs_uiZoomGestures com.kakao.sdk:uiZoomGestures}

{@link #MapAttrs_useViewLifecycle com.kakao.sdk:useViewLifecycle}

{@link #MapAttrs_zOrderOnTop com.kakao.sdk:zOrderOnTop}

           @see #MapAttrs_cameraBearing
           @see #MapAttrs_cameraTargetLat
           @see #MapAttrs_cameraTargetLng
           @see #MapAttrs_cameraTilt
           @see #MapAttrs_cameraZoom
           @see #MapAttrs_mapType
           @see #MapAttrs_uiCompass
           @see #MapAttrs_uiRotateGestures
           @see #MapAttrs_uiScrollGestures
           @see #MapAttrs_uiTiltGestures
           @see #MapAttrs_uiZoomControls
           @see #MapAttrs_uiZoomGestures
           @see #MapAttrs_useViewLifecycle
           @see #MapAttrs_zOrderOnTop
         */
        public static final int[] MapAttrs = {
            0x7f010003, 0x7f010004, 0x7f010005, 0x7f010006,
            0x7f010007, 0x7f010008, 0x7f010009, 0x7f01000a,
            0x7f01000b, 0x7f01000c, 0x7f01000d, 0x7f01000e,
            0x7f01000f, 0x7f010010
        };
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#cameraBearing}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:cameraBearing
        */
        public static final int MapAttrs_cameraBearing = 1;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#cameraTargetLat}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:cameraTargetLat
        */
        public static final int MapAttrs_cameraTargetLat = 2;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#cameraTargetLng}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:cameraTargetLng
        */
        public static final int MapAttrs_cameraTargetLng = 3;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#cameraTilt}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:cameraTilt
        */
        public static final int MapAttrs_cameraTilt = 4;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#cameraZoom}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a floating point value, such as "1.2".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:cameraZoom
        */
        public static final int MapAttrs_cameraZoom = 5;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#mapType}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

none	0

normal	1

satellite	2

terrain	3

hybrid	4

          @attr name com.kakao.sdk:mapType
        */
        public static final int MapAttrs_mapType = 0;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiCompass}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiCompass
        */
        public static final int MapAttrs_uiCompass = 6;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiRotateGestures}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiRotateGestures
        */
        public static final int MapAttrs_uiRotateGestures = 7;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiScrollGestures}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiScrollGestures
        */
        public static final int MapAttrs_uiScrollGestures = 8;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiTiltGestures}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiTiltGestures
        */
        public static final int MapAttrs_uiTiltGestures = 9;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiZoomControls}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiZoomControls
        */
        public static final int MapAttrs_uiZoomControls = 10;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#uiZoomGestures}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:uiZoomGestures
        */
        public static final int MapAttrs_uiZoomGestures = 11;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#useViewLifecycle}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:useViewLifecycle
        */
        public static final int MapAttrs_useViewLifecycle = 12;
        /**

This symbol is the offset where the {@link com.kakao.sdk.R.attr#zOrderOnTop}
          attribute's value can be found in the {@link #MapAttrs} array.

Must be a boolean value, either "true" or "false".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.
          @attr name com.kakao.sdk:zOrderOnTop
        */
        public static final int MapAttrs_zOrderOnTop = 13;
        /**  Attributes for the WalletFragment <fragment> tag

Includes the following attributes:

           <colgroup align="left" />
           <colgroup align="left" />

Attribute	Description

{@link #WalletFragmentOptions_environment com.kakao.sdk:environment}	 Google Wallet environment to use

{@link #WalletFragmentOptions_fragmentMode com.kakao.sdk:fragmentMode}	 Fragment mode

{@link #WalletFragmentOptions_fragmentStyle com.kakao.sdk:fragmentStyle}	 A style resource specifing attributes to customize the look and feel of WalletFragment

{@link #WalletFragmentOptions_theme com.kakao.sdk:theme}	 Theme to be used for the Wallet selector

           @see #WalletFragmentOptions_environment
           @see #WalletFragmentOptions_fragmentMode
           @see #WalletFragmentOptions_fragmentStyle
           @see #WalletFragmentOptions_theme
         */
        public static final int[] WalletFragmentOptions = {
            0x7f010011, 0x7f010012, 0x7f010013, 0x7f010014
        };
        /**

          @attr description
           Google Wallet environment to use

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

production	1

sandbox	0

strict_sandbox	2

This is a private symbol.
          @attr name com.kakao.sdk:environment
        */
        public static final int WalletFragmentOptions_environment = 1;
        /**

          @attr description
           Fragment mode

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

buyButton	1

selectionDetails	2

This is a private symbol.
          @attr name com.kakao.sdk:fragmentMode
        */
        public static final int WalletFragmentOptions_fragmentMode = 3;
        /**

          @attr description
           A style resource specifing attributes to customize the look and feel of WalletFragment

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol.
          @attr name com.kakao.sdk:fragmentStyle
        */
        public static final int WalletFragmentOptions_fragmentStyle = 2;
        /**

          @attr description
           Theme to be used for the Wallet selector

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

holo_dark	0

holo_light	1

This is a private symbol.
          @attr name com.kakao.sdk:theme
        */
        public static final int WalletFragmentOptions_theme = 0;
        /**  Attributes that may be specified in a style resource to customize the look and feel of
         WalletFragment

Includes the following attributes:

           <colgroup align="left" />
           <colgroup align="left" />

Attribute	Description

{@link #WalletFragmentStyle_buyButtonAppearance com.kakao.sdk:buyButtonAppearance}	 Appearance of the buy button.

{@link #WalletFragmentStyle_buyButtonHeight com.kakao.sdk:buyButtonHeight}	 Height of the buy button.

{@link #WalletFragmentStyle_buyButtonText com.kakao.sdk:buyButtonText}	 Text on the buy button.

{@link #WalletFragmentStyle_buyButtonWidth com.kakao.sdk:buyButtonWidth}	 Width of the buy button.

{@link #WalletFragmentStyle_maskedWalletDetailsBackground com.kakao.sdk:maskedWalletDetailsBackground}	 Masked wallet details background

{@link #WalletFragmentStyle_maskedWalletDetailsButtonBackground com.kakao.sdk:maskedWalletDetailsButtonBackground}	 "Change" button background in masked wallet details view

{@link #WalletFragmentStyle_maskedWalletDetailsButtonTextAppearance com.kakao.sdk:maskedWalletDetailsButtonTextAppearance}	 TextAppearance for the "Change" button in masked wallet details view

{@link #WalletFragmentStyle_maskedWalletDetailsHeaderTextAppearance com.kakao.sdk:maskedWalletDetailsHeaderTextAppearance}	 TextAppearance for headers describing masked wallet details

{@link #WalletFragmentStyle_maskedWalletDetailsLogoImageType com.kakao.sdk:maskedWalletDetailsLogoImageType}	 Type of the wallet logo image in masked wallet details view

{@link #WalletFragmentStyle_maskedWalletDetailsLogoTextColor com.kakao.sdk:maskedWalletDetailsLogoTextColor}	 Color of the Google Wallet logo text in masked wallet details view

{@link #WalletFragmentStyle_maskedWalletDetailsTextAppearance com.kakao.sdk:maskedWalletDetailsTextAppearance}	 TextAppearance for masked wallet details

           @see #WalletFragmentStyle_buyButtonAppearance
           @see #WalletFragmentStyle_buyButtonHeight
           @see #WalletFragmentStyle_buyButtonText
           @see #WalletFragmentStyle_buyButtonWidth
           @see #WalletFragmentStyle_maskedWalletDetailsBackground
           @see #WalletFragmentStyle_maskedWalletDetailsButtonBackground
           @see #WalletFragmentStyle_maskedWalletDetailsButtonTextAppearance
           @see #WalletFragmentStyle_maskedWalletDetailsHeaderTextAppearance
           @see #WalletFragmentStyle_maskedWalletDetailsLogoImageType
           @see #WalletFragmentStyle_maskedWalletDetailsLogoTextColor
           @see #WalletFragmentStyle_maskedWalletDetailsTextAppearance
         */
        public static final int[] WalletFragmentStyle = {
            0x7f010015, 0x7f010016, 0x7f010017, 0x7f010018,
            0x7f010019, 0x7f01001a, 0x7f01001b, 0x7f01001c,
            0x7f01001d, 0x7f01001e, 0x7f01001f
        };
        /**

          @attr description
           Appearance of the buy button. Must be one of "classic", "grayscale" and "monochrome"

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

classic	1

grayscale	2

monochrome	3

This is a private symbol.
          @attr name com.kakao.sdk:buyButtonAppearance
        */
        public static final int WalletFragmentStyle_buyButtonAppearance = 3;
        /**

          @attr description
           Height of the buy button. This includes an 8dp padding (4dp on each side) used for
             pressed and focused states of the button. The value can be a specific height, e.g.
             "48dp", or special values "match_parent" and "wrap_content".

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

May be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

match_parent	-1

wrap_content	-2

This is a private symbol.
          @attr name com.kakao.sdk:buyButtonHeight
        */
        public static final int WalletFragmentStyle_buyButtonHeight = 0;
        /**

          @attr description
           Text on the buy button. Must be one of "buy_with_google", "buy_now" and "book_now"

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

buy_with_google	1

buy_now	2

book_now	3

This is a private symbol.
          @attr name com.kakao.sdk:buyButtonText
        */
        public static final int WalletFragmentStyle_buyButtonText = 2;
        /**

          @attr description
           Width of the buy button. This includes an 8dp padding (4dp on each side) used for
             pressed and focused states of the button. The value can be a specific width, e.g.
             "300dp", or special values "match_parent" and "wrap_content".

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

May be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

match_parent	-1

wrap_content	-2

This is a private symbol.
          @attr name com.kakao.sdk:buyButtonWidth
        */
        public static final int WalletFragmentStyle_buyButtonWidth = 1;
        /**

          @attr description
           Masked wallet details background

May be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsBackground
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsBackground = 6;
        /**

          @attr description
           "Change" button background in masked wallet details view

May be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

May be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsButtonBackground
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsButtonBackground = 8;
        /**

          @attr description
           TextAppearance for the "Change" button in masked wallet details view

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsButtonTextAppearance
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsButtonTextAppearance = 7;
        /**

          @attr description
           TextAppearance for headers describing masked wallet details

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsHeaderTextAppearance
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsHeaderTextAppearance = 5;
        /**

          @attr description
           Type of the wallet logo image in masked wallet details view

Must be one of the following constant values.

<colgroup align="left" />
<colgroup align="left" />
<colgroup align="left" />

Constant	Value	Description

classic	1

monochrome	2

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsLogoImageType
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsLogoImageType = 10;
        /**

          @attr description
           Color of the Google Wallet logo text in masked wallet details view

Must be a color value, in the form of "#rgb", "#argb",
"#rrggbb", or "#aarrggbb".

This may also be a reference to a resource (in the form
"@[package:]type:name") or
theme attribute (in the form
"?[package:][type:]name")
containing a value of this type.

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsLogoTextColor
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsLogoTextColor = 9;
        /**

          @attr description
           TextAppearance for masked wallet details

Must be a reference to another resource, in the form "@[+][package:]type:name"
or to a theme attribute in the form "?[package:][type:]name".

This is a private symbol.
          @attr name com.kakao.sdk:maskedWalletDetailsTextAppearance
        */
        public static final int WalletFragmentStyle_maskedWalletDetailsTextAppearance = 4;
    };
}


text:
package org.sikuli.slides.driver;

import org.sikuli.api.ScreenRegion;
import org.sikuli.api.Target;

public interface Widget {

	/**
	 * Execute a click operation on this widget
	 */
	public void click();

	/**
	 * Execute a double click operation on this widget
	 */
	public void doubeClick();

	/**
	 * Execute a right click operation on this widget
	 */
	public void rightClick();

	/**
	 * Hover/move the mouse to this widget
	 */
	public void hover();

	/**
	 * Type the given text at this widget
	 *
	 * @param text text to type
	 */
	public void type(String text);

	/**
	 * Paste the given text at this widget
	 *
	 * @param text text to paste
	 */
	void paste(String text);

	/**
	 * Highlight the widget briefly
	 */
	public void highlight();

	/**
	 * Drag this widget
	 */
	public void drag();

	/**
	 * Drop at this widget
	 */
	public void drop();

	/**
	 * Get the {@link Target} based on which this widget is found
	 *
	 * @return
	 */
	public Target getTarget();

	/**
	 * Get the text label of this widget (as specified in a slide)
	 *
	 */
	public String getLabel();

	/**
	 * Set the @ScreenRegion where widget is found
	 *
	 */
	public void setScreenRegion(ScreenRegion found);

	/**
	 * Get the @ScreenRegion where this widget can be found
	 *
	 */
	public ScreenRegion getScreenRegion();

}


text:
if [ -z "${SPARK_HOME}" ]; then
  export SPARK_HOME="$(cd "`dirname "$0"`"/..; pwd)"
fi

. "${SPARK_HOME}/sbin/spark-config.sh"

. "${SPARK_HOME}/bin/load-spark-env.sh"

if [ "$SPARK_MESOS_DISPATCHER_PORT" = "" ]; then
  SPARK_MESOS_DISPATCHER_PORT=7077
fi

if [ "$SPARK_MESOS_DISPATCHER_HOST" = "" ]; then
  SPARK_MESOS_DISPATCHER_HOST=`hostname`
fi

"${SPARK_HOME}/sbin"/spark-daemon.sh start org.apache.spark.deploy.mesos.MesosClusterDispatcher 1 --host $SPARK_MESOS_DISPATCHER_HOST --port $SPARK_MESOS_DISPATCHER_PORT "$@"


text:
using Log;
using Symbols;
using SyntaxTree;

namespace Semantics
{
    // TODO(kai): Make sure that all code paths return a value (if not void)
    // TODO(kai): The type checking portion can be done later.

    internal sealed class FnAnalyzer : IAstVisitor
    {
        private readonly DetailLogger log;
        private readonly SymbolTable symbols;

        public FnAnalyzer(DetailLogger log, SymbolTable symbols)
        {
            this.log = log;
            this.symbols = symbols;
        }

        public void Visit(Ast node) =>
            node.children.ForEach(child => child.Accept(this));

        public void Visit(NodeFnDecl fn)
        {
            log.Error(fn.Span, "A function is not valid in another function.");
        }

        public void Visit(NodeTypeDef typeDef)
        {
            log.Error(typeDef.Span, "A type def is not valid in a function.");
        }

        public void Visit(NodeInvoke invoke)
        {
            invoke.args.ForEach(arg => arg.Accept(this));
        }

        public void Visit(NodeLet let)
        {
            symbols.InsertVar(let.Name, let.Ty);
            let.value.Accept(this);
        }

        public void Visit(NodeId id)
        {
        }

        public void Visit(NodeInt i)
        {
        }

        public void Visit(NodeEnclosed enc)
        {
            enc.expr.Accept(this);
        }

        public void Visit(NodeIndex index)
        {
            index.target.Accept(this);
            index.index.Accept(this);
        }

        public void Visit(NodeInfix infix)
        {
            infix.left.Accept(this);
            infix.right.Accept(this);
        }

        public void Visit(NodeSuffix suffix)
        {
            suffix.target.Accept(this);
        }

        public void Visit(NodeTuple tuple)
        {
            tuple.values.ForEach(value => value.Accept(this));
        }

        public void Visit(NodeStr s)
        {
        }

        public void Visit(NodeBool b)
        {
        }

        public void Visit(NodeRet ret)
        {
            ret.value.Accept(this);
        }

        public void Visit(NodeIf @if)
        {
        }
    }
}