text:
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Katie St. Clair</title>
    <meta name="viewport" content="width=device-width">
    <meta name="description" content="Stories are held in the landscape">
    <link rel="canonical" href="http://localhost:4000/">

    <link rel="stylesheet" href="/style.css">

    <link rel="stylesheet" href="/css/font-awesome/css/font-awesome.min.css">
    <link href="//fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
    <link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">

                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">

                </button>

                      Home

                        About

                        Gallery

                        Contact

                        CV

Katie St. Clair

Stories are held in the landscape

About

I am inspired by the rich sensations of living and dying life. The crunching of pine needles beneath my feet. Decaying leaves under the muddy surface of a puddle. The lichen that is inseparable from its stone. I believe stories are held in the landscape.

Gallery

Wayside Installation Painting

Terra Plume

Terra Plume: Field Notes

Fruiting Bodies

Erratics

Erratic Studies

Davidson Faculty Exhibition

Waterlogged Series

Second Nature

Landbetween

Contact

For more information please contact at:

kastclair@davidson.edu

                         facebook

                         youtube

                         tumblr

CV

EDUCATION

2011-2014  University of Michigan Stamps School of Art and Design,

                           Ann Arbor MI, M.F.A Visual Arts.

2002-2006  Art Academy of Cincinnati, Cincinnati OH

                             B.F.A in Painting, Magna Cum Laude

2006       Akademie der Bildenden Künste, München Germany

2005        Parsons The New School of Design, New York

ACADEMIC POSITIONS

2017-Present  Assistant Professor at Davidson College, Davidson NC

                          Taught Intermediate and Advanced Painting and Drawing

2016-2017   Visiting Assistant Professor at Davidson College, Davidson NC

                     Taught Intermediate and Advanced Painting and Drawing

2015-2016  Visiting Assistant Professor at Albion College, Albion MI

                  Taught all levels of Painting and Drawing

2015  Burren College of Art, Teaching Fellow, Ballyvaughan Ireland

                  Taught Intermediate and Independent study in Painting and Drawing

2012-2014   University of Michigan, Teaching Assistant, Ann Arbor MI

                    Taught Undergrad classes in Painting

2011-2014   University of Michigan, Graduate Student Instructor, Ann Arbor MI

                     Independent Studio and Art and the Environment

AWARDS

2019
 Young Affiliates of the Mint Choice Award, Coined in the South, Mint Museum

2017
  Best in Show 11th annual Alumni Exhibition, University of Michigan

2014
  Best in Show 95th Toledo Area Artists Exhibition

                                (Juried by Art Critic Christopher Knight) Toledo Art Museum

                                  Athena Art Society Award, Toledo Art Museum

                    Smucker/Wagstaff Project Scholarship, University of Michigan

2013
  CEW Elsie Choy Lee Scholarship, University of Michigan

                                  Juried Art Competition, University of Michigan

                                  Smucker/Wagstaff Project Scholarship, University of Michigan

2012
  Graduate International Experience, University of Michigan

2006
  Wilder Traveling Scholarship, Art Academy of Cincinnati

                                Munich Painting Program, Art Academy of Cincinnati

                                  The CJK Calendar Award, Art Academy of Cincinnati

2004
  Art Academy of Cincinnati Excellence Second Year Scholarship

2003
  Art Academy of Cincinnati Excellence First Year Scholarship

2002
  Art Academy of Cincinnati Eugene F. Rowe Scholarship

EXIBITIONS

(*indicates a solo show)

2020
*Charles Danforth Gallery, Terra Plume, University of Maine at Augusta.  Augusta, ME

                               *Dalton Gallery, Earthly Cosmology, Arts Council of York County. Rock Hill, SC

                               *Jeanne Rauch Gallery, Tellurian, Gaston College. Dallas, NC

2019
Mint Museum, Coined in the South, Young Affiliates of the Mint. Charlotte NC
                                Greenhill Center for NC Arts, Constant/Change, Greensboro NC

2018
Northern Kentucky University, Root Culture, Highland Heights KY

                               University of Alabama at Birmingham, SECAC, Birmingham AL

                               *Central Piedmont Community College, Fruiting Bodies, Charlotte NC

                               *Northern Kentucky University, Neither here nor there, Highland Heights KY

2017
Greenhill Center for NC Arts, Observational Abstraction, Greensboro NC

                               Stamps Gallery, Ambiguities/Innuendoes? Go Fish, Ann Arbor MI

                               Davidson College, Faculty Show, Davidson NC

2016
*Burren College of Art, Erratics, Ballyvaughan Ireland

                               MOCAD, Evening of Art and Science, Detroit MI

                               UMMA, Evening of Art and Science, Ann Arbor MI

                                    *Defiance College, Erratics, Defiance OH

2015
 *Art Academy of Cincinnati, Unearth, Cincinnati OH

                               Cincinnati Art Underground, Delicate Fractures, Cincinnati OH

                               Klemm Gallery at Siena Heights University, Sprawl Too, Adrian MI

                               The Tangent Gallery, Things Feel Heavy, Detroit MI

                               Sweetwater Center for the Arts, Shaping New Worlds, Sewickley PA

2014
 Toledo Art Museum, 95th Toledo Artists Exhibition, Toledo OH

                               Apexart, Trans-Farm, Detroit MI

                               333 Midland, Big Paintings at the Factory, Detroit MI

                              *Munro Gallery, Water logged, Albion MI

                              *Slusser Gallery, Wayside, Ann Arbor MI

                               Ann Arbor Art Center, Decompose/Recompose, Ann Arbor MI

                              *Enviro Art Gallery, Second Nature, Ann Arbor MI

                               Zhou B. Art Center, National Wet Paint Biennial, Chicago IL

2013
 Matthaei Botanical Gardens, 50 Shades of Green, Ann Arbor MI

                               River Gallery, Biology and Art in Creative Minds, Ann Arbor MI

                               Work Gallery, Test Kitchen, Ann Arbor MI

                               Kuaba Gallery, Torn to Grace, Indianapolis IN

                              *NCRC Gallery, Landbetween, Ann Arbor MI

                               Naming Ceremony Gallery, Storybook Fragments, Los Angeles CA

                               University of Michigan, Juried Art, Ann Arbor MI

2012
 Green Road Studios, Ten Degrees, Ann Arbor MI

2010
 Creative Gallery, Maps, Cincinnati OH

                               Arts Space, Global Art Perspectives: 2010 Preview, China

                               Broadway Gallery, Global Art Perspectives: 2010 Annual, NY

2009
 Broadway Gallery, Derived, Borrowed, and Stolen, New York NY

2007
 Canal Chapter, Residency Project, New York NY

                    *KraftHous, Solo, Cincinnati OH

2006
 Akademie der Bildenden Künste, Student Show, Munich Germany

                               Pearlman Gallery, If You're a Dreamer Come in, Cincinnati OH

2005
 Parsons The New School of Design, Come Close, New York NY

Copyright © Katie St. Clair 2020


text:
<!doctype html>

        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>*|MC:SUBJECT|*</title>

                            Use this area to offer a short preview of your email's content.

                            View this email in your browser

Responses Unit,

            Incident index:
            {{ incident.id  }}

            Incident title:
            {{ incident.title }}

            Incident description:
            {{ incident.description }}

            Time:
            {{ time }}

            Type:
            {{ type }}

            Area:
            {{ area }}

redpajama_set_name: RedPajamaGithub


text:
// ---------------------------------------------------------------------------------------
// Helper class used to help create content in the filterbar and fill relevant metadata
// ---------------------------------------------------------------------------------------
// ---------------------------------------------------------------------------------------
sap.ui.define([
	"sap/ui/mdc/odata/v4/FieldValueHelpDelegate"
], function (FieldValueHelpDelegate) {
	"use strict";

	var FieldValueHelpSampleDelegate = Object.assign({}, FieldValueHelpDelegate);

	FieldValueHelpSampleDelegate.adjustSearch = function(oPayload, bTypeahead, sSearch) {

		if (bTypeahead && sSearch) {
			return '"' + sSearch + '"'; // TODO: escape " in string
		} else if (sSearch && sSearch.indexOf(" ") === -1) {
			return '"' + sSearch + '"'; // TODO: escape " in string
		} else {
			// allow OR AND ....
			return sSearch; // TODO: check for unsupported characters
		}

	};

	return FieldValueHelpSampleDelegate;
});


text:
angular
    .module('material.components.autocomplete')
    .directive('mdAutocompleteParentScope', MdAutocompleteParentScope);

function MdAutocompleteParentScope ($compile, $mdUtil) {
  return {
    restrict: 'A',
    terminal: true,
    link: postLink,
    scope: false
  };
  function postLink (scope, element, attr) {
    var ctrl     = scope.$parent.$mdAutocompleteCtrl;
    $compile(element.contents())(ctrl.parent);
    if (attr.hasOwnProperty('mdAutocompleteReplace')) {
      element.after(element.contents());
      element.remove();
    }
  }
}


text:
<ly-card
[bg]="status === 'beta' ? 'Amber' : 'warn'"
[color]="'auto'"
[elevation]="6"
[withClass]="classes.card">
  <ly-card-content [withClass]="classes.icon">
    <ly-icon *ngIf="status === 'beta'" icon="Experiment"></ly-icon>
    <ly-icon *ngIf="status === 'deprecated'">error</ly-icon>
  </ly-card-content>
  <ly-card-content [withClass]="classes.cardContent">

      Status: {{ status }}

      <ng-template [ngIf]="status === 'deprecated'">This component is obsolete and will be removed in the next release.</ng-template>
      <ng-content></ng-content>

  </ly-card-content>
</ly-card>


text:
/* file: error_handling.h */
/*******************************************************************************
* Copyright 2017-2020 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/

/*
!  Content:
!    Auxiliary error-handling functions used in C++ samples
!******************************************************************************/

#include "error_handling.h"

#ifndef _ERROR_HANDLING_H
#define _ERROR_HANDLING_H

const int fileError = -1001;

void checkAllocation(void * ptr)
{
    if (!ptr)
    {
        std::cout << "Error: Memory allocation failed" << std::endl;
        exit(-1);
    }
}

void checkPtr(void * ptr)
{
    if (!ptr)
    {
        std::cout << "Error: NULL pointer" << std::endl;
        exit(-2);
    }
}

void fileOpenError(const char * filename)
{
    std::cout << "Unable to open file '" << filename << "'" << std::endl;
    exit(fileError);
}

void fileReadError()
{
    std::cout << "Unable to read next line" << std::endl;
    exit(fileError);
}

void sparceFileReadError()
{
    std::cout << "Incorrect format of file" << std::endl;
    exit(fileError);
}

#endif


text:
rem use much smaller image instead of one from MS
rem docker run -d -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password12!" -p 1433:1433 -h mssql --name=mssql microsoft/mssql-server-windows-express:2016-sp1
docker run -d -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password12!" -p 1433:1433 -h mssql --name=mssql cortside/sqlserver:2016-developer
docker ps -a

echo "Waiting for SQL Server to accept connections"
:repeat
echo pinging sql server
docker exec mssql sqlcmd -S localhost -U sa -P Password12! -Q "SELECT 1"
if %errorlevel% NEQ 0 goto repeat
echo "SQL Server is operational"

docker exec mssql sqlcmd -S localhost -U sa -P Password12! -Q "SELECT @@Version"
echo "create TestData"
docker exec mssql sqlcmd -S localhost -U sa -P Password12! -Q "CREATE DATABASE TestData;"
echo "create TestData2017"
docker exec mssql sqlcmd -S localhost -U sa -P Password12! -Q "CREATE DATABASE TestData2016;"


text:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.fragment.event.FragmentParticipants">

    <Button
        android:id="@+id/button_show_roles"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/show_roles"
        android:visibility="gone" />

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/button_show_roles">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/recyclerview"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="2dp" />

            </LinearLayout>
        </ScrollView>
    </android.support.v4.widget.SwipeRefreshLayout>

</RelativeLayout>


text:
package de.iani.cubequest.commands;

import de.iani.cubequest.CubeQuest;
import de.iani.cubequest.conditions.BeInAreaCondition;
import de.iani.cubequest.conditions.ConditionType;
import de.iani.cubequest.conditions.GameModeCondition;
import de.iani.cubequest.conditions.HaveQuestStatusCondition;
import de.iani.cubequest.conditions.MinimumQuestLevelCondition;
import de.iani.cubequest.conditions.NegatedQuestCondition;
import de.iani.cubequest.conditions.QuestCondition;
import de.iani.cubequest.conditions.RenamedCondition;
import de.iani.cubequest.conditions.ServerFlagCondition;
import de.iani.cubequest.questStates.QuestState.Status;
import de.iani.cubequest.quests.ProgressableQuest;
import de.iani.cubequest.quests.Quest;
import de.iani.cubequest.util.ChatAndTextUtil;
import de.iani.cubequest.util.SafeLocation;
import de.iani.cubesideutils.commands.ArgsParser;
import de.iani.cubesideutils.commands.SubCommand;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;

public class AddConditionCommand extends SubCommand {

    public static final String GIVING_COMMAND_PATH = "addGivingCondition";
    public static final String FULL_GIVING_COMMAND = "quest " + GIVING_COMMAND_PATH;

    public static final String PROGRESS_COMMAND_PATH = "addProgressCondition";
    public static final String FULL_PROGRESS_COMMAND = "quest " + PROGRESS_COMMAND_PATH;

    public static final Set<String> NEGATION_STRINGS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList("not", "nicht")));

    private static class ConditionParseException extends RuntimeException {

        private static final long serialVersionUID = 1L;

    }

    private boolean giving;

    public AddConditionCommand(boolean giving) {
        this.giving = giving;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {

        Quest quest = CubeQuest.getInstance().getQuestEditor().getEditingQuest(sender);
        if (quest == null) {
            ChatAndTextUtil.sendNotEditingQuestMessage(sender);
            return true;
        }

        if (!this.giving && !(quest instanceof ProgressableQuest)) {
            ChatAndTextUtil.sendWarningMessage(sender, "Für diese Quest können keine Fortschrittsbedingungen festgelegt werden.");
            return true;
        }

        QuestCondition cond;
        try {
            cond = parseCondition(sender, args, quest);
        } catch (ConditionParseException e) {
            return true;
        }

        if (this.giving) {
            quest.addQuestGivingCondition(cond);
        } else {
            ((ProgressableQuest) quest).addQuestProgressCondition(cond);
        }

        ChatAndTextUtil.sendNormalMessage(sender, (this.giving ? "Vergabe" : "Fortschritts") + "bedingung hinzugefügt:");
        ChatAndTextUtil.sendBaseComponent(sender, cond.getConditionInfo());
        return true;
    }

    @SuppressWarnings("deprecation")
    private QuestCondition parseCondition(CommandSender sender, ArgsParser args, Quest quest) {
        if (!args.hasNext()) {
            ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib einen Bedingungstyp an.");
            throw new ConditionParseException();
        }

        String typeString;
        ConditionType type = ConditionType.match(typeString = args.next());
        if (type == null) {
            ChatAndTextUtil.sendWarningMessage(sender, "Bedingungstyp " + typeString + " nicht gefunden.");
            throw new ConditionParseException();
        }

        if (type == ConditionType.NEGATED) {
            return NegatedQuestCondition.negate(parseCondition(sender, args, quest));
        }
        if (type == ConditionType.RENAMED) {
            return parseRenamedCondition(sender, args, quest);
        }

        if (!args.hasNext()) {
            ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib an, ob die Bedingung für Spieler sichtbar sein soll.");
            throw new ConditionParseException();
        }

        boolean visible;
        String visibleString = args.next();
        if (AssistedSubCommand.TRUE_STRINGS.contains(visibleString.toLowerCase())) {
            visible = true;
        } else if (AssistedSubCommand.FALSE_STRINGS.contains(visibleString.toLowerCase())) {
            visible = false;
        } else {
            ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib an, ob die Bedingung für Spieler sichtbar sein soll (true/false).");
            throw new ConditionParseException();
        }

        if (type == ConditionType.GAMEMODE) {
            if (!args.hasNext()) {
                ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib den GameMode an, den die Bedingung haben soll.");
                throw new ConditionParseException();
            }

            String gmString = args.seeNext("");
            int gmId = args.getNext(-1);
            GameMode gm = null;

            if (gmId != -1) {
                gm = GameMode.getByValue(gmId);
            } else {
                try {
                    gm = GameMode.valueOf(gmString.toUpperCase());
                } catch (IllegalArgumentException e) {
                    // ignore
                }
            }

            if (gm == null) {
                ChatAndTextUtil.sendWarningMessage(sender, "GameMode " + gmString + " nicht gefunden.");
                throw new ConditionParseException();
            }

            return new GameModeCondition(visible, gm);
        }

        if (type == ConditionType.MINIMUM_QUEST_LEVEL) {
            int minLevel = args.getNext(-1);
            if (minLevel < 0) {
                ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib das minimale Quest-Level als nicht-negative Ganzzahl an.");
                throw new ConditionParseException();
            }

            return new MinimumQuestLevelCondition(visible, minLevel);
        }

        if (type == ConditionType.HAVE_QUEST_STATUS) {
            if (!args.hasNext()) {
                ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib den Status an, den die Bedingung haben soll.");
                throw new ConditionParseException();
            }

            String statusString = args.next();
            Status status = Status.match(statusString);

            if (status == null) {
                ChatAndTextUtil.sendWarningMessage(sender, "Status " + statusString + " nicht gefunden.");
                throw new ConditionParseException();
            }

            String preIdCommand = (this.giving ? AddConditionCommand.FULL_GIVING_COMMAND : AddConditionCommand.FULL_PROGRESS_COMMAND) + " "
                    + type.name() + " " + visible + " " + status.name() + " ";
            Quest other = ChatAndTextUtil.getQuest(sender, args, preIdCommand, "", "Quest ", " für Bedingung wählen");

            if (other == null) {
                throw new ConditionParseException();
            }

            return new HaveQuestStatusCondition(visible, other, status);
        }

        if (type == ConditionType.SERVER_FLAG) {
            if (!args.hasNext()) {
                ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib die Flag an, die der Server haben soll.");
                throw new ConditionParseException();
            }

            String flag = args.next().toLowerCase();

            return new ServerFlagCondition(visible, flag);
        }

        if (type == ConditionType.BE_IN_AREA) {
            double tolerance = args.getNext(-1.0);
            if (tolerance < 0.0) {
                ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib die Toleranz als nicht-negative Kommazahl (mit . statt ,) an.");
                throw new ConditionParseException();
            }

            SafeLocation loc = ChatAndTextUtil.getSafeLocation(sender, args, true, false);
            if (loc == null) {
                throw new ConditionParseException();
            }

            return new BeInAreaCondition(visible, loc, tolerance);
        }

        throw new AssertionError("Unknown ConditionType " + type + "!");
    }

    private QuestCondition parseRenamedCondition(CommandSender sender, ArgsParser args, Quest quest) {
        int originalIndex = args.getNext(0) - 1;

        if (originalIndex < 0) {
            ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib den Index der Original-Bedingung als positive Ganzzahl an.");
            throw new ConditionParseException();
        }

        QuestCondition original;
        try {
            original = this.giving ? quest.getQuestGivingConditions().get(originalIndex)
                    : ((ProgressableQuest) quest).getQuestProgressConditions().get(originalIndex);
        } catch (IndexOutOfBoundsException e) {
            ChatAndTextUtil.sendWarningMessage(sender, "Eine Bedingung mit diesem Index hat die Quest nicht.");
            throw new ConditionParseException();
        }

        if (!args.hasNext()) {
            ChatAndTextUtil.sendWarningMessage(sender, "Bitte gib die Bezeichnung der neuen Bedingung an.");
            throw new ConditionParseException();
        }

        String rawText = args.getAll("");
        String text = ChatAndTextUtil.convertColors(rawText);

        if (rawText.equals("RESET")) {
            text = "";
        } else if (!rawText.startsWith("&")) {
            text = ChatColor.DARK_AQUA + text;
        }

        QuestCondition result = RenamedCondition.rename(text, original);
        if (this.giving) {
            quest.removeQuestGivingCondition(originalIndex);
        } else {
            ((ProgressableQuest) quest).removeQuestProgressCondition(originalIndex);
        }

        return result;
    }

    @Override
    public List<String> onTabComplete(CommandSender sender, Command command, String alias, ArgsParser args) {
        if (!args.hasNext()) {
            return Collections.emptyList();
        }

        String conditionTypeString = args.getNext();
        if (!args.hasNext()) {
            List<String> list = Arrays.stream(ConditionType.values()).map(ConditionType::name).collect(Collectors.toList());
            list.addAll(Arrays.asList("NOT", "NICHT", "RENAME", "GM", "LEVEL", "STATUS", "STATE", "FLAG", "AREA"));
            return list;
        }

        ConditionType conditionType = ConditionType.match(conditionTypeString);
        if (conditionType == null || conditionType == ConditionType.RENAMED) {
            return Collections.emptyList();
        }
        if (conditionType == ConditionType.NEGATED) {
            return onTabComplete(sender, command, alias, args);
        }

        args.next();
        if (!args.hasNext()) {
            return Arrays.asList("TRUE", "FALSE");
        }

        args.next();
        switch (conditionType) {
            case GAMEMODE:
                return Arrays.stream(GameMode.values()).map(GameMode::name).collect(Collectors.toList());
            case BE_IN_AREA:
            case MINIMUM_QUEST_LEVEL:
                return Collections.emptyList();
            case SERVER_FLAG:
                return new ArrayList<>(CubeQuest.getInstance().getServerFlags());
            case HAVE_QUEST_STATUS:
                if (!args.hasNext()) {
                    List<String> list = Arrays.stream(Status.values()).map(Status::name).collect(Collectors.toList());
                    list.addAll(Arrays.asList("NOTGIVEN", "GIVEN")); // aliases
                    return list;
                }
                break;
            default:
                throw new AssertionError("unexpected conditionType " + conditionType);
        }

        return Collections.emptyList();
    }

    @Override
    public String getRequiredPermission() {
        return CubeQuest.EDIT_QUESTS_PERMISSION;
    }

}


text:
using System;

namespace ByteFX.Data.Common
{
	/// <summary>
	/// Summary description for Security.
	/// </summary>
	internal class Security
	{
		public Security()
		{
		}

		public static void ArrayCrypt( byte[] src, int srcoff, byte[] dst, int dstoff, byte[] key, int length )
		{
			int idx = 0;

			while ( (idx+srcoff) < src.Length && idx < length )
			{
				dst[idx+dstoff] = (byte)(src[idx+srcoff] ^ key[idx]);
				idx++;
			}
		}
	}
}


text:
'use strict';
$(document).foundation();

var gui = require('nw.gui'),
    fs = require('fs'),
    walkr = require('walkr'),
    path = require('path'),
    async = require("async"),
    exec = require('child_process').execFile,
    zipper = require('node-zip-dir'),
    version = require(path.join(process.cwd(), 'package.json')).version,
    LOCALAPPDATA = path.join(process.env.LOCALAPPDATA, 'SPM_JSON');

try {
  var stats = fs.lstatSync(LOCALAPPDATA);
} catch(err) {
  fs.mkdirSync(LOCALAPPDATA);
}

//gui.Window.get().showDevTools();

var spinOpts = {
  lines: 13,
  length: 20,
  width: 10,
  radius: 30,
  corners: 1,
  rotate: 0,
  direction: 1,
  color: '#000',
  speed: 1,
  trail: 60,
  shadow: false,
  hwaccel: false,
  className: 'spinner',
  zIndex: 2e9,
  top: '50%',
  left: '50%'
};
var spinner = new Spinner(spinOpts);
var theText = $('#thetext');
var settings = {}, tmp = {}, idx = 0;
var filesToCopy = {};
var files = {}; // files to add to json
var txt = '';
var textarea = document.getElementById('thetext');

Object.prototype.concat = function(o) {
  for (var key in o) {
    if(o.hasOwnProperty(key)) {
      if(typeof o[key] === 'object') { // only 2 levels deep for this app
        for (var k in o[key]) {
          if(o[key].hasOwnProperty(k)) {
            this[key][k] = o[key][k];
          }
        }
      } else {
        this[key] = o[key];
      }
    }
  }
  return this;
}

function log(t) {
  txt += t + ' \n';
  theText.val(txt);
  textarea.scrollTop = textarea.scrollHeight;
}

function copy(source, target, cb) {
  var cbCalled = false;

  var rd = fs.createReadStream(source);
  rd.on("error", function(err) {
    _done(err);
  });
  var wr = fs.createWriteStream(target);
  wr.on("error", function(err) {
    _done(err);
  });
  wr.on("close", function(ex) {
    _done();
  });
  rd.pipe(wr);

  function _done(err) {
    if (!cbCalled) {
      cb(err);
      cbCalled = true;
    }
  }
}

fs.readFile(LOCALAPPDATA + '/spm_settings.json', 'utf-8', function (err, contents) {
  if(err || contents === '') {
    settings = {
      receiverFilesPath: '//marketing/internal/Market Share/Spektrum SRD Files for Upload/',
	    transmitterFilesPath: '//marketing/internal/Market Share/Spektrum SPM Files for Upload/',
      savePaths: ['//deviis/ProdInfo/Files/', '//testiis/websites/ProdInfo/Files/', '//cmp02-web01-tst/websites/prodinfo/Files/', '//cmp02-nexus01/websites/prodinfo/Files/'],
      exts: ['spm','srm','srd'],
      //tfsPath: 'C:\\\\xampp\\htdocs\\StaticCMSContent\\media\\scripts\\',
      dirs: ['DX7s_Setups', 'DX8_Setups', 'DXe_Setups', 'Gen2_Setups'],
      transmitters: {
        DX7s_Setups: ['SPM7800'],
        DX8_Setups: ['SPM8800', 'SPMR8810'],
        DXe_Setups: ['SPM1000', 'SPMR1000'],
        Gen2_Setups: ['SPM6700', 'SPMR6700', 'SPM7000', 'SPM9900', 'SPMR9900', 'SPM18000', 'SPM18800', 'SPM18100', 'SPM18200']
      },
      filesCopied: {}
    };
	  settings.dirs.forEach(function(dir) {
		  settings.filesCopied[dir] = {};
	  });
    settings.filesCopied['srd'] = {};
	  log('saving settings');
    fs.writeFile(LOCALAPPDATA + '/spm_settings.json', JSON.stringify(settings));
  } else {
    settings = JSON.parse(contents);
  }
  setup();
});

function setup() {
  $('#receiverFilesPath').val(settings.receiverFilesPath);
  $('#transmitterFilesPath').val(settings.transmitterFilesPath);
  settings.savePaths.forEach(function (path, i) {
    $('.checks').append(
      $('<input type="checkbox" />').attr({id: 'cb_' + i, checked: 'checked'}).val(path))
      .append($('').attr({for: 'cb_' + i}).text(path))
      .append('
');
  });

  for (var key in settings.transmitters) {
    if (settings.transmitters.hasOwnProperty(key)) {
      $('.transmitters').append($('').attr({for: 'tm_' + key}).text(key.split('_')[0]))
        .append($('<input type="text" />').attr({id: 'tm_' + key}).val(settings.transmitters[key].join(',')))
        .append('
');
    }
  }
}

function walkFiles() {

  spinner.spin(document.querySelector('body'));
  var obj = {};  // our json object for web consumption
  files[settings.dirs[idx]] = [];
  // add the all setups zip
  files[settings.dirs[idx]].push({title: 'All Setups', file: settings.dirs[idx] + '.zip'});
  filesToCopy[settings.dirs[idx]] = {};
  // add our zip to be copied
  filesToCopy[settings.dirs[idx]]['All'] = {
    source: path.join(settings.transmitterFilesPath, settings.dirs[idx] + '.zip'),
    filename: settings.dirs[idx] + '.zip',
    mtime: Date.now()
  };
  settings.transmitterFilesPath = $('#transmitterFilesPath').val();

	if(!settings.filesCopied[settings.dirs[idx]]) {
		settings.filesCopied[settings.dirs[idx]] = {};
	}

  $('[id^="tm_"]').each(function() {
    settings.transmitters[this.id.slice(3)] = $(this).val().split(',');
  });

  walkr(settings.transmitterFilesPath + settings.dirs[idx])
    .on('file', function (file) {
      var nameParts = file.name.split('.');
      if(settings.exts.indexOf(nameParts[nameParts.length - 1].toLowerCase()) > -1) {
        var t = 'File found: ' + file.name;
        /**
         * we use the segments of the file.source to buld our object
         * eg. "//marketing/internal/Market Share/SPM Files for Upload/EFL2865 Slick 3D 480 ARF/EFL_Slick 3D 480 ARF.srd"
         * parts[parts.length - 2] = EFL2865 Slick 3D 480 ARF
         * parts[parts.length - 2].split(' ')[0] = EFL2865
         * file.name = EFL_Slick 3D 480 ARF.srd
         */
        var parts = file.source.split('/'), title = parts[parts.length - 2], prodId = title.split(' ')[0];
        obj[prodId] = {
          title: title,
          file: file.name
        };
        // check to see if we've got this one already
        if(!settings.filesCopied[settings.dirs[idx]][prodId]) {
          t += ' - adding to copy queue';
          filesToCopy[settings.dirs[idx]][prodId] = {
            source: file.source,
            filename: file.name,
            mtime: Date.parse(file.stat.mtime)
          };
        // it exists but what if it's been modified.
        } else if(settings.filesCopied[settings.dirs[idx]][prodId].mtime !== Date.parse(file.stat.mtime)) {
          t += ' - adding to copy queue';
          filesToCopy[settings.dirs[idx]][prodId] = {
            source: file.source,
            filename: file.name,
            mtime: Date.parse(file.stat.mtime)
          };
        } else {
          t += '';
        }
        log(t);
        // Files for json
        files[settings.dirs[idx]].push({title: title, file: file.name});
      }
    })
    .start(function(err) {  // this acts more like a complete than start - but also triggers execution??

      log('zipping: ' + settings.dirs[idx]);

  	  zipper.zip(settings.transmitterFilesPath + settings.dirs[idx], settings.transmitterFilesPath + settings.dirs[idx] + '.zip').then(function() {

        log(settings.dirs[idx] + '.zip created');

  		  idx++;
  		  if(idx < settings.dirs.length) {
  			  walkFiles();
  		  } else {
  			  //spinner.spin(false);
          // save all of our filesToCopy to each save path
          log('Copying files to destination(s)');
          var savePaths = [];
          $('input:checked').each(function(){
            savePaths.push($(this).val());
          });
          // the following is quite a mess!
          async.each(savePaths, function(path, callback) {
            async.each(settings.dirs, function(dir, cb) {
              async.forEachOf(filesToCopy[dir], function (v, k, c) {
                if(typeof v === 'object') {
                  copy(v.source, path + 'SPM/' + v.filename, function(err) {
                    if(err) {
                      c('error copying: ' + path + 'SPM/' + v.filename + '\n' + err);
                    } else {
                      log('copied: ' + path + 'SPM/' + v.filename);
                      c();
                    }
                  });
                }
              }, function(err) {
                if(err) {
                  //call parent callback
                  cb('filesToCopy[dir] each error: ' + err)
                }
                //call parent callback to move on to next item
                cb();
              });
            }, function(err) {
              if(err) {
                //call parent callback
                callback('settings.dirs each error: ' + err)
              }
              //call parent callback to move on to next item
              callback();
            });
          }, function(err) {
            if(err) {
              log('savePaths each error: ' + err);
            }
            //log('done savePaths each');  // launch next step
            // save our setting w/ the list of files copied
            settings.filesCopied = settings.filesCopied.concat(filesToCopy);
            fs.writeFile(LOCALAPPDATA + '/spm_settings.json', JSON.stringify(settings), function(err) {
              if(err) {
                log('error saving settings: ' + err);
              }else {
                log('saved spm_settings.json');
                $('a[href="setups"], .savers').show();
              }
            });
            //console.log(files);
            // save our local copy
            var tmp = [];
            settings.dirs.forEach(function(dir) {
              settings.transmitters[dir].forEach(function(transmitter) {
                var o = {};
                o[transmitter] = files[dir];
                tmp.push(o);
              });
            });
            fs.writeFile(LOCALAPPDATA + '/setups.json', JSON.stringify(tmp), function(err) {
              if(err) {
                log('error saving: setups.json \n' + err);
              } else {
                log('saved setups.json');
                // save our setups.json to each save path
                async.each(savePaths, function(path, callback) {
                  copy(LOCALAPPDATA + '/setups.json', path + 'setups.json', function(err) {
                    if(err) {
                      callback('error copying: ' + path + 'setups.json \n' + err);
                    } else {
                      log('copied: ' + path + 'setups.json');
                      callback();
                    }
                  });
                }, function(err) {
                  if(err) {
                    log('error: ' + err);
                  }
                  log('done with transmitter files');
                  walkSrdFiles();
                });
              }
            });
          });
  		  }
  	  }).catch(function(err) {
  		  log('error zipping catch: ' + err);
  	  });

    });
}

function walkSrdFiles() {
  //spinner.spin(document.querySelector('body'));
  settings.receiverFilesPath = $('#receiverFilesPath').val();
  var obj = {};  // our json object for web consumption
  var filesToCopy = {};
  filesToCopy.srd = {};
  filesToCopy.srd.All = {
    source: path.join(settings.receiverFilesPath, 'AS3X_receiver_config_files.zip'),
    filename: 'AS3X_receiver_config_files.zip',
    mtime: Date.now()
  };

  walkr(settings.receiverFilesPath)
  .on('file', function (file) {
    if(file.name.split('.')[1].toLowerCase() === 'srd' || file.name.split('.')[1].toLowerCase() === 'srm') {
      var t =  'File found: ' + file.name;
      /**
       * we use the segments of the file.source to buld our object
       * eg. "//marketing/internal/Market Share/Spektrum SRD Files for Upload/EFL2865 Slick 3D 480 ARF/EFL_Slick 3D 480 ARF.srd"
       * parts[parts.length - 2] = EFL2865 Slick 3D 480 ARF
       * parts[parts.length - 2].split(' ')[0] = EFL2865
       * file.name = EFL_Slick 3D 480 ARF.srd
       */
      var parts = file.source.split('/'), title = parts[parts.length - 2], prodId = title.split(' ')[0];
      obj[prodId] = {
        title: title,
        file: file.name
      };
      // check to see if we've got this one already
      if(!settings.filesCopied.srd[prodId]) {
        t += ' - adding to copy queue';
        filesToCopy.srd[prodId] = {
          source: file.source,
          filename: file.name,
          mtime: Date.parse(file.stat.mtime)
        };
        // it exists but what if it's been modified.
      } else if(settings.filesCopied.srd[prodId].mtime !== Date.parse(file.stat.mtime)) {
        t += ' - adding to copy queue';
        filesToCopy.srd[prodId] = {
          source: file.source,
          filename: file.name,
          mtime: Date.parse(file.stat.mtime)
        };
      } else {
        t += '';
      }
      log(t);
    }
  })
  .start(function (err) {  // this acts more like a complete than start - but also triggers execution??
    if (err) {
      log('error walking files: \n' + err);
      return false;
    }
    var savePaths = [];
    $('input:checked').each(function () {
      savePaths.push($(this).val());
    });

    // save our local copy
    fs.writeFile(path.join(LOCALAPPDATA, '/srd.json'), JSON.stringify(obj), function (err) {
      if (err) {
        log('error saving: srd.json \n' + err);
      } else {
        // save our srd.json to each save path
        async.each(savePaths, function(path, callback) {
          copy(LOCALAPPDATA + '/srd.json', path + 'srd.json', function(err) {
            if(err) {
              callback('error copying: ' + path + 'srd.json \n' + err);
            } else {
              log('copied: ' + path + 'srd.json');
              callback();
            }
          });
        }, function(err) {
          if(err) {
            log('error: ' + err);
          }
          log('done copying srd.json files');
        });
      }
    });

    // save all of our filesToCopy to each save path
    async.each(savePaths, function(path, callback) {
      async.each(['srd'], function(dir, cb) {
        async.forEachOf(filesToCopy[dir], function (v, k, c) {
          if(typeof v === 'object') {
            copy(v.source, path + 'SPM/' + v.filename, function(err) {
              if(err) {
                c('error copying: ' + path + 'SPM/' + v.filename + '\n' + err);
              } else {
                log('copied: ' + path + 'SPM/' + v.filename);
                c();
              }
            });
          }
        }, function(err) {
          if(err) {
            //call parent callback
            cb('filesToCopy[dir] each error: ' + err)
          }
          //call parent callback to move on to next item
          cb();
        });
      }, function(err) {
        if(err) {
          //call parent callback
          callback('settings.dirs each error: ' + err)
        }
        //call parent callback to move on to next item
        callback();
      });
    }, function(err) {
      if(err) {
        log(err);
        return;
      }

      log('All Done');
    });

    zipper.zip(settings.receiverFilesPath, settings.receiverFilesPath + 'AS3X_receiver_config_files.zip').then(function () {
      savePaths.forEach(function (path) {
        copy(settings.receiverFilesPath + 'AS3X_receiver_config_files.zip', path + 'SPM/' + 'AS3X_receiver_config_files.zip', function (err) {
          if (err) {
            log('error copying: ' + path + 'SPM/' + 'AS3X_receiver_config_files.zip' + '\n' + err);
          } else {
            log('copied: ' + path + 'SPM/' + 'AS3X_receiver_config_files.zip')
          }
        });
      });
    }).catch(function (err) {
      log('line 447 error: ' + err);
    });
    // save our setting w/ the list of files copied
    settings.filesCopied = settings.filesCopied.concat(filesToCopy);
    fs.writeFile(path.join(LOCALAPPDATA, '/spm_settings.json'), JSON.stringify(settings), function (err) {
      if (err) {
        log('error saving settings: ' + err);
      } else {
        log('saved settings.json');
        $('a[href="srd"]').show();
        log('done');
        spinner.spin(false);
      }
    });
  });
}

$('#setups, #srd').on('change', function (e) {
  var self = this;
  fs.readFile(LOCALAPPDATA + '/' + self.id + '.json', 'utf-8', function (err, contents) {
    if(err || contents === '') {
      log('error reading ' + self.id + '.json: ' + err);
    } else {
      fs.writeFile(self.value, contents, function(err) {
        if(err) {
          console.log(err);
        }
      });
    }
  });
});
$('.x-closer').on('click', function(e) {
  e.preventDefault();
  gui.App.quit();
});
$('.settings-closer').on('click', function(e) {
  e.preventDefault();
  $('.settings').hide();
});
$('[href="transmitters"]').on('click', function(e) {
  e.preventDefault();
  $('.settings').show();
});
$('#save-settings').on('click', function(e) {
  e.preventDefault();
  $('[id^="tm_"]').each(function() {
    settings.transmitters[this.id.slice(3)] = $(this).val().replace(/ /g, '').split(',');
  });
  fs.writeFile(LOCALAPPDATA + '/spm_settings.json', JSON.stringify(settings));
  $('.settings').hide();
});
$('#go').on('click', function(e) {
  e.preventDefault();
  walkFiles();
});
$('.savers a').on('click', function(e) {
  e.preventDefault();
  var h  = $(this).attr('href');
  $('#' + h).trigger('click');
});
$('.x-cogs').on('click', function(e) {
  e.preventDefault();
  gui.Window.get().showDevTools();
});
$('.x-info').on('click', function(e) {
  e.preventDefault();
  $('#info').show();
});
$('.info-closer').on('click', function(e) {
  e.preventDefault();
  $('#info').hide();
});


text:
package org.apache.tinkerpop.gremlin.driver.ser.binary.types.sample;

import org.apache.tinkerpop.gremlin.driver.ser.SerializationException;
import org.apache.tinkerpop.gremlin.structure.io.Buffer;
import org.apache.tinkerpop.gremlin.structure.io.binary.DataType;
import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryReader;
import org.apache.tinkerpop.gremlin.structure.io.binary.GraphBinaryWriter;
import org.apache.tinkerpop.gremlin.structure.io.binary.types.CustomTypeSerializer;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Date;

/**
 * A sample custom type serializer.
 */
public final class SamplePersonSerializer implements CustomTypeSerializer<SamplePerson> {
    private final byte[] typeInfoBuffer = new byte[] { 0, 0, 0, 0 };

    @Override
    public String getTypeName() {
        return "sampleProvider.SamplePerson";
    }

    @Override
    public DataType getDataType() {
        return DataType.CUSTOM;
    }

    @Override
    public SamplePerson read(final Buffer buffer, final GraphBinaryReader context) throws IOException {
        // {custom type info}, {value_flag} and {value}
        // No custom_type_info
        if (buffer.readInt() != 0) {
            throw new SerializationException("{custom_type_info} should not be provided for this custom type");
        }

        return readValue(buffer, context, true);
    }

    @Override
    public SamplePerson readValue(final Buffer buffer, final GraphBinaryReader context, final boolean nullable) throws IOException {
        if (nullable) {
            final byte valueFlag = buffer.readByte();
            if ((valueFlag & 1) == 1) {
                return null;
            }
        }

        // Read the byte length of the value bytes
        final int valueLength = buffer.readInt();

        if (valueLength <= 0) {
            throw new SerializationException(String.format("Unexpected value length: %d", valueLength));
        }

        if (valueLength > buffer.readableBytes()) {
            throw new SerializationException(
                String.format("Not enough readable bytes: %d (expected %d)", valueLength, buffer.readableBytes()));
        }

        final String name = context.readValue(buffer, String.class, false);
        final Date birthDate = context.readValue(buffer, Date.class, false);

        return new SamplePerson(name, birthDate);
    }

    @Override
    public void write(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context) throws IOException {
        // Write {custom type info}, {value_flag} and {value}
        buffer.writeBytes(typeInfoBuffer);

        writeValue(value, buffer, context, true);
    }

    @Override
    public void writeValue(final SamplePerson value, final Buffer buffer, final GraphBinaryWriter context, final boolean nullable) throws IOException {
        if (value == null) {
            if (!nullable) {
                throw new SerializationException("Unexpected null value when nullable is false");
            }

            context.writeValueFlagNull(buffer);
            return;
        }

        if (nullable) {
            context.writeValueFlagNone(buffer);
        }

        final String name = value.getName();

        // value_length = name_byte_length + name_bytes + long
        buffer.writeInt(4 + name.getBytes(StandardCharsets.UTF_8).length + 8);

        context.writeValue(name, buffer, false);
        context.writeValue(value.getBirthDate(), buffer, false);
    }
}


text:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<TITLE>
Uses of Class org.apache.poi.util.BitField (POI API Documentation)
</TITLE>

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes

Uses of Class
org.apache.poi.util.BitField

Packages that use BitField

org.apache.poi.poifs.crypt
Implementation of the ECMA-376 Document Encryption

org.apache.poi.util
Top-level util package are classes that are useful throughout the project.

Uses of BitField in org.apache.poi.poifs.crypt

Fields in org.apache.poi.poifs.crypt declared as BitField

static BitField
EncryptionInfo.flagAES

          A value that MUST be 1 if the protected content is an ECMA-376 document
 ECMA-376.

static BitField
EncryptionInfo.flagCryptoAPI

          A flag that specifies whether CryptoAPI RC4 or ECMA-376 encryption
 ECMA-376 is used.

static BitField
EncryptionInfo.flagDocProps

          A value that MUST be 0 if document properties are encrypted.

static BitField
EncryptionInfo.flagExternal

          A value that MUST be 1 if extensible encryption is used.

Uses of BitField in org.apache.poi.util

Methods in org.apache.poi.util that return BitField

static BitField
BitFieldFactory.getInstance(int mask)

      Overview
      Package
      Class
    Use
      Tree
      Deprecated
      Index
      Help

 PREV
 NEXT

  FRAMES
 NO FRAMES

  All Classes

                Copyright 2015 The Apache Software Foundation or
        its licensors, as applicable.


text: <!DOCTYPE html>


text:
package com.ctrip.zeus.util;

import com.netflix.config.ConfigurationManager;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;

@Configuration
public class SpringPropertiesLoader {

    @Bean
    public PropertyPlaceholderConfigurer propertyConfigurer() throws Exception {
        String env = ConfigurationManager.getDeploymentContext().getDeploymentEnvironment();
        String app = ConfigurationManager.getDeploymentContext().getApplicationId();
        PropertyPlaceholderConfigurer res =
                new PropertyPlaceholderConfigurer();
        ClassPathResource resource = new ClassPathResource(app + "-" + env + ".properties");
        if (resource.exists()){
            res.setLocation(new ClassPathResource(app + "-" + env + ".properties"));
        }
        return res;
    }
}


text:
<?php

use Hubzero\Content\Migration\Base;

// No direct access
defined('_HZEXEC_') or die();

/**
 * Migration script for adding ckeditor plugin entry
 **/
class Migration20140108233320PlgEditorsCkeditor extends Base
{
	/**
	 * Up
	 **/
	public function up()
	{
		$this->addPluginEntry('editors', 'ckeditor');
	}

	/**
	 * Down
	 **/
	public function down()
	{
		$this->deletePluginEntry('editors', 'ckeditor');
	}
}


text:
package io.cattle.platform.iaas.api.auth;

import io.cattle.platform.archaius.util.ArchaiusUtil;

import com.netflix.config.DynamicBooleanProperty;
import com.netflix.config.DynamicLongProperty;
import com.netflix.config.DynamicStringProperty;

public class SecurityConstants {

    public static final String ENABLED = "enabled";
    public static final String SECURITY_SETTING = "api.security.enabled";
    public static final DynamicBooleanProperty SECURITY = ArchaiusUtil.getBoolean(SECURITY_SETTING);
    public static final String AUTH_PROVIDER_SETTING = "api.auth.provider.configured";
    public static final DynamicStringProperty AUTH_PROVIDER = ArchaiusUtil.getString(AUTH_PROVIDER_SETTING);

    public static final String NO_PROVIDER = "none";
    public static final String CODE = "code";
    public static final String TOKEN_VERSION = "v1";
    public static final DynamicLongProperty TOKEN_EXPIRY_MILLIS = ArchaiusUtil.getLong("api.auth.jwt.token.expiry");
}


text:
namespace WireMock.Matchers
{
    /// <summary>
    /// IMatcher
    /// </summary>
    public interface IMatcher
    {
        /// <summary>
        /// Gets the name.
        /// </summary>
        string Name { get; }

        /// <summary>
        /// Gets the match behaviour.
        /// </summary>
        MatchBehaviour MatchBehaviour { get; }

        /// <summary>
        /// Should this matcher throw an exception?
        /// </summary>
        bool ThrowException { get; }
    }
}


text:
#pragma once
#include <aws/guardduty/GuardDuty_EXPORTS.h>
#include <aws/guardduty/GuardDutyRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>

namespace Aws
{
namespace GuardDuty
{
namespace Model
{

  /**
   */
  class AWS_GUARDDUTY_API DeleteFilterRequest : public GuardDutyRequest
  {
  public:
    DeleteFilterRequest();

    // Service request name is the Operation name which will send this request out,
    // each operation should has unique request name, so that we can get operation's name from this request.
    // Note: this is not true for response, multiple operations may have the same response name,
    // so we can not get operation's name from response.
    inline virtual const char* GetServiceRequestName() const override { return "DeleteFilter"; }

    Aws::String SerializePayload() const override;

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline const Aws::String& GetDetectorId() const{ return m_detectorId; }

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline void SetDetectorId(const Aws::String& value) { m_detectorIdHasBeenSet = true; m_detectorId = value; }

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline void SetDetectorId(Aws::String&& value) { m_detectorIdHasBeenSet = true; m_detectorId = std::move(value); }

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline void SetDetectorId(const char* value) { m_detectorIdHasBeenSet = true; m_detectorId.assign(value); }

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline DeleteFilterRequest& WithDetectorId(const Aws::String& value) { SetDetectorId(value); return *this;}

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline DeleteFilterRequest& WithDetectorId(Aws::String&& value) { SetDetectorId(std::move(value)); return *this;}

    /**
     * The unique ID that specifies the detector where you want to delete a filter.
     */
    inline DeleteFilterRequest& WithDetectorId(const char* value) { SetDetectorId(value); return *this;}

    /**
     * The name of the filter.
     */
    inline const Aws::String& GetFilterName() const{ return m_filterName; }

    /**
     * The name of the filter.
     */
    inline void SetFilterName(const Aws::String& value) { m_filterNameHasBeenSet = true; m_filterName = value; }

    /**
     * The name of the filter.
     */
    inline void SetFilterName(Aws::String&& value) { m_filterNameHasBeenSet = true; m_filterName = std::move(value); }

    /**
     * The name of the filter.
     */
    inline void SetFilterName(const char* value) { m_filterNameHasBeenSet = true; m_filterName.assign(value); }

    /**
     * The name of the filter.
     */
    inline DeleteFilterRequest& WithFilterName(const Aws::String& value) { SetFilterName(value); return *this;}

    /**
     * The name of the filter.
     */
    inline DeleteFilterRequest& WithFilterName(Aws::String&& value) { SetFilterName(std::move(value)); return *this;}

    /**
     * The name of the filter.
     */
    inline DeleteFilterRequest& WithFilterName(const char* value) { SetFilterName(value); return *this;}

  private:

    Aws::String m_detectorId;
    bool m_detectorIdHasBeenSet;

    Aws::String m_filterName;
    bool m_filterNameHasBeenSet;
  };

} // namespace Model
} // namespace GuardDuty
} // namespace Aws


text:
Events by Jacob

 type a key

<input type=button value="onClick" onclick="{

    document.getElementById('myDiv01')
.innerHTML =  'onClick event activated'

}">

<input type=button value="onMouseOver" onMouseOver="{

    document.getElementById('myDiv01')
.innerHTML =  'onMouseOver event activated'

}">

...

<form action="" method="get">
 4. Name: <input type="text" id="myInput" oninvalid="alert('You must fill out the form!');" name="fname" required>
  <input type="submit" value="Submit">
</form>

If you click submit, without filling out the text field,
an alert message will occur.

5. Enter any key in the input to find out if the ALT key was pressed or not.

<input type="text" onkeydown="isKeyPressed(event)">

 6. Double-click me.

..

7. <input type="text" oncopy="myFunction7()" value="Try to copy this text">

8. Write something in the text field.

<input type="text" id="myInput8" oninput="myFunction8()">

9. Select some of the text: <input type="text" value="Select me!" onselect="myFunction9()">

10. Enter your name: <input type="text" id="fname" onblur="myFunction10()">

When you leave the input field, the input text to changes to upper case.

11. Select a new car from the list.

<select id="mySelect" onchange="myFunction11()">
  <option value="Audi">Audi
  <option value="BMW">BMW
  <option value="Mercedes">Mercedes
  <option value="Saab">Saab
</select>

When you select a car it outputs the value of the selected car.

12. Mouse over the rectangle above, and get the coordinates of your mouse pointer.

When the mouse is moved over the div,  the horizontal and vertical coordinates of your mouse pointer is displayed.

13. The image changes size when you mouse over it.

14.<input type="text" onpaste="myFunction14()" value=" Try to paste something in here" size="40">

15. Enter your name: <input type="text" onfocusin="myFunction15(this)">

 Function makes the background-color.

16. Click this paragraph to get the number of milliseconds since midnight of January 1, 1970.

Timestamp:

<input type="text" onpaste="myFunction17()" value="17. Try to paste something in here" size="40">

18.A function is triggered when you roll the mouse wheel over div. The function sets the font-size of div to 35 pixels.

18. This example uses the addEventListener() method to attach a "wheel" event!


text:
/**
 * @Probject Name: WFJ-Base-Server-Dev
 * @Path: com.jack.netty.util.comparatorInvertibleComparator.java
 * @Create By Jack
 * @Create In 2016年8月16日 上午10:31:41
 * TODO
 */
package com.jack.netty.util.comparator;

import java.io.Serializable;
import java.util.Comparator;

import com.jack.netty.util.Assert;

/**
 * @Class Name InvertibleComparator
 * @Author Jack
 * @Create In 2016年8月16日
 */
@SuppressWarnings("serial")
public class InvertibleComparator<T> implements Comparator<T>, Serializable {

    private final Comparator<T> comparator;

    private boolean ascending = true;

    /**
     * Create an InvertibleComparator that sorts ascending by default.
     * For the actual comparison, the specified Comparator will be used.
     *
     * @param comparator the comparator to decorate
     */
    public InvertibleComparator(Comparator<T> comparator) {
        Assert.notNull(comparator, "Comparator must not be null");
        this.comparator = comparator;
    }

    /**
     * Create an InvertibleComparator that sorts based on the provided order.
     * For the actual comparison, the specified Comparator will be used.
     *
     * @param comparator the comparator to decorate
     * @param ascending  the sort order: ascending (true) or descending (false)
     */
    public InvertibleComparator(Comparator<T> comparator, boolean ascending) {
        Assert.notNull(comparator, "Comparator must not be null");
        this.comparator = comparator;
        setAscending(ascending);
    }

    /**
     * Specify the sort order: ascending (true) or descending (false).
     */
    public void setAscending(boolean ascending) {
        this.ascending = ascending;
    }

    /**
     * Return the sort order: ascending (true) or descending (false).
     */
    public boolean isAscending() {
        return this.ascending;
    }

    /**
     * Invert the sort order: ascending -> descending or
     * descending -> ascending.
     */
    public void invertOrder() {
        this.ascending = !this.ascending;
    }

    public int compare(T o1, T o2) {
        int result = this.comparator.compare(o1, o2);
        if (result != 0) {
            // Invert the order if it is a reverse sort.
            if (!this.ascending) {
                if (Integer.MIN_VALUE == result) {
                    result = Integer.MAX_VALUE;
                } else {
                    result *= -1;
                }
            }
            return result;
        }
        return 0;
    }

    @Override
    @SuppressWarnings("unchecked")
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof InvertibleComparator)) {
            return false;
        }
        InvertibleComparator<T> other = (InvertibleComparator<T>) obj;
        return (this.comparator.equals(other.comparator) && this.ascending == other.ascending);
    }

    @Override
    public int hashCode() {
        return this.comparator.hashCode();
    }

    @Override
    public String toString() {
        return "InvertibleComparator: [" + this.comparator + "]; ascending=" + this.ascending;
    }
}


text:
#ifndef __c15_CSE1_DP_h__
#define __c15_CSE1_DP_h__

/* Include files */
#include "sf_runtime/sfc_sf.h"
#include "sf_runtime/sfc_mex.h"
#include "rtwtypes.h"
#include "multiword_types.h"

/* Type Definitions */
#ifndef typedef_SFc15_CSE1_DPInstanceStruct
#define typedef_SFc15_CSE1_DPInstanceStruct

typedef struct {
  SimStruct *S;
  ChartInfoStruct chartInfo;
  uint32_T chartNumber;
  uint32_T instanceNumber;
  int32_T c15_sfEvent;
  boolean_T c15_isStable;
  boolean_T c15_doneDoubleBufferReInit;
  uint8_T c15_is_active_c15_CSE1_DP;
} SFc15_CSE1_DPInstanceStruct;

#endif                                 /*typedef_SFc15_CSE1_DPInstanceStruct*/

/* Named Constants */

/* Variable Declarations */

/* Variable Definitions */

/* Function Declarations */
extern const mxArray *sf_c15_CSE1_DP_get_eml_resolved_functions_info(void);

/* Function Definitions */
extern void sf_c15_CSE1_DP_get_check_sum(mxArray *plhs[]);
extern void c15_CSE1_DP_method_dispatcher(SimStruct *S, int_T method, void *data);

#endif


text:
<?xml version = '1.0' encoding = 'UTF-8'?>
<relationalModel class="oracle.dbtools.crest.model.design.relational.RelationalDesign" name="Relational_1" id="85BF9D9F-1207-0CFD-E44E-02CF24017447" mainViewID="9311705F-BC6E-9410-98D6-C07A51A2BA09">
<createdBy>1GBD09</createdBy>
<createdTime>2016-02-26 09:04:13 UTC</createdTime>
<generatorID>Generado por el Usuario</generatorID>
<ownerDesignName>ProyectoMER</ownerDesignName>
<shouldBeOpen>true</shouldBeOpen>
<selectedRDBMSSite>32076570-2523-435C-2E92-BF29817DFF70</selectedRDBMSSite>
</relationalModel>


text:
var mongoose   = require('mongoose'),
  ObjectId   = mongoose.Schema.Types.ObjectId;

var schema = mongoose.Schema({
  awayTeam: {ref: 'Team', type: ObjectId},
  homeTeam: {ref: 'Team', type: ObjectId},
  stadium: {ref: 'Stadium', type: ObjectId},
  score: Object,
  attendance: Number,
  soldout: Boolean,
  date: String,
  weatherType: String,
  weatherTemp: Number,
  weatherWindSpeed: Number
});

module.exports = mongoose.model('Game', schema);


text:
<?php

namespace Roketin;

class RUserFunction extends Roketin
{
    /**
     * @var string
     */
    protected $arrUpdate = "";

    public function __construct()
    {
        parent::__construct();
    }

    /**
     * @param $first_name
     * @param $last_name
     * @param $email
     * @param $phone
     * @param $password
     * @param $password_confirmation
     * @param $bcc
     * @return mixed
     */
    public function register($first_name, $last_name, $email, $phone, $password, $password_confirmation, $bcc = null)
    {
        $password              = $this->encrypter->encrypt($password);
        $password_confirmation = $this->encrypter->encrypt($password_confirmation);

        $result = $this->callAPI("user/register", compact('first_name', 'last_name', 'email', 'phone', 'password', 'password_confirmation', 'bcc'), "POST");
        return $result;
    }

    /**
     * @param $token
     * @return mixed
     */
    public function activate($token)
    {
        $result = $this->callAPI("user/activation/" . $token);
        if (!isset($result->errors)) {
            return true;
        }
        return $result;
    }

    /**
     * @param $email
     * @return mixed
     */
    public function resendActivation($email)
    {
        $result = $this->callAPI("user/activation/resend/" . $email);
        if (!isset($result->errors)) {
            return true;
        }
        return $result;
    }

    /**
     * @param $email
     * @param $bcc
     * @return mixed
     */
    public function forgot($email, $bcc = null)
    {
        $result = $this->callAPI("user/password/forgot", compact('email', 'bcc'), "POST");
        if (!isset($result->errors)) {
            return true;
        }
        return $result;
    }

    /**
     * @param $token
     * @param $password
     * @param $password_confirmation
     * @param $bcc
     * @return mixed
     */
    public function resetPassword($token, $password, $password_confirmation, $bcc = null)
    {
        $password              = $this->encrypter->encrypt($password);
        $password_confirmation = $this->encrypter->encrypt($password_confirmation);

        $result = $this->callAPI('user/password/reset/' . $token, compact('password', 'password_confirmation', 'bcc'), "POST");
        if (!isset($result->errors)) {
            return true;
        }
        return $result;
    }

    /**
     * @param $token
     * @return mixed
     */
    public function transactionHistory($token = null)
    {
        $token        = is_null($token) ? session('token') : $token;
        $this->routes = "user/transaction/history?token=" . $token;
        return $this;
    }

    /**
     * @param array $array
     * @return mixed
     */
    public function update(array $array)
    {
        if (!isset($array['old_password'])) {
            throw new \Exception("key 'old_password' is required", 1);
        }
        $array['old_password'] = $this->encrypter->encrypt($array['old_password']);
        if (isset($array['password'])) {
            $array['password'] = $this->encrypter->encrypt($array['password']);
            $array['password_confirmation'] = $this->encrypter->encrypt($array['password_confirmation']);
        }

        return $this->callAPI('user/update?token=' . session('token'), $array, "POST");
    }
}


text:
{% extends "bootstrap/base.html" %}

{% block title %}BookSheet! {% endblock %}
{% block head %}
{{ super() }}
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
<link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='styles.css') }}">
{% endblock %}
{% block navbar %}

					 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom: 10px;"> Toggle navigation</button> BookSheet!

							  Log In

							 Sign IN

							 Actions

									My Bookmarks

									Log Out

					<form class="navbar-form" role="search">

								<input type="text" class="form-control" placeholder="Search...">

									<button type="submit" class="btn btn-default">

											Search...

									</button>

					</form>

{% endblock %}
{% block content %}

	    {% for message in get_flashed_messages() %}

		        <button type="button" class="close" data-dismiss="alert">×</button>
		        {{ message }}

	    {% endfor %}

{% block page_content%}

{% endblock %}
{% block footer %}

© 2015 - Site D4F
			           Comunity

			       GO UP

{% endblock %}

{% endblock %}
{% block scripts %}
{{ super() }}
{{ moment.include_moment() }}
{% endblock %}


text:
<?php

namespace Admin\Classes;

use Igniter\Flame\Html\HtmlFacade as Html;
use Illuminate\Database\Eloquent\Model;

/**
 * Form Field definition
 * A translation of the form field configuration
 *
 * Adapted from october\backend\classes\FormField
 */
class FormField
{
    /**
     * @var int Value returned when the form field should not contribute any save data.
     */
    const NO_SAVE_DATA = -1;

    /**
     * @var string Form field name.
     */
    public $fieldName;

    /**
     * @var string If the field element names should be contained in an array.
     * Eg: <input name="nameArray[fieldName]" />
     */
    public $arrayName;

    /**
     * @var string A prefix to the field identifier so it can be totally unique.
     */
    public $idPrefix;

    /**
     * @var string Form field label.
     */
    public $label;

    /**
     * @var string Form field value.
     */
    public $value;

    /**
     * @var string Model attribute to use for the display value.
     */
    public $valueFrom;

    /**
     * @var string Specifies a default value for supported fields.
     */
    public $defaults;

    /**
     * @var string Model attribute to use for the default value.
     */
    public $defaultFrom;

    /**
     * @var string Specifies if this field belongs to a tab.
     */
    public $tab;

    /**
     * @var string Display mode. Text, textarea
     */
    public $type = 'text';

    /**
     * @var string Field options.
     */
    public $options;

    /**
     * @var string Specifies a side. Possible values: auto, left, right, full.
     */
    public $span = 'full';

    /**
     * @var string Specifies a size. Possible values: tiny, small, large, huge, giant.
     */
    public $size = 'large';

    /**
     * @var string Specifies contextual visibility of this form field.
     */
    public $context = null;

    /**
     * @var bool Specifies if this field is mandatory.
     */
    public $required = false;

    /**
     * @var bool Specify if the field is read-only or not.
     */
    public $readOnly = false;

    /**
     * @var bool Specify if the field is disabled or not.
     */
    public $disabled = false;

    /**
     * @var bool Specify if the field is hidden. Hiddens fields are not included in postbacks.
     */
    public $hidden = false;

    /**
     * @var bool Specifies if this field stretch to fit the page height.
     */
    public $stretch = false;

    /**
     * @var string Specifies a comment to accompany the field
     */
    public $comment;

    /**
     * @var string Specifies the comment position.
     */
    public $commentPosition = 'below';

    /**
     * @var string Specifies if the comment is in HTML format.
     */
    public $commentHtml = false;

    /**
     * @var string Specifies a message to display when there is no value supplied (placeholder).
     */
    public $placeholder;

    /**
     * @var array Contains a list of attributes specified in the field configuration.
     */
    public $attributes;

    /**
     * @var string Specifies a CSS class to attach to the field container.
     */
    public $cssClass;

    /**
     * @var string Specifies a path for partial-type fields.
     */
    public $path;

    /**
     * @var array Raw field configuration.
     */
    public $config;

    /**
     * @var array Other field names this field depends on, when the other fields are modified, this field will update.
     */
    public $dependsOn;

    /**
     * @var array Other field names this field can be triggered by, see the Trigger API documentation.
     */
    public $trigger;

    /**
     * @var array Other field names text is converted in to a URL, slug or file name value in this field.
     */
    public $preset;

    /**
     * Constructor.
     *
     * @param string $fieldName
     * @param string $label
     */
    public function __construct($fieldName, $label)
    {
        $this->fieldName = $fieldName;
        $this->label = $label;
    }

    /**
     * If this field belongs to a tab.
     *
     * @param $value
     *
     * @return $this
     */
    public function tab($value)
    {
        $this->tab = $value;

        return $this;
    }

    /**
     * Sets a side of the field on a form.
     *
     * @param string $value Specifies a side. Possible values: left, right, full
     *
     * @return $this
     */
    public function span($value = 'full')
    {
        $this->span = $value;

        return $this;
    }

    /**
     * Sets a side of the field on a form.
     *
     * @param string $value Specifies a size. Possible values: tiny, small, large, huge, giant
     *
     * @return $this
     */
    public function size($value = 'large')
    {
        $this->size = $value;

        return $this;
    }

    /**
     * Sets field options, for dropdowns, radio lists and checkbox lists.
     *
     * @param array $value
     *
     * @return self|array
     */
    public function options($value = null)
    {
        if ($value === null) {
            if (is_array($this->options)) {
                return $this->options;
            }
            elseif (is_callable($this->options)) {
                $callable = $this->options;

                return $callable();
            }

            return [];
        }
        else {
            $this->options = $value;
        }

        return $this;
    }

    /**
     * Specifies a field control rendering mode. Supported modes are:
     * - text - creates a text field. Default for varchar column types.
     * - textarea - creates a textarea control. Default for text column types.
     * - select - creates a drop-down list. Default for reference-based columns.
     * - radio - creates a set of radio buttons.
     * - checkbox - creates a single checkbox.
     * - checkboxlist - creates a checkbox list.
     * - radiolist - creates a radio list.
     *
     * @param string $type Specifies a render mode as described above
     * @param array $config A list of render mode specific config.
     *
     * @return $this
     */
    public function displayAs($type, $config = [])
    {
        $this->type = strtolower($type) ?: $this->type;
        $this->config = $this->evalConfig($config);

        return $this;
    }

    /**
     * Process options and apply them to this object.
     *
     * @param array $config
     *
     * @return array
     */
    protected function evalConfig($config)
    {
        if (is_null($config)) {
            $config = [];
        }

        /*
         * Standard config:property values
         */
        $applyConfigValues = [
            'commentHtml',
            'placeholder',
            'dependsOn',
            'required',
            'disabled',
            'cssClass',
            'stretch',
            'context',
            'hidden',
            'trigger',
            'preset',
            'path',
        ];

        foreach ($applyConfigValues as $value) {
            if (array_key_exists($value, $config)) {
                $this->{$value} = $config[$value];
            }
        }

        /*
         * Custom applicators
         */
        if (isset($config['options'])) {
            $this->options($config['options']);
        }
        if (isset($config['span'])) {
            $this->span($config['span']);
        }
        if (isset($config['size'])) {
            $this->size($config['size']);
        }
        if (isset($config['tab'])) {
            $this->tab($config['tab']);
        }
        if (isset($config['commentAbove'])) {
            $this->comment($config['commentAbove'], 'above');
        }
        if (isset($config['comment'])) {
            $this->comment($config['comment']);
        }
        if (isset($config['default'])) {
            $this->defaults = $config['default'];
        }
        if (isset($config['defaultFrom'])) {
            $this->defaultFrom = $config['defaultFrom'];
        }
        if (isset($config['attributes'])) {
            $this->attributes($config['attributes']);
        }
        if (isset($config['containerAttributes'])) {
            $this->attributes($config['containerAttributes'], 'container');
        }

        if (isset($config['valueFrom'])) {
            $this->valueFrom = $config['valueFrom'];
        }
        else {
            $this->valueFrom = $this->fieldName;
        }

        return $config;
    }

    /**
     * Adds a text comment above or below the field.
     *
     * @param string $text Specifies a comment text.
     * @param string $position Specifies a comment position.
     * @param bool $isHtml Set to true if you use HTML formatting in the comment
     * Supported values are 'below' and 'above'
     *
     * @return $this
     */
    public function comment($text, $position = 'below', $isHtml = null)
    {
        $this->comment = $text;
        $this->commentPosition = $position;

        if ($isHtml !== null) {
            $this->commentHtml = $isHtml;
        }

        return $this;
    }

    /**
     * Sets the attributes for this field in a given position.
     * - field: Attributes are added to the form field element (input, select, textarea, etc)
     * - container: Attributes are added to the form field container (div.form-group)
     *
     * @param array $items
     * @param string $position
     *
     * @return self
     */
    public function attributes($items, $position = 'field')
    {
        if (!is_array($items)) {
            return null;
        }

        $multiArray = array_filter($items, 'is_array');
        if (!$multiArray) {
            $this->attributes[$position] = $items;

            return null;
        }

        foreach ($items as $_position => $_items) {
            $this->attributes($_items, $_position);
        }

        return $this;
    }

    /**
     * Checks if the field has the supplied [unfiltered] attribute.
     *
     * @param string $name
     * @param string $position
     *
     * @return bool
     */
    public function hasAttribute($name, $position = 'field')
    {
        if (!isset($this->attributes[$position])) {
            return false;
        }

        return array_key_exists($name, $this->attributes[$position]);
    }

    /**
     * Returns the attributes for this field at a given position.
     *
     * @param string $position
     *
     * @param bool $htmlBuild
     *
     * @return string
     */
    public function getAttributes($position = 'field', $htmlBuild = true)
    {
        $result = array_get($this->attributes, $position, []);
        $result = $this->filterAttributes($result, $position);

        return $htmlBuild ? Html::attributes($result) : $result;
    }

    /**
     * Adds any circumstantial attributes to the field based on other
     * settings, such as the 'disabled' option.
     *
     * @param array $attributes
     * @param string $position
     *
     * @return array
     */
    protected function filterAttributes($attributes, $position = 'field')
    {
        $position = strtolower($position);

        $attributes = $this->filterTriggerAttributes($attributes, $position);
        $attributes = $this->filterPresetAttributes($attributes, $position);

        if ($position == 'field' && $this->disabled) {
            $attributes += ['disabled' => 'disabled'];
        }

        if ($position == 'field' && $this->readOnly) {
            $attributes += ['readonly' => 'readonly'];

            if ($this->type == 'checkbox' || $this->type == 'switch') {
                $attributes += ['onclick' => 'return false;'];
            }
        }

        return $attributes;
    }

    /**
     * Adds attributes used specifically by the Trigger API
     *
     * @param array $attributes
     * @param string $position
     *
     * @return array
     */
    protected function filterTriggerAttributes($attributes, $position = 'field')
    {
        if (!$this->trigger || !is_array($this->trigger)) {
            return $attributes;
        }

        $triggerAction = array_get($this->trigger, 'action');
        $triggerField = array_get($this->trigger, 'field');
        $triggerCondition = array_get($this->trigger, 'condition');

        // Apply these to container
        if (in_array($triggerAction, ['hide', 'show']) && $position != 'container') {
            return $attributes;
        }

        // Apply these to field/input
        if (in_array($triggerAction, ['enable', 'disable', 'empty']) && $position != 'field') {
            return $attributes;
        }

        if ($this->arrayName) {
            $fullTriggerField = $this->arrayName.'['.implode('][', name_to_array($triggerField)).']';
        }
        else {
            $fullTriggerField = $triggerField;
        }

        $newAttributes = [
            'data-trigger' => '[name=\''.trim($fullTriggerField).'\']',
            'data-trigger-action' => $triggerAction,
            'data-trigger-condition' => $triggerCondition,
            'data-trigger-closest-parent' => 'form',
        ];

        $attributes = $attributes + $newAttributes;

        return $attributes;
    }

    /**
     * Adds attributes used specifically by the Input Preset API
     *
     * @param array $attributes
     * @param string $position
     *
     * @return array
     */
    protected function filterPresetAttributes($attributes, $position = 'field')
    {
        if (!$this->preset || $position != 'field') {
            return $attributes;
        }

        if (!is_array($this->preset)) {
            $this->preset = ['field' => $this->preset, 'type' => 'slug'];
        }

        $presetField = array_get($this->preset, 'field');
        $presetType = array_get($this->preset, 'type');

        if ($this->arrayName) {
            $fullPresetField = $this->arrayName.'['.implode('][', name_to_array($presetField)).']';
        }
        else {
            $fullPresetField = $presetField;
        }

        $newAttributes = [
            'data-input-preset' => '[name="'.$fullPresetField.'"]',
            'data-input-preset-type' => $presetType,
            'data-input-preset-closest-parent' => 'form',
        ];

        if ($prefixInput = array_get($this->preset, 'prefixInput')) {
            $newAttributes['data-input-preset-prefix-input'] = $prefixInput;
        }

        $attributes = $attributes + $newAttributes;

        return $attributes;
    }

    /**
     * Returns a value suitable for the field name property.
     *
     * @param string $arrayName Specify a custom array name
     *
     * @return string
     */
    public function getName($arrayName = null)
    {
        if ($arrayName === null) {
            $arrayName = $this->arrayName;
        }

        if ($arrayName) {
            return $arrayName.'['.implode('][', name_to_array($this->fieldName)).']';
        }
        else {
            return $this->fieldName;
        }
    }

    /**
     * Returns a value suitable for the field id property.
     *
     * @param string $suffix Specify a suffix string
     *
     * @return string
     */
    public function getId($suffix = null)
    {
        $id = 'field';
        if ($this->arrayName) {
            $id .= '-'.$this->arrayName;
        }

        $id .= '-'.$this->fieldName;

        if ($suffix) {
            $id .= '-'.$suffix;
        }

        if ($this->idPrefix) {
            $id = $this->idPrefix.'-'.$id;
        }

        return strtolower(name_to_id($id));
    }

    /**
     * Returns a raw config item value.
     *
     * @param string $value
     * @param string $default
     *
     * @return mixed
     */
    public function getConfig($value, $default = null)
    {
        return array_get($this->config, $value, $default);
    }

    /**
     * Returns this fields value from a supplied data set, which can be
     * an array or a model or another generic collection.
     *
     * @param mixed $data
     * @param mixed $default
     *
     * @return mixed
     */
    public function getValueFromData($data, $default = null)
    {
        $fieldName = $this->valueFrom ?: $this->fieldName;

        return $this->getFieldNameFromData($fieldName, $data, $default);
    }

    /**
     * Returns the default value for this field, the supplied data is used
     * to source data when defaultFrom is specified.
     *
     * @param mixed $data
     *
     * @return mixed
     */
    public function getDefaultFromData($data)
    {
        if ($this->defaultFrom) {
            return $this->getFieldNameFromData($this->defaultFrom, $data);
        }

        if ($this->defaults !== '') {
            return $this->defaults;
        }

        return null;
    }

    /**
     * Returns the final model and attribute name of a nested attribute.
     * Eg: list($model, $attribute) = $this->resolveAttribute('person[phone]');
     *
     * @param $model
     * @param string $attribute .
     *
     * @return array
     */
    public function resolveModelAttribute($model, $attribute = null)
    {
        if ($attribute === null) {
            $attribute = $this->valueFrom ?: $this->fieldName;
        }

        $parts = is_array($attribute) ? $attribute : name_to_array($attribute);
        $last = array_pop($parts);

        foreach ($parts as $part) {
            $model = $model->{$part};
        }

        return [$model, $last];
    }

    /**
     * Internal method to extract the value of a field name from a data set.
     *
     * @param string $fieldName
     * @param mixed $data
     * @param mixed $default
     *
     * @return mixed
     */
    protected function getFieldNameFromData($fieldName, $data, $default = null)
    {
        // Array field name, eg: field[key][key2][key3]
        $keyParts = name_to_array($fieldName);
        $lastField = end($keyParts);
        $result = $data;

        // Loop the field key parts and build a value
        // To support relations only the last field should return th
        // relation value, all others will look up the relation object as normal.
        foreach ($keyParts as $key) {
            if ($result instanceof Model && $result->hasRelation($key)) {
                if ($key == $lastField) {
                    $result = $result->getRelationValue($key) ?: $default;
                }
                else {
                    $result = $result->{$key};
                }
            }
            elseif (is_array($result)) {
                if (!array_key_exists($key, $result)) {
                    return $default;
                }
                $result = $result[$key];
            }
            else {
                if (!isset($result->{$key})) {
                    return $default;
                }
                $result = $result->{$key};
            }
        }

        return $result;
    }
}


text:
#ifndef BITCOIN_LIBSECP256K1_CONFIG_H
#define BITCOIN_LIBSECP256K1_CONFIG_H

#undef USE_ASM_X86_64
#undef USE_ENDOMORPHISM
#undef USE_FIELD_10X26
#undef USE_FIELD_5X52
#undef USE_FIELD_INV_BUILTIN
#undef USE_FIELD_INV_NUM
#undef USE_NUM_GMP
#undef USE_NUM_NONE
#undef USE_SCALAR_4X64
#undef USE_SCALAR_8X32
#undef USE_SCALAR_INV_BUILTIN
#undef USE_SCALAR_INV_NUM

#define USE_NUM_NONE 1
#define USE_FIELD_INV_BUILTIN 1
#define USE_SCALAR_INV_BUILTIN 1
#define USE_FIELD_10X26 1
#define USE_SCALAR_8X32 1

#define ECMULT_GEN_PREC_BITS 4
#define ECMULT_WINDOW_SIZE 15

#endif // BITCOIN_LIBSECP256K1_CONFIG_H


text:
package com.planet_ink.coffee_mud.Items.ClanItems;
import com.planet_ink.coffee_mud.core.interfaces.*;
import com.planet_ink.coffee_mud.core.*;
import com.planet_ink.coffee_mud.core.collections.*;
import com.planet_ink.coffee_mud.Abilities.interfaces.*;
import com.planet_ink.coffee_mud.Areas.interfaces.*;
import com.planet_ink.coffee_mud.Behaviors.interfaces.*;
import com.planet_ink.coffee_mud.CharClasses.interfaces.*;
import com.planet_ink.coffee_mud.Commands.interfaces.*;
import com.planet_ink.coffee_mud.Common.interfaces.*;
import com.planet_ink.coffee_mud.Exits.interfaces.*;
import com.planet_ink.coffee_mud.Items.interfaces.*;
import com.planet_ink.coffee_mud.Locales.interfaces.*;
import com.planet_ink.coffee_mud.MOBS.interfaces.*;
import com.planet_ink.coffee_mud.Races.interfaces.*;

import java.util.*;
import com.planet_ink.coffee_mud.Libraries.interfaces.*;

public class GenClanDonationList extends StdClanDonationList
{
	@Override public String ID(){ return "GenClanDonationList";}
	protected String readableText="";
	public GenClanDonationList()
	{
		super();
		setName("a generic clan donation list");
		setDisplayText("a generic clan donation list sits here.");
		recoverPhyStats();
	}

	@Override public boolean isGeneric(){return true;}

	@Override
	public String text()
	{
		return CMLib.coffeeMaker().getPropertiesStr(this,false);
	}

	@Override public String readableText(){return readableText;}
	@Override public void setReadableText(String text){readableText=text;}
	@Override
	public void setMiscText(String newText)
	{
		miscText="";
		CMLib.coffeeMaker().setPropertiesStr(this,newText,false);
		recoverPhyStats();
	}
	private final static String[] MYCODES={"CLANID","CITYPE"};
	@Override
	public String getStat(String code)
	{
		if(CMLib.coffeeMaker().getGenItemCodeNum(code)>=0)
			return CMLib.coffeeMaker().getGenItemStat(this,code);
		switch(getCodeNum(code))
		{
		case 0: return clanID();
		case 1: return ""+ciType();
		default:
			return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
		}
	}
	@Override
	public void setStat(String code, String val)
	{
		if(CMLib.coffeeMaker().getGenItemCodeNum(code)>=0)
			CMLib.coffeeMaker().setGenItemStat(this,code,val);
		else
		switch(getCodeNum(code))
		{
		case 0: setClanID(val); break;
		case 1: setCIType(CMath.s_parseListIntExpression(ClanItem.CI_DESC,val)); break;
		default:
			CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
			break;
		}
	}
	@Override
	protected int getCodeNum(String code)
	{
		for(int i=0;i<MYCODES.length;i++)
			if(code.equalsIgnoreCase(MYCODES[i]))
				return i;
		return -1;
	}
	private static String[] codes=null;
	@Override
	public String[] getStatCodes()
	{
		if(codes!=null)
			return codes;
		final String[] MYCODES=CMProps.getStatCodesList(GenClanDonationList.MYCODES,this);
		final String[] superCodes=GenericBuilder.GENITEMCODES;
		codes=new String[superCodes.length+MYCODES.length];
		int i=0;
		for(;i<superCodes.length;i++)
			codes[i]=superCodes[i];
		for(int x=0;x<MYCODES.length;i++,x++)
			codes[i]=MYCODES[x];
		return codes;
	}
	@Override
	public boolean sameAs(Environmental E)
	{
		if(!(E instanceof GenClanDonationList))
			return false;
		final String[] codes=getStatCodes();
		for(int i=0;i<codes.length;i++)
			if(!E.getStat(codes[i]).equals(getStat(codes[i])))
				return false;
		return true;
	}
}