text:
require 'omniauth/core'
require 'omniauth/strategies/windows_live/windowslivelogin'

module OmniAuth
  module Strategies
    class WindowsLive
      include OmniAuth::Strategy

      attr_accessor :app_id, :app_secret

      # Initialize the strategy by providing
      #
      # @param app_id [String] The application ID from your registered app with Microsoft.
      # @param app_secret [String] The secret from your registered app with Microsoft.
      # @option options [String] :locale A localization string for the login, should be in the form `en-us` or similar.
      # @option options [String] :state Some state information that is serialized into the query string upon callback.
      # @option options [Boolean] :ssl Whether or not to use SSL for login. Defaults to `true`.
      # @option options [Boolean] :force_nonprovisioned When true, forces a non-provisioned (i.e. no app id or secret) mode.
      def initialize(app, app_id = nil, app_secret = nil, options = {})
        self.app_id = app_id
        self.app_secret = app_secret
        super(app, :windows_live, app_id, app_secret, options)
        options[:ssl] ||= true
        options[:locale] ||= 'en-us'
        options[:force_nonprovisioned] = true unless app_id
      end

      protected

      def consumer
        WindowsLiveLogin.new app_id, app_secret, options[:security_algorithm], options[:force_nonprovisioned], options[:policy_url], callback_url
      end

      def request_phase
        redirect consumer.getLoginUrl(options[:state], options[:locale])
      end
    end
  end
end


text:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ChangeListManager">
    <list default="true" id="b788212b-573c-41e4-82ba-883d8cb60138" name="Default" comment="">
      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions" afterPath="$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions" />
    </list>
    <ignored path="firewallconfigdecryptor.iws" />
    <ignored path=".idea/workspace.xml" />
    <option name="TRACKING_ENABLED" value="true" />
    <option name="SHOW_DIALOG" value="false" />
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
    <option name="LAST_RESOLUTION" value="IGNORE" />
  </component>
  <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
  <component name="CreatePatchCommitExecutor">
    <option name="PATCH_PATH" value="" />
  </component>
  <component name="DaemonCodeAnalyzer">
    <disable_hints />
  </component>
  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
  <component name="FavoritesManager">
    <favorites_list name="firewallconfigdecryptor" />
  </component>
  <component name="FileEditorManager">
    <leaf>
      <file leaf-file-name="usage instructions" pinned="false" current="true" current-in-tab="true">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions">
          <provider selected="true" editor-type-id="text-editor">
            <state line="24" column="16" selection-start="623" selection-end="623" vertical-scroll-proportion="0.5535714" vertical-offset="81" max-vertical-offset="2010">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="console_script.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/console_script.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="76" column="0" selection-start="2446" selection-end="2446" vertical-scroll-proportion="0.0" vertical-offset="1007" max-vertical-offset="1755">
              <folding>
                <element signature="e#0#20#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="cisco.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/parsers/platform/cisco.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="25" column="0" selection-start="977" selection-end="977" vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="12645">
              <folding>
                <element signature="e#0#61#0" expanded="true" />
              </folding>
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="config_parser.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/config_parser.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="10" column="9" selection-start="532" selection-end="532" vertical-scroll-proportion="0.0" vertical-offset="150" max-vertical-offset="44955">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="input_parser.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/input_parser.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="24" column="12" selection-start="703" selection-end="703" vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="600">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="properties.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/properties.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="4" column="27" selection-start="235" selection-end="235" vertical-scroll-proportion="0.0" vertical-offset="60" max-vertical-offset="390">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="device.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/device.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="11" column="13" selection-start="449" selection-end="449" vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="825">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
      <file leaf-file-name="setup.py" pinned="false" current="false" current-in-tab="false">
        <entry file="file://$PROJECT_DIR$/setup.py">
          <provider selected="true" editor-type-id="text-editor">
            <state line="46" column="30" selection-start="1362" selection-end="1362" vertical-scroll-proportion="0.0" vertical-offset="436" max-vertical-offset="1260">
              <folding />
            </state>
          </provider>
        </entry>
      </file>
    </leaf>
  </component>
  <component name="FindManager">
    <FindUsagesManager>
      <setting name="OPEN_NEW_TAB" value="false" />
    </FindUsagesManager>
  </component>
  <component name="Git.Settings">
    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
  </component>
  <component name="IdeDocumentHistory">
    <option name="changedFiles">
      <list>
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/properties.py" />
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/config_parser.py" />
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/input_parser.py" />
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/parsers/platform/cisco.py" />
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/console_script.py" />
        <option value="$PROJECT_DIR$/setup.py" />
        <option value="$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions" />
      </list>
    </option>
  </component>
  <component name="ProjectFrameBounds">
    <option name="x" value="86" />
    <option name="y" value="34" />
    <option name="width" value="1753" />
    <option name="height" value="981" />
  </component>
  <component name="ProjectLevelVcsManager" settingsEditedManually="false">
    <OptionsSetting value="true" id="Add" />
    <OptionsSetting value="true" id="Remove" />
    <OptionsSetting value="true" id="Checkout" />
    <OptionsSetting value="true" id="Update" />
    <OptionsSetting value="true" id="Status" />
    <OptionsSetting value="true" id="Edit" />
    <ConfirmationsSetting value="0" id="Add" />
    <ConfirmationsSetting value="0" id="Remove" />
  </component>
  <component name="ProjectReloadState">
    <option name="STATE" value="0" />
  </component>
  <component name="ProjectView">
    <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
      <flattenPackages />
      <showMembers />
      <showModules />
      <showLibraryContents />
      <hideEmptyPackages />
      <abbreviatePackageNames />
      <autoscrollToSource />
      <autoscrollFromSource />
      <sortByType />
    </navigator>
    <panes>
      <pane id="Scope" />
      <pane id="ProjectPane">
        <subPane>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="docs" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
          <PATH>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="firewallconfigdecryptor" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
            <PATH_ELEMENT>
              <option name="myItemId" value="dist" />
              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
            </PATH_ELEMENT>
          </PATH>
        </subPane>
      </pane>
    </panes>
  </component>
  <component name="PropertiesComponent">
    <property name="last_opened_file_path" value="$PROJECT_DIR$/../../Python/Pycharm/Pycharm Projects/FireSpec 1" />
    <property name="options.lastSelected" value="preferences.sourceCode.HTML" />
    <property name="options.splitter.main.proportions" value="0.3" />
    <property name="options.splitter.details.proportions" value="0.2" />
    <property name="options.searchVisible" value="true" />
    <property name="recentsLimit" value="5" />
  </component>
  <component name="PyConsoleOptionsProvider">
    <option name="myPythonConsoleState">
      <console-settings />
    </option>
  </component>
  <component name="RunManager" selected="Python.console_script">
    <configuration default="false" name="console_script" type="PythonConfigurationType" factoryName="Python" temporary="true">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/firewallconfigdecryptor" />
      <option name="IS_MODULE_SDK" value="true" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="$PROJECT_DIR$/firewallconfigdecryptor/console_script.py" />
      <option name="PARAMETERS" value="" />
      <RunnerSettings RunnerId="PyDebugRunner" />
      <ConfigurationWrapper RunnerId="PyDebugRunner" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="py.test">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="testToRun" value="" />
      <option name="keywords" value="" />
      <option name="params" value="" />
      <option name="USE_PARAM" value="false" />
      <option name="USE_KEYWORD" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Nosetests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="PARAMS" value="" />
      <option name="USE_PARAM" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="PythonConfigurationType" factoryName="Python">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs>
        <env name="PYTHONUNBUFFERED" value="1" />
      </envs>
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="PARAMETERS" value="" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Unittests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <option name="PUREUNITTEST" value="true" />
      <option name="PARAMS" value="" />
      <option name="USE_PARAM" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Doctests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <method />
    </configuration>
    <configuration default="true" type="tests" factoryName="Attests">
      <option name="INTERPRETER_OPTIONS" value="" />
      <option name="PARENT_ENVS" value="true" />
      <envs />
      <option name="SDK_HOME" value="" />
      <option name="WORKING_DIRECTORY" value="" />
      <option name="IS_MODULE_SDK" value="false" />
      <option name="ADD_CONTENT_ROOTS" value="true" />
      <option name="ADD_SOURCE_ROOTS" value="true" />
      <module name="firewallconfigdecryptor" />
      <option name="SCRIPT_NAME" value="" />
      <option name="CLASS_NAME" value="" />
      <option name="METHOD_NAME" value="" />
      <option name="FOLDER_NAME" value="" />
      <option name="TEST_TYPE" value="TEST_SCRIPT" />
      <option name="PATTERN" value="" />
      <option name="USE_PATTERN" value="false" />
      <method />
    </configuration>
    <list size="1">
      <item index="0" class="java.lang.String" itemvalue="Python.console_script" />
    </list>
    <recent_temporary>
      <list size="1">
        <item index="0" class="java.lang.String" itemvalue="Python.console_script" />
      </list>
    </recent_temporary>
  </component>
  <component name="ShelveChangesManager" show_recycled="false" />
  <component name="TaskManager">
    <task active="true" id="Default" summary="Default task">
      <changelist id="b788212b-573c-41e4-82ba-883d8cb60138" name="Default" comment="" />
      <created>1428375089048</created>
      <updated>1428375089048</updated>
    </task>
    <servers />
  </component>
  <component name="ToolWindowManager">
    <frame x="86" y="34" width="1753" height="981" extended-state="0" />
    <editor active="true" />
    <layout>
      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19680548" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.39954853" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.48758465" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
    </layout>
  </component>
  <component name="Vcs.Log.UiProperties">
    <option name="RECENTLY_FILTERED_USER_GROUPS">
      <collection />
    </option>
  </component>
  <component name="VcsContentAnnotationSettings">
    <option name="myLimit" value="2678400000" />
  </component>
  <component name="VcsManagerConfiguration">
    <option name="myTodoPanelSettings">
      <TodoPanelSettings />
    </option>
  </component>
  <component name="XDebuggerManager">
    <breakpoint-manager>
      <option name="time" value="3" />
    </breakpoint-manager>
  </component>
  <component name="editorHistoryManager">
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions">
      <provider selected="true" editor-type-id="text-editor">
        <state line="120" column="103" selection-start="4045" selection-end="4045" vertical-scroll-proportion="0.0" vertical-offset="1227" max-vertical-offset="2085">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/console_script.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="2" column="14" selection-start="63" selection-end="77" vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="1755">
          <folding>
            <element signature="e#0#20#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/parsers/platform/cisco.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="14" column="10" selection-start="683" selection-end="683" vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="12645">
          <folding>
            <element signature="e#0#61#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/config_parser.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="10" column="9" selection-start="532" selection-end="532" vertical-scroll-proportion="0.0" vertical-offset="150" max-vertical-offset="44955">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/input_parser.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="24" column="12" selection-start="703" selection-end="703" vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="600">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/properties.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="4" column="27" selection-start="235" selection-end="235" vertical-scroll-proportion="0.0" vertical-offset="60" max-vertical-offset="390">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/device.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="11" column="13" selection-start="449" selection-end="449" vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="825">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/setup.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="41" column="24" selection-start="1253" selection-end="1253" vertical-scroll-proportion="0.0" vertical-offset="615" max-vertical-offset="1230">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/device.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="11" column="13" selection-start="449" selection-end="449" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="825">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/properties.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="4" column="27" selection-start="235" selection-end="235" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="390">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$APPLICATION_HOME_DIR$/helpers/pydev/pydevd.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="1144" column="0" selection-start="47625" selection-end="47625" vertical-scroll-proportion="0.33333334" vertical-offset="16017" max-vertical-offset="22125" />
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/input_parser.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="24" column="12" selection-start="703" selection-end="703" vertical-scroll-proportion="0.0" vertical-offset="360" max-vertical-offset="600">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/exception.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="15" column="6" selection-start="598" selection-end="598" vertical-scroll-proportion="0.52816904" vertical-offset="0" max-vertical-offset="426" />
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/log.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="630" />
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/parsers/platform/cisco.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="25" column="0" selection-start="977" selection-end="977" vertical-scroll-proportion="0.0" vertical-offset="180" max-vertical-offset="12645">
          <folding>
            <element signature="e#0#61#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/console_script.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="76" column="0" selection-start="2446" selection-end="2446" vertical-scroll-proportion="0.0" vertical-offset="1007" max-vertical-offset="1755">
          <folding>
            <element signature="e#0#20#0" expanded="true" />
          </folding>
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/config_parser.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="10" column="9" selection-start="532" selection-end="532" vertical-scroll-proportion="0.0" vertical-offset="150" max-vertical-offset="44955">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/setup.py">
      <provider selected="true" editor-type-id="text-editor">
        <state line="46" column="30" selection-start="1362" selection-end="1362" vertical-scroll-proportion="0.0" vertical-offset="436" max-vertical-offset="1260">
          <folding />
        </state>
      </provider>
    </entry>
    <entry file="file://$PROJECT_DIR$/firewallconfigdecryptor/docs/usage instructions">
      <provider selected="true" editor-type-id="text-editor">
        <state line="24" column="16" selection-start="623" selection-end="623" vertical-scroll-proportion="0.5535714" vertical-offset="81" max-vertical-offset="2010">
          <folding />
        </state>
      </provider>
    </entry>
  </component>
</project>

redpajama_set_name: RedPajamaGithub


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

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>PayPal Merchant SDK - SetExpressCheckout</title>
<link rel="stylesheet" type="text/css" href="../Common/sdk.css" />

SetExpressCheckout

			<form method="POST" action="SetExpressCheckout.php">

Buyer email (Email address of the buyer as entered during checkout.
					 PayPal uses this value to pre-fill the PayPal membership sign-up portion of the PayPal login page)

						<input type="text" name="buyerEmail"
							value="platfo_1255077030_biz@gmail.com" size="50" maxlength="260" />

Payment Type

						<select name="paymentType">
							<option value="Sale">Sale</option>
							<option value="Authorization">Authorization</option>
							<option value="Order">Order</option>
						</select>

Payment Details

CurrencyCode

						<input type="text" name="currencyCode" value="USD" size="50"
							maxlength="260" />

Order Total

						<input type="text" name="orderTotal" id="orderTotal"
							value="1.00" />

					<input type="submit" name="SetExpressCheckoutBtn"
						value="SetExpressCheckout" />

				Home
			</form>


text:
Cordova OSC Plugin
==================

This plugin enables your [Cordova](http://cordova.apache.org/) / [PhoneGap](http://phonegap.com/) app to send and receive [OSC](http://opensoundcontrol.org/spec-1_1) messages. It depends on the [VVOSC library](https://github.com/markcerqueira/vvosc-ios).

Installation
------------

1. Get **VVOSC** from [here](https://github.com/markcerqueira/vvosc-ios), either by cloning the repo (`git clone https://github.com/markcerqueira/vvosc-ios.git`) or by downloading and extracting a [ZIP file](https://github.com/markcerqueira/vvosc-ios/archive/master.zip).
2. Drag `VVOSC/include` and `VVOSC/libVVOSC.a` into your XCode project. Select the *Copy items into destination folder* and *Create groups for any added folders* options.
3. Clone the repository: `git clone https://github.com/philippbosch/cordova-osc-plugin.git`,
   *or:* download a [ZIP file](https://github.com/philippbosch/cordova-osc-plugin/archive/master.zip) and extract it.
4. Drag `CDVOSC.h` and `CDVOSC.m` from the `ios` folder to the `Plugins` folder in your XCode project.
5. Copy `osc.js` from the `www` folder to the `www` folder in your XCode project.
6. Add a reference to the JavaScript file in your HTML code right after the `cordova-x.x.x.js` script, like so:
   `<script src="osc.js"></script>`.
7. In your app's `config.xml` file look out for the `<plugins>` section and append `<plugin name="OSC" value="CDVOSC" />` to it.

Usage
-----

### Sending messages

```javascript
// setup the remote host to which you want to send messages
var remote = window.plugins.osc.createRemoteLocation('192.168.0.123', 11000);

// create an empty message with the desired address pattern
var msg = window.plugins.osc.createMessage('/address');

// add values to your message
msg.add(123);        // [i]ntegers, ...
msg.add(45.67);      // [f]loats, ...
msg.add("foo bar");  // or [s]trings are currently supported.

// send the message
window.plugins.osc.sendMessage(msg, remote, function() {
    console.log('Yay, the message was sent!');
}, function() {
    console.log('Oops, could not send the message.');
});
```

### Receiving messages

```javascript
// open a port for incoming messages
window.plugins.osc.listen(11001, function() {

    // add an event listener with a callback that is fired for each incoming message
    document.addEventListener('oscmessagereceived', function(event) {
        console.log(event.message.values);  // an array of all values
        console.log(event.message.typetag); // a string describing the data types, e.g. "ifs"
    });

}, function(error) {
    console.log("Unable to listen for messages: " + error);
});
```

License
-------

[MIT](http://philippbosch.mit-license.org/)


text:
layout: main
title: LFHA Contact information
tagline: Contact information for the HOA, Board Officers & Architectural Committee,
---

Board of Directors

Email the Board

President - John Ison

        <address>
          1907 Trout Valley Road

          Home: 355-8005

          Cell: 202-1635

        </address>

Vice President - Jeff Hays

        <address>
          2008 Byrnebruk Road

          Home: 359-1169

          Cell: 351-4040 (work)
        </address>

Treasurer - Lisa Romero

        <address>
          1919 Trout Valley

          Home: 355-6402

        </address>

Secretary - Lauria Grift

        <address>
          1704 Bentbrook Drive

          Cell: 217-722-2519

        </address>

Scott Anderson, Jr

        <address>
          4010 Club House Drive

          Home: 355-6831

          Cell: 840-8390
        </address>

Max Mitchell

        <address>
          3345 Stoneybrook Drive

          Home: 359-4244

          Cell: 369-0376
        </address>

Paul Kane

        <address>
          3804 Deerfield Drive

          Home: 359-3641

          Cell: 840-3641
        </address>

Architectural Committee

Dan Hallbeck

        <address>
        1801 Cobblefield Court

        (217) 352-3315
        </address>

James Faron

        <address>
          3008 Valleybrook Drive

          (217) 359-1079
        </address>

Richard J Schimmel

        <address>
          2020 Bentbrook Drive

          (217) 356-7543
        </address>

Each of the several Covenants documents provides for the existence
of, purpose for, and membership of the Architectural Control
Committee.  Please consult your specific Covenants for details as
that document takes precedence over any information provided on this
page.  (NOTE:  The membership of the Architectural Control Committee
contained in each Covenants document is outdated.  The list above is
current.)

If you are planning modifications to your home and/or lot that will
change the external appearance of your property, it is advisable to
speak with    any member of the Committee prior to finalizing your
plans and, certainly, before you begin your modification.  The
member, whom you contact, will help you decide if your plans will
require explicit approval by the Architecture Control Committee.

You may call any one of the Committee members using the phone
numbers above.  Alternatively, you may email the Committee by
selecting "Email LFHA" from the main menu and then selecting
"Architectural Control Committee" from among the Subject Categories.


text:
namespace CSProjectAnalyser
{
    public enum Verbosity
    {
        Low,Medium,High
    }

    [CliParse.ParsableClass("AnalyserParams")]
    public class AnalyserParams : CliParse.Parsable
    {
        [CliParse.ParsableArgument("Path", ShortName = 'p', DefaultValue = "", Description = "The path to scan", ImpliedPosition = 1, Required = false)]
        public string Path { get; set; }
        [CliParse.ParsableArgument("Assembly", ShortName = 'a', DefaultValue = "", Description = "The assembly to Analyse", ImpliedPosition = 2, Required = false)]
        public string AssemblyToAnalyse { get; set; }

        [CliParse.ParsableArgument("Extensions", ShortName = 'e', DefaultValue = "*.csproj", Description = "A comma seperated list of project types to analyse; csproj support only now.")]
        public string Extensions { get; set; }
        [CliParse.ParsableArgument("Verbosity", ShortName = 'v', Description = "How much information you want")]
        public Verbosity Verbosity { get; set; }
        [CliParse.ParsableArgument("Summary", ShortName = 's', Description = "Include summary")]
        public bool Summary { get; set; }
        [CliParse.ParsableArgument("Recursive", ShortName = 'r', Description = "Recursively scan sub directories", DefaultValue = false)]
        public bool Recursive { get; set; }
        [CliParse.ParsableArgument("RecurseDependencies", ShortName = 'd', Description = "Recursively list a projects dependencies.", DefaultValue = true)]
        public bool RecurseDependencies { get; set; }
        [CliParse.ParsableArgument("MaxDepth", ShortName = 'm', Description = "Maximum depth to recursively list a projects dependencies.", DefaultValue = 8)]
        public int RecurseDependenciesMaxDepth { get; set; }
        [CliParse.ParsableArgument("IncludeSystemDependencies", ShortName = 's', Description = "Include System.* dependencies", DefaultValue = false)]
        public bool IncludeSystemDependencies { get; set; }

        public bool ShouldIncludeReference(string referenceName)
        {
            if ((referenceName.Equals("System") || referenceName.StartsWith("System.")) && IncludeSystemDependencies == false) return false;
            if ((referenceName.Equals("Microsoft") || referenceName.StartsWith("Microsoft.")) && IncludeSystemDependencies == false) return false;

            return true;
        }
    }
}


text:
std::string EditorScaleBiasModule::FACTORY_NAME = "ScaleBias";

EditorScaleBiasModule::EditorScaleBiasModule() : EditorModule(1)
{
}

void EditorScaleBiasModule::fillPropertyGrid (wxPropertyGrid *pg)
{
	pg->Append( wxPropertyCategory(wxT("Source modules")) );
	appendSourceModuleProperty (pg, wxT("Source module"), mSourceModules[0]);
	pg->Append( wxPropertyCategory(wxT("Parameters")) );
	pg->Append( wxFloatProperty(wxT("Scale"), wxPG_LABEL, mModule.getScale()) );
	pg->Append( wxFloatProperty(wxT("Bias"), wxPG_LABEL, mModule.getBias()) );
}

void EditorScaleBiasModule::onPropertyChange (wxPropertyGrid *pg, const wxString &name)
{
	if (name == _("Source module"))
	{
		wxString val = pg->GetPropertyValueAsString (name);
		mSourceModules[0] = val;
	}
	else if (name == _("Scale"))
	{
		double val = pg->GetPropertyValueAsDouble (name);
		mModule.setScale (val);
	}
	else if (name == _("Bias"))
	{
		double val = pg->GetPropertyValueAsDouble (name);
		mModule.setBias (val);
	}
}

bool EditorScaleBiasModule::validate (wxPropertyGrid *pg)
{
	bool valid = true;
	EditorModule *module = NULL;

	module = getSourceModule(0);
	if (module && module->validateTree(this))
	{
		mModule.setSourceModule(0, module->getModule());
	}
	valid = setValid (pg, "Source module", module != NULL && module->validateTree(this) && module->validate(NULL)) && valid;

	return valid;
}

void EditorScaleBiasModule::writeProperties (TiXmlElement *element)
{
	TiXmlElement *prop;

	writeSourceModules (element);

	prop = new TiXmlElement ("Scale");
	prop->SetDoubleAttribute ("value", mModule.getScale());
	element->LinkEndChild (prop);

	prop = new TiXmlElement ("Bias");
	prop->SetDoubleAttribute ("value", mModule.getBias());
	element->LinkEndChild (prop);
}

bool EditorScaleBiasModule::readProperties (TiXmlElement *element)
{
	TiXmlElement *prop;
	double dval;

	if (!readSourceModules (element))
		return false;

	prop = element->FirstChildElement ("Scale");
	if (prop == NULL || prop->QueryDoubleAttribute ("value", &dval) != TIXML_SUCCESS)
		return false;
	mModule.setScale (dval);

	prop = element->FirstChildElement ("Bias");
	if (prop == NULL || prop->QueryDoubleAttribute ("value", &dval) != TIXML_SUCCESS)
		return false;
	mModule.setBias (dval);

	return true;
}


text:
"""
BOSH OpenStack Ironic CPI
"""
# Python 2 and 3 compatibility
from __future__ import unicode_literals

import time

from ironic_cpi.action import CPIAction
from ironic_cpi.action import CPIActionError
from ironic_cpi.actions.utils.ironic import connect as Ironic
from ironic_cpi.actions.utils.ironic import wait_for_state
from ironic_cpi.actions.utils.utils import boolean
from ironic_cpi.actions.registry.registry import Registry
from ironic_cpi.actions.registry.registry import RegistryError
from ironic_cpi.actions.configdrive.configdrive import Configdrive
from ironic_cpi.actions.configdrive.configdrive import ConfigdriveError
from ironic_cpi.actions.repositories.repository import RepositoryManager
from ironic_cpi.actions.repositories.repository import RepositoryError
# Import all repository implementations here
from ironic_cpi.actions.repositories.webdav import WebDav

# Import ironic exceptions
from ironicclient import exceptions as ironic_exception

class Delete_VM(CPIAction):
    action = 'delete_vm'

    def __init__(self, context):
        super(Delete_VM, self).__init__(context)
        self.repository = RepositoryManager(self.logger)

    def _delete_ironic_metadata(self, ironic, node_uuid):
        self.logger.debug("Deleting metadata on server id '%s'" % (node_uuid))
        metadata_items = [
            {'op': 'remove', 'path': "/instance_info/bosh_defined"},
            {'op': 'remove', 'path': "/instance_info/image_source"},
            {'op': 'remove', 'path': "/instance_info/image_checksum"},
            {'op': 'remove', 'path': "/instance_info/configdrive"},
            {'op': 'remove', 'path': "/instance_info/disks"},
            {'op': 'remove', 'path': "/instance_uuid"},
            {'op': 'remove', 'path': "/name"}
        ]
        for item in metadata_items:
            try:
                ironic.node.update(node_uuid, [item])
            except ironic_exception.ClientException as e:
                msg = "Error deleting metadata on server id '%s'" % (node_uuid)
                long_msg = msg + ": %s" % (e)
                self.logger.warning(long_msg)
                # raise CPIActionError(msg, long_msg)

    def _delete_configdrive(self, config, uuid):
        self.logger.debug("Deleting configdrive for server id '%s'" % (uuid))
        delete_files = boolean(config.get('create_files', ''))
        try:
            repository =  self.repository.manage(config)
            configdrive = Configdrive(uuid, self.settings.configdrive_ext)
            configdrive.delete(repository, delete_files)
        except Exception as e:
            msg = "Error %s: %s" % (type(e).__name__, e)
            self.logger.warning(msg)
            #raise CPIActionError(msg, msg)

    def _delete_registry(self, registry, uuid):
        self.logger.debug("Deleting registry for server id '%s'" % (uuid))
        try:
            registry.delete()
        except RegistryError as e:
            msg = "Error deleting registry configuration for server id '%s'" % (uuid)
            long_msg = msg + ": %s" % (e)
            self.logger.warning(long_msg)
            #raise CPIActionError(msg, long_msg)

    ##
    # Delete the Server.
    # This method will be called while the VM still has persistent disks
    # attached. It's important to make sure that IaaS behaves appropriately in
    # this case and properly disassociates persistent disks from the VM.
    #
    # @param [String] vm_cid cloud ID of the VM to check,
    #   returned from create_vm
    def run(self, config):
        vm_cid = self.args[0]
        ironic_sleep = self.settings.ironic_sleep_seconds
        self.logger.debug("Deleting server id '%s'" % (vm_cid))
        # Delete Registry configuration
        registry = Registry(config['registry'], vm_cid)
        self._delete_registry(registry, vm_cid)
        # Configdrive metadata repository
        self._delete_configdrive(config['metadata'], vm_cid)
        # Undefine the node in Ironic to make it available
        ironic = Ironic(config['ironic'], self.logger)
        # Retrieve the value from the metadata
        defined = 0
        # 1 > server was initially in manageable state
        # 0 > server was initially in active state
        # 2 > server defined by the CPI
        self.logger.debug("Retrieving metadata for server id '%s'" % (vm_cid))
        try:
            node = ironic.node.get(vm_cid)
            defined = int(node.instance_info['bosh_defined'])
        except ironic_exception.ClientException as e:
            msg = "Ignoring error while getting server id '%s' info" % (vm_cid)
            long_msg = msg + ": %s" % (e)
            self.logger.warning(long_msg)
            #raise CPIActionError(msg, long_msg)
            return
        except:
            msg = "Error getting metadata 'bosh_defined' on server id '%s'" % (vm_cid)
            long_msg = msg + ": %s" % (e)
            self.logger.warning(long_msg)
        # Delete meta definitions on Ironic
        self._delete_ironic_metadata(ironic, vm_cid)
        if node.provision_state != 'available':
            self.logger.debug("Deleting server id '%s'" % (vm_cid))
            try:
                ironic.node.set_provision_state(vm_cid, 'deleted')
                wait_for_state(self.logger, ironic, vm_cid,
                    self.settings.ironic_sleep_times,
                    self.settings.ironic_sleep_seconds)
            except ironic_exception.ClientException as e:
                msg = "Error performing cleaning of server id '%s'" % (vm_cid)
                long_msg = msg + ": %s" % (e)
                self.logger.error(long_msg)
                raise CPIActionError(msg, long_msg)
        # http://docs.openstack.org/developer/ironic/deploy/cleaning.html
        # Force manual cleaning steps. If cleaning steps are already defined
        # in ironic, those transitions will cause re-run them 3 times!
        clean = boolean(config['ironic'].get('clean', ''))
        if clean:
            try:
                #  [{'interface': 'deploy', 'step': 'erase_devices'}]
                cleansteps = ast.literal_eval(config['ironic'].get('clean_steps', '[]'))
            except:
                msg = "Error parsing list of clean_steps"
                long_msg = msg + ": Fix Ironic section on CPI configuration file"
                self.logger.error(long_msg)
                raise CPIActionError(msg, long_msg)
            try:
                ironic.node.set_provision_state(vm_cid, 'manage')
                wait_for_state(self.logger, ironic, vm_cid,
                    self.settings.ironic_sleep_times,
                    self.settings.ironic_sleep_seconds,
                    'manageable')
                ironic.node.set_provision_state(vm_cid, 'clean', cleansteps=cleansteps)
                wait_for_state(self.logger, ironic, vm_cid,
                    self.settings.ironic_sleep_times,
                    self.settings.ironic_sleep_seconds,
                    'manageable')
                ironic.node.set_provision_state(vm_cid, 'provide')
                wait_for_state(self.logger, ironic, vm_cid,
                    self.settings.ironic_sleep_times,
                    self.settings.ironic_sleep_seconds,
                    'available')
            except ironic_exception.ClientException as e:
                msg = "Error cleaning server id '%s'" % (vm_cid)
                long_msg = msg + ": %s" % (e)
                self.logger.error(long_msg)
                raise CPIActionError(msg, long_msg)
        if defined == 0:
            # Server was already defined as available
            pass
        elif defined == 1:
            # In this case we assume server was in manageable state
            # so switch it back to the state
            try:
                ironic.node.set_provision_state(vm_cid, 'manage')
            except ironic_exception.ClientException as e:
                msg = "Error setting server id '%s' in manageable status" % (vm_cid)
                long_msg = msg + ": %s" % (e)
                self.logger.error(long_msg)
                raise CPIActionError(msg, long_msg)
        elif defined == 2:
            # Delete the node from Ironic
            self.logger.debug("Powering off server id '%s'" % (vm_cid))
            try:
                ironic.node.set_power_state(vm_cid, 'off')
            except ironic_exception.ClientException as e:
                msg = "Error powering off server id '%s' via Ironic" % (vm_cid)
                long_msg = msg + ": %s" % (e)
                self.logger.warning(long_msg)
            # Wait 1m
            time.sleep(ironic_sleep * 2)
            self.logger.debug("Deleting server id '%s' on Ironic" % (vm_cid))
            try:
                ironic.node.delete(vm_cid)
            except ironic_exception.ClientException as e:
                msg = "Error deleting server id '%s' on Ironic" % (vm_cid)
                long_msg = msg + ": %s" % (e)
                self.logger.error(long_msg)
                raise CPIActionError(msg, long_msg)

# EOF


text:
<!DOCTYPE html>

  <meta charset="utf-8">
  <title>Who Owns Kenya</title>

  <link href="style/main.css" rel="stylesheet" type="text/css">
  <link rel="shortcut icon" href="favicon.ico">
  <link rel="apple-touch-icon" href="meta/apple-touch-icon.png">
  <meta name="apple-mobile-web-app-capable" content="yes">

  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0, maximum-scale=1, user-scalable=no, minimal-ui">

Who Owns Kenya

0

0

	        Keep going
          Try again

          Tweet

      How to play: Use your arrow keys to move the Rich Dudes. When two Rich dudes with the same money touch they merge into One dude with Double their Money. Keep playing to find out who owns Kenya.

    Note: This is just a joke, it's not that serious. Enjoy with caution.

    Created by Chaos. Based on 2048 by Gabriele Cirulli. Who based his on 1024 by Veewo Studio and conceptually similar to Threes by Asher Vollmer.


text:
#import <Cocoa/Cocoa.h>

@class DicomStudy;

/** \brief  Core Data Entity for an Album */

@interface DicomAlbum : NSManagedObject {
}

@property(nonatomic, retain) NSNumber* index;
@property(nonatomic, retain) NSString* name;
@property(nonatomic, retain) NSString* predicateString;
@property(nonatomic, retain) NSNumber* smartAlbum;
@property(nonatomic, retain) NSSet* studies;

@end

@interface DicomAlbum (CoreDataGeneratedAccessors)

- (void)addStudiesObject:(DicomStudy *)value;
- (void)removeStudiesObject:(DicomStudy *)value;
- (void)addStudies:(NSSet *)value;
- (void)removeStudies:(NSSet *)value;

@end


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

<TITLE>
XmlStreamReader
</TITLE>

<META NAME="date" CONTENT="2013-09-02">

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

      Overview
      Package
    Class
      Use
      Tree
      Deprecated
      Index
      Help

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD

org.apache.commons.io.input

Class XmlStreamReader

java.lang.Object
  java.io.Reader
      org.apache.commons.io.input.XmlStreamReader

All Implemented Interfaces:
java.io.Closeable, java.lang.Readable

public class XmlStreamReader
extends java.io.Reader

Character stream that handles all the necessary Voodo to figure out the
 charset encoding of the XML document within the stream.

 IMPORTANT: This class is not related in any way to the org.xml.sax.XMLReader.
 This one IS a character stream.

 All this has to be done without consuming characters from the stream, if not
 the XML parser will not recognized the document as a valid XML. This is not
 100% true, but it's close enough (UTF-8 BOM is not handled by all parsers
 right now, XmlStreamReader handles it and things work in all parsers).

 The XmlStreamReader class handles the charset encoding of XML documents in
 Files, raw streams and HTTP streams by offering a wide set of constructors.

 By default the charset encoding detection is lenient, the constructor with
 the lenient flag can be used for an script (following HTTP MIME and XML
 specifications). All this is nicely explained by Mark Pilgrim in his blog,
 Determining the character encoding of a feed.

 Originally developed for ROME under
 Apache License 2.0.

Since:

2.0

Version:

$Id: XmlStreamReader.java 1346400 2012-06-05 14:48:01Z ggregory $

See Also:
XmlStreamWriter

Field Summary

static java.util.regex.Pattern
ENCODING_PATTERN

Constructor Summary

XmlStreamReader(java.io.File file)

          Creates a Reader for a File.

XmlStreamReader(java.io.InputStream is)

          Creates a Reader for a raw InputStream.

XmlStreamReader(java.io.InputStream is,
                boolean lenient)

          Creates a Reader for a raw InputStream.

XmlStreamReader(java.io.InputStream is,
                boolean lenient,
                java.lang.String defaultEncoding)

          Creates a Reader for a raw InputStream.

XmlStreamReader(java.io.InputStream is,
                java.lang.String httpContentType)

          Creates a Reader using an InputStream an the associated content-type
 header.

XmlStreamReader(java.io.InputStream is,
                java.lang.String httpContentType,
                boolean lenient)

          Creates a Reader using an InputStream an the associated content-type
 header.

XmlStreamReader(java.io.InputStream is,
                java.lang.String httpContentType,
                boolean lenient,
                java.lang.String defaultEncoding)

          Creates a Reader using an InputStream an the associated content-type
 header.

XmlStreamReader(java.net.URL url)

          Creates a Reader using the InputStream of a URL.

XmlStreamReader(java.net.URLConnection conn,
                java.lang.String defaultEncoding)

          Creates a Reader using the InputStream of a URLConnection.

Method Summary

 void
close()

          Closes the XmlStreamReader stream.

 java.lang.String
getDefaultEncoding()

          Returns the default encoding to use if none is set in HTTP content-type,
 XML prolog and the rules based on content-type are not adequate.

 java.lang.String
getEncoding()

          Returns the charset encoding of the XmlStreamReader.

 int
read(char[] buf,
     int offset,
     int len)

          Invokes the underlying reader's read(char[], int, int) method.

Methods inherited from class java.io.Reader

mark, markSupported, read, read, read, ready, reset, skip

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

ENCODING_PATTERN

public static final java.util.regex.Pattern ENCODING_PATTERN

Constructor Detail

XmlStreamReader

public XmlStreamReader(java.io.File file)
                throws java.io.IOException

Creates a Reader for a File.

 It looks for the UTF-8 BOM first, if none sniffs the XML prolog charset,
 if this is also missing defaults to UTF-8.

 It does a lenient charset encoding detection, check the constructor with
 the lenient parameter for details.

Parameters:
file - File to create a Reader from.

Throws:

java.io.IOException - thrown if there is a problem reading the file.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is)
                throws java.io.IOException

Creates a Reader for a raw InputStream.

 It follows the same logic used for files.

 It does a lenient charset encoding detection, check the constructor with
 the lenient parameter for details.

Parameters:
is - InputStream to create a Reader from.

Throws:

java.io.IOException - thrown if there is a problem reading the stream.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is,
                       boolean lenient)
                throws java.io.IOException

Creates a Reader for a raw InputStream.

 It follows the same logic used for files.

 If lenient detection is indicated and the detection above fails as per
 specifications it then attempts the following:

 If the content type was 'text/html' it replaces it with 'text/xml' and
 tries the detection again.

 Else if the XML prolog had a charset encoding that encoding is used.

 Else if the content type had a charset encoding that encoding is used.

 Else 'UTF-8' is used.

 If lenient detection is indicated an XmlStreamReaderException is never
 thrown.

Parameters:
is - InputStream to create a Reader from.
lenient - indicates if the charset encoding detection should be
        relaxed.

Throws:

java.io.IOException - thrown if there is a problem reading the stream.

XmlStreamReaderException - thrown if the charset encoding could not
         be determined according to the specs.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is,
                       boolean lenient,
                       java.lang.String defaultEncoding)
                throws java.io.IOException

Creates a Reader for a raw InputStream.

 It follows the same logic used for files.

 If lenient detection is indicated and the detection above fails as per
 specifications it then attempts the following:

 If the content type was 'text/html' it replaces it with 'text/xml' and
 tries the detection again.

 Else if the XML prolog had a charset encoding that encoding is used.

 Else if the content type had a charset encoding that encoding is used.

 Else 'UTF-8' is used.

 If lenient detection is indicated an XmlStreamReaderException is never
 thrown.

Parameters:
is - InputStream to create a Reader from.
lenient - indicates if the charset encoding detection should be
        relaxed.
defaultEncoding - The default encoding

Throws:

java.io.IOException - thrown if there is a problem reading the stream.

XmlStreamReaderException - thrown if the charset encoding could not
         be determined according to the specs.

XmlStreamReader

public XmlStreamReader(java.net.URL url)
                throws java.io.IOException

Creates a Reader using the InputStream of a URL.

 If the URL is not of type HTTP and there is not 'content-type' header in
 the fetched data it uses the same logic used for Files.

 If the URL is a HTTP Url or there is a 'content-type' header in the
 fetched data it uses the same logic used for an InputStream with
 content-type.

 It does a lenient charset encoding detection, check the constructor with
 the lenient parameter for details.

Parameters:
url - URL to create a Reader from.

Throws:

java.io.IOException - thrown if there is a problem reading the stream of
         the URL.

XmlStreamReader

public XmlStreamReader(java.net.URLConnection conn,
                       java.lang.String defaultEncoding)
                throws java.io.IOException

Creates a Reader using the InputStream of a URLConnection.

 If the URLConnection is not of type HttpURLConnection and there is not
 'content-type' header in the fetched data it uses the same logic used for
 files.

 If the URLConnection is a HTTP Url or there is a 'content-type' header in
 the fetched data it uses the same logic used for an InputStream with
 content-type.

 It does a lenient charset encoding detection, check the constructor with
 the lenient parameter for details.

Parameters:
conn - URLConnection to create a Reader from.
defaultEncoding - The default encoding

Throws:

java.io.IOException - thrown if there is a problem reading the stream of
         the URLConnection.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is,
                       java.lang.String httpContentType)
                throws java.io.IOException

Creates a Reader using an InputStream an the associated content-type
 header.

 First it checks if the stream has BOM. If there is not BOM checks the
 content-type encoding. If there is not content-type encoding checks the
 XML prolog encoding. If there is not XML prolog encoding uses the default
 encoding mandated by the content-type MIME type.

 It does a lenient charset encoding detection, check the constructor with
 the lenient parameter for details.

Parameters:
is - InputStream to create the reader from.
httpContentType - content-type header to use for the resolution of
        the charset encoding.

Throws:

java.io.IOException - thrown if there is a problem reading the file.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is,
                       java.lang.String httpContentType,
                       boolean lenient,
                       java.lang.String defaultEncoding)
                throws java.io.IOException

Creates a Reader using an InputStream an the associated content-type
 header. This constructor is lenient regarding the encoding detection.

 First it checks if the stream has BOM. If there is not BOM checks the
 content-type encoding. If there is not content-type encoding checks the
 XML prolog encoding. If there is not XML prolog encoding uses the default
 encoding mandated by the content-type MIME type.

 If lenient detection is indicated and the detection above fails as per
 specifications it then attempts the following:

 If the content type was 'text/html' it replaces it with 'text/xml' and
 tries the detection again.

 Else if the XML prolog had a charset encoding that encoding is used.

 Else if the content type had a charset encoding that encoding is used.

 Else 'UTF-8' is used.

 If lenient detection is indicated an XmlStreamReaderException is never
 thrown.

Parameters:
is - InputStream to create the reader from.
httpContentType - content-type header to use for the resolution of
        the charset encoding.
lenient - indicates if the charset encoding detection should be
        relaxed.
defaultEncoding - The default encoding

Throws:

java.io.IOException - thrown if there is a problem reading the file.

XmlStreamReaderException - thrown if the charset encoding could not
         be determined according to the specs.

XmlStreamReader

public XmlStreamReader(java.io.InputStream is,
                       java.lang.String httpContentType,
                       boolean lenient)
                throws java.io.IOException

Creates a Reader using an InputStream an the associated content-type
 header. This constructor is lenient regarding the encoding detection.

 First it checks if the stream has BOM. If there is not BOM checks the
 content-type encoding. If there is not content-type encoding checks the
 XML prolog encoding. If there is not XML prolog encoding uses the default
 encoding mandated by the content-type MIME type.

 If lenient detection is indicated and the detection above fails as per
 specifications it then attempts the following:

 If the content type was 'text/html' it replaces it with 'text/xml' and
 tries the detection again.

 Else if the XML prolog had a charset encoding that encoding is used.

 Else if the content type had a charset encoding that encoding is used.

 Else 'UTF-8' is used.

 If lenient detection is indicated an XmlStreamReaderException is never
 thrown.

Parameters:
is - InputStream to create the reader from.
httpContentType - content-type header to use for the resolution of
        the charset encoding.
lenient - indicates if the charset encoding detection should be
        relaxed.

Throws:

java.io.IOException - thrown if there is a problem reading the file.

XmlStreamReaderException - thrown if the charset encoding could not
         be determined according to the specs.

Method Detail

getDefaultEncoding

public java.lang.String getDefaultEncoding()

Returns the default encoding to use if none is set in HTTP content-type,
 XML prolog and the rules based on content-type are not adequate.

 If it is NULL the content-type based rules are used.

Returns:
the default encoding to use.

getEncoding

public java.lang.String getEncoding()

Returns the charset encoding of the XmlStreamReader.

Returns:
charset encoding.

read

public int read(char[] buf,
                int offset,
                int len)
         throws java.io.IOException

Invokes the underlying reader's read(char[], int, int) method.

Specified by:
read in class java.io.Reader

Parameters:
buf - the buffer to read the characters into
offset - The start offset
len - The number of bytes to read

Returns:
the number of characters read or -1 if the end of stream

Throws:

java.io.IOException - if an I/O error occurs

close

public void close()
           throws java.io.IOException

Closes the XmlStreamReader stream.

Specified by:
close in interface java.io.Closeable
Specified by:
close in class java.io.Reader

Throws:

java.io.IOException - thrown if there was a problem closing the stream.

      Overview
      Package
    Class
      Use
      Tree
      Deprecated
      Index
      Help

 PREV CLASS
 NEXT CLASS

  FRAMES
 NO FRAMES

  All Classes

  SUMMARY: NESTED | FIELD | CONSTR | METHOD

DETAIL: FIELD | CONSTR | METHOD


text:
#ifndef lint
static char rcsid[] = "$Header: /cvs/bao-parsec/ext/splash2x/apps/volrend/src/libtiff/tif_dirwrite.c,v 1.1.1.1 2012/03/29 17:22:43 uid42307 Exp $";
#endif

/*
 * TIFF Library.
 *
 * Directory Write Support Routines.
 *
 * NB: Beware of the varargs declarations for routines in
 *     this file.  The names and types of variables has been
 *     carefully chosen to make things work with compilers that
 *     are busted in one way or another (e.g. SGI/MIPS).
 */
#include "tiffioP.h"
#include "prototypes.h"

#if HAVE_IEEEFP
#define	TIFFCvtNativeToIEEEFloat(tif, n, fp)
#endif

#if USE_PROTOTYPES
static	TIFFWriteNormalTag(TIFF*, TIFFDirEntry*, TIFFFieldInfo*);
static	TIFFSetupShortLong(TIFF *, u_short, TIFFDirEntry *, u_long);
static	TIFFSetupShortPair(TIFF *, u_short, TIFFDirEntry *);
static	TIFFWriteRational(TIFF *,
	    TIFFDataType, u_short, TIFFDirEntry *, float);
static	TIFFWritePerSampleShorts(TIFF *, u_short, TIFFDirEntry *);
static	TIFFWriteShortTable(TIFF *, u_short, TIFFDirEntry *, int, u_short **);
static	TIFFWriteShortArray(TIFF *,
	    TIFFDataType, u_short, TIFFDirEntry *, int, u_short *);
static	TIFFWriteLongArray(TIFF *,
	    TIFFDataType, u_short, TIFFDirEntry *, int, u_long *);
static	TIFFWriteRationalArray(TIFF *,
	    TIFFDataType, u_short, TIFFDirEntry *, int, float *);
static	TIFFWriteFloatArray(TIFF *,
	    TIFFDataType, u_short, TIFFDirEntry *, int, float *);
static	TIFFWriteString(TIFF *, u_short, TIFFDirEntry *, char *);
#ifdef JPEG_SUPPORT
static	TIFFWriteJPEGQTables(TIFF *, TIFFDirEntry *);
static	TIFFWriteJPEGCTables(TIFF *, u_short, TIFFDirEntry *, u_char **);
#endif
#ifdef COLORIMETRY_SUPPORT
static	TIFFWriteTransferFunction(TIFF*, TIFFDirEntry*);
#endif
static	TIFFWriteData(TIFF *, TIFFDirEntry *, char *);
static	TIFFLinkDirectory(TIFF *);
#else
static	TIFFWriteNormalTag();
static	TIFFSetupShortLong();
static	TIFFSetupShortPair();
static	TIFFWriteRational();
static	TIFFWritePerSampleShorts();
static	TIFFWriteShortTable();
static	TIFFWriteShortArray();
static	TIFFWriteLongArray();
static	TIFFWriteRationalArray();
static	TIFFWriteFloatArray();
static	TIFFWriteString();
#ifdef JPEG_SUPPORT
static	TIFFWriteJPEGQTables();
static	TIFFWriteJPEGCTables();
#endif
static	TIFFWriteData();
static	TIFFLinkDirectory();
#endif

#define	WriteRationalPair(type, tag1, v1, tag2, v2) {		\
	if (!TIFFWriteRational(tif, type, tag1, dir, v1))	\
		goto bad;					\
	if (!TIFFWriteRational(tif, type, tag2, dir+1, v2))	\
		goto bad;					\
	dir++;							\
}

static	long dataoff;
/*
 * Write the contents of the current directory
 * to the specified file.  This routine doesn't
 * handle overwriting a directory with auxiliary
 * storage that's been changed.
 */
TIFFWriteDirectory(tif)
	TIFF *tif;
{
	short dircount, tag;
	int nfields, dirsize;
	char *data;
	TIFFFieldInfo *fip;
	TIFFDirEntry *dir;
	TIFFDirectory *td;
	u_long b, fields[sizeof (td->td_fieldsset) / sizeof (u_long)];

	if (tif->tif_mode == O_RDONLY)
		return (1);
	/*
	 * Clear write state so that subsequent images with
	 * different characteristics get the right buffers
	 * setup for them.
	 */
	if (tif->tif_flags & TIFF_POSTENCODE) {
		tif->tif_flags &= ~TIFF_POSTENCODE;
		if (tif->tif_postencode && !(*tif->tif_postencode)(tif)) {
			TIFFError(tif->tif_name,
			    "Error post-encoding before directory write");
			return (0);
		}
	}
	if (tif->tif_close)
		(*tif->tif_close)(tif);
	if (tif->tif_cleanup)
		(*tif->tif_cleanup)(tif);
	/*
	 * Flush any data that might have been written
	 * by the compression close+cleanup routines.
	 */
	if (tif->tif_rawcc > 0 && !TIFFFlushData1(tif)) {
		TIFFError(tif->tif_name,
		    "Error flushing data before directory write");
		return (0);
	}
	if ((tif->tif_flags & TIFF_MYBUFFER) && tif->tif_rawdata) {
		free(tif->tif_rawdata);
		tif->tif_rawdata = NULL;
		tif->tif_rawcc = 0;
	}
	tif->tif_flags &= ~(TIFF_BEENWRITING|TIFF_BUFFERSETUP);

	td = &tif->tif_dir;
	/*
	 * Size the directory so that we can calculate
	 * offsets for the data items that aren't kept
	 * in-place in each field.
	 */
	nfields = 0;
	for (b = 0; b <= FIELD_LAST; b++)
		if (TIFFFieldSet(tif, b))
			nfields += (b < FIELD_SUBFILETYPE ? 2 : 1);
	dirsize = nfields * sizeof (TIFFDirEntry);
	data = malloc(dirsize);
	if (data == NULL) {
		TIFFError(tif->tif_name,
		    "Cannot write directory, out of space");
		return (0);
	}
	/*
	 * Directory hasn't been placed yet, put
	 * it at the end of the file and link it
	 * into the existing directory structure.
	 */
	if (tif->tif_diroff == 0 && !TIFFLinkDirectory(tif))
		return (0);
	dataoff = tif->tif_diroff + sizeof (short) + dirsize + sizeof (long);
	if (dataoff & 1)
		dataoff++;
	(void) lseek(tif->tif_fd, dataoff, L_SET);
	tif->tif_curdir++;
	dir = (TIFFDirEntry *)data;
	/*
	 * Setup external form of directory
	 * entries and write data items.
	 */
	bcopy(td->td_fieldsset, fields, sizeof (fields));
/*BEGIN XXX*/
	/*
	 * Write out ExtraSamples tag only if Matteing would
	 * be set to 1 (i.e. Associated Alpha data is present).
	 */
	if (FieldSet(fields, FIELD_MATTEING) && !td->td_matteing) {	/*XXX*/
		ResetFieldBit(fields, FIELD_MATTEING);			/*XXX*/
		nfields--;						/*XXX*/
		dirsize -= sizeof (TIFFDirEntry);			/*XXX*/
	}								/*XXX*/
/*END XXX*/
	for (fip = tiffFieldInfo; fip->field_tag; fip++) {
		if (fip->field_bit == FIELD_IGNORE ||
		    !FieldSet(fields, fip->field_bit))
			continue;
		switch (fip->field_bit) {
		case FIELD_STRIPOFFSETS:
			/*
			 * We use one field bit for both strip and tile
			 * offsets, and so must be careful in selecting
			 * the appropriate field descriptor (so that tags
			 * are written in sorted order).
			 */
			tag = isTiled(tif) ?
			    TIFFTAG_TILEOFFSETS : TIFFTAG_STRIPOFFSETS;
			if (tag != fip->field_tag)
				continue;
			if (!TIFFWriteLongArray(tif, TIFF_LONG, tag, dir,
			    (int) td->td_nstrips, td->td_stripoffset))
				goto bad;
			break;
		case FIELD_STRIPBYTECOUNTS:
			/*
			 * We use one field bit for both strip and tile
			 * byte counts, and so must be careful in selecting
			 * the appropriate field descriptor (so that tags
			 * are written in sorted order).
			 */
			tag = isTiled(tif) ?
			    TIFFTAG_TILEBYTECOUNTS : TIFFTAG_STRIPBYTECOUNTS;
			if (tag != fip->field_tag)
				continue;
			if (!TIFFWriteLongArray(tif, TIFF_LONG, tag, dir,
			    (int) td->td_nstrips, td->td_stripbytecount))
				goto bad;
			break;
		case FIELD_COLORMAP:
			if (!TIFFWriteShortTable(tif, TIFFTAG_COLORMAP, dir,
			    3, td->td_colormap))
				goto bad;
			break;
		case FIELD_IMAGEDIMENSIONS:
			TIFFSetupShortLong(tif, TIFFTAG_IMAGEWIDTH,
			    dir++, td->td_imagewidth);
			TIFFSetupShortLong(tif, TIFFTAG_IMAGELENGTH,
			    dir, td->td_imagelength);
			break;
		case FIELD_TILEDIMENSIONS:
			TIFFSetupShortLong(tif, TIFFTAG_TILEWIDTH,
			    dir++, td->td_tilewidth);
			TIFFSetupShortLong(tif, TIFFTAG_TILELENGTH,
			    dir, td->td_tilelength);
			break;
		case FIELD_POSITION:
			WriteRationalPair(TIFF_RATIONAL,
			    TIFFTAG_XPOSITION, td->td_xposition,
			    TIFFTAG_YPOSITION, td->td_yposition);
			break;
		case FIELD_RESOLUTION:
			WriteRationalPair(TIFF_RATIONAL,
			    TIFFTAG_XRESOLUTION, td->td_xresolution,
			    TIFFTAG_YRESOLUTION, td->td_yresolution);
			break;
		case FIELD_BITSPERSAMPLE:
		case FIELD_MINSAMPLEVALUE:
		case FIELD_MAXSAMPLEVALUE:
		case FIELD_SAMPLEFORMAT:
			if (!TIFFWritePerSampleShorts(tif, fip->field_tag, dir))
				goto bad;
			break;
		case FIELD_PAGENUMBER:
		case FIELD_HALFTONEHINTS:
#ifdef YCBCR_SUPPORT
		case FIELD_YCBCRSUBSAMPLING:
#endif
#ifdef CMYK_SUPPORT
		case FIELD_DOTRANGE:
#endif
			TIFFSetupShortPair(tif, fip->field_tag, dir);
			break;
#ifdef JPEG_SUPPORT
		case FIELD_JPEGQTABLES:
			if (!TIFFWriteJPEGQTables(tif, dir))
				goto bad;
			break;
		case FIELD_JPEGDCTABLES:
			if (!TIFFWriteJPEGCTables(tif,
			    TIFFTAG_JPEGDCTABLES, dir, td->td_dctab))
				goto bad;
			break;
		case FIELD_JPEGACTABLES:
			if (!TIFFWriteJPEGCTables(tif,
			    TIFFTAG_JPEGACTABLES, dir, td->td_actab))
				goto bad;
			break;
#endif
#ifdef COLORIMETRY_SUPPORT
		case FIELD_REFBLACKWHITE:
			if (!TIFFWriteRationalArray(tif, TIFF_RATIONAL,
			    TIFFTAG_REFERENCEBLACKWHITE, dir,
			    2*td->td_samplesperpixel, td->td_refblackwhite))
				goto bad;
			break;
		case FIELD_TRANSFERFUNCTION:
			if (!TIFFWriteTransferFunction(tif, dir))
				goto bad;
			break;
#endif
		default:
			if (!TIFFWriteNormalTag(tif, dir, fip))
				goto bad;
			break;
		}
		dir++;
		ResetFieldBit(fields, fip->field_bit);
	}
	/*
	 * Write directory.
	 */
	(void) lseek(tif->tif_fd, tif->tif_diroff, L_SET);
	dircount = nfields;
	if (!WriteOK(tif->tif_fd, &dircount, sizeof (short))) {
		TIFFError(tif->tif_name, "Error writing directory count");
		goto bad;
	}
	if (!WriteOK(tif->tif_fd, data, dirsize)) {
		TIFFError(tif->tif_name, "Error writing directory contents");
		goto bad;
	}
	if (!WriteOK(tif->tif_fd, &tif->tif_nextdiroff, sizeof (long))) {
		TIFFError(tif->tif_name, "Error writing directory link");
		goto bad;
	}
	TIFFFreeDirectory(tif);
	free(data);
	tif->tif_flags &= ~TIFF_DIRTYDIRECT;

	/*
	 * Reset directory-related state for subsequent
	 * directories.
	 */
	TIFFDefaultDirectory(tif);
	tif->tif_diroff = 0;
	tif->tif_curoff = 0;
	tif->tif_row = -1;
	tif->tif_curstrip = -1;
	return (1);
bad:
	free(data);
	return (0);
}
#undef WriteRationalPair

/*
 * Process tags that are not special cased.
 */
static
DECLARE3(TIFFWriteNormalTag,
    TIFF*, tif, TIFFDirEntry*, dir, TIFFFieldInfo*, fip)
{
	TIFFDirectory* td = &tif->tif_dir;
	u_short wc = (u_short) fip->field_writecount;

	dir->tdir_tag = fip->field_tag;
	dir->tdir_type = (u_short)fip->field_type;
	dir->tdir_count = wc;
#define	WRITE(x,y)	x(tif, fip->field_type, fip->field_tag, dir, wc, y)
	switch (fip->field_type) {
	case TIFF_SHORT:
	case TIFF_SSHORT:
		if (wc > 1) {
			u_short *wp;
			if (wc == (u_short) TIFF_VARIABLE) {
				_TIFFgetfield(td, fip->field_tag, &wc, &wp);
				dir->tdir_count = wc;
			} else
				_TIFFgetfield(td, fip->field_tag, &wp);
			if (!WRITE(TIFFWriteShortArray, wp))
				return (0);
		} else {
			u_short sv;
			_TIFFgetfield(td, fip->field_tag, &sv);
			dir->tdir_offset =
			    TIFFInsertData(tif, dir->tdir_type, sv);
		}
		break;
	case TIFF_LONG:
	case TIFF_SLONG:
		if (wc > 1) {
			u_long *lp;
			if (wc == (u_short) TIFF_VARIABLE) {
				_TIFFgetfield(td, fip->field_tag, &wc, &lp);
				dir->tdir_count = wc;
			} else
				_TIFFgetfield(td, fip->field_tag, &lp);
			if (!WRITE(TIFFWriteLongArray, lp))
				return (0);
		} else {
			/* XXX handle LONG->SHORT conversion */
			_TIFFgetfield(td, fip->field_tag, &dir->tdir_offset);
		}
		break;
	case TIFF_RATIONAL:
	case TIFF_SRATIONAL:
		if (wc > 1) {
			float *fp;
			if (wc == (u_short) TIFF_VARIABLE) {
				_TIFFgetfield(td, fip->field_tag, &wc, &fp);
				dir->tdir_count = wc;
			} else
				_TIFFgetfield(td, fip->field_tag, &fp);
			if (!WRITE(TIFFWriteRationalArray, fp))
				return (0);
		} else {
			float fv;
			_TIFFgetfield(td, fip->field_tag, &fv);
			if (!TIFFWriteRational(tif, fip->field_type, fip->field_tag, dir, fv))
				return (0);
		}
		break;
	case TIFF_FLOAT:
		if (wc > 1) {
			float *fp;
			if (wc == (u_short) TIFF_VARIABLE) {
				_TIFFgetfield(td, fip->field_tag, &wc, &fp);
				dir->tdir_count = wc;
			} else
				_TIFFgetfield(td, fip->field_tag, &fp);
			if (!WRITE(TIFFWriteFloatArray, fp))
				return (0);
		} else {
			float fv;
			_TIFFgetfield(td, fip->field_tag, &fv);
			TIFFCvtNativeToIEEEFloat(tif, 1, &fv);
			/* XXX assumes sizeof (long) == sizeof (float) */
			dir->tdir_offset = *(u_long *)&fv;	/* XXX */
		}
		break;
	case TIFF_ASCII: {
		char *cp;
		_TIFFgetfield(td, fip->field_tag, &cp);
		if (!TIFFWriteString(tif, fip->field_tag, dir, cp))
			return (0);
		break;
	}
	}
	return (1);
}
#undef WRITE

/*
 * Setup a directory entry with either a SHORT
 * or LONG type according to the value.
 */
static
DECLARE4(TIFFSetupShortLong,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, u_long, v)
{
	dir->tdir_tag = tag;
	dir->tdir_count = 1;
	if (v > 0xffffL) {
		dir->tdir_type = (short)TIFF_LONG;
		dir->tdir_offset = v;
	} else {
		dir->tdir_type = (short)TIFF_SHORT;
		dir->tdir_offset = TIFFInsertData(tif, (int)TIFF_SHORT, v);
	}
}
#undef MakeShortDirent

/*
 * Setup a RATIONAL directory entry and
 * write the associated indirect value.
 */
static
DECLARE5(TIFFWriteRational,
    TIFF*, tif, TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, float, v)
{
	u_long t[2];

	dir->tdir_tag = tag;
	dir->tdir_type = (short)type;
	dir->tdir_count = 1;
	if (type == TIFF_RATIONAL && v < 0)
		TIFFWarning(tif->tif_name,
	"\"%s\": Information lost writing value (%g) as (unsigned) RATIONAL",
		    TIFFFieldWithTag(tag)->field_name, v);
	/* need algorithm to convert ... XXX */
	t[0] = v*10000.0 + 0.5;
	t[1] = 10000;
	return (TIFFWriteData(tif, dir, (char *)t));
}

/*
 * Setup a directory entry that references a
 * samples/pixel array of SHORT values and
 * (potentially) write the associated indirect
 * values.
 */
static
DECLARE3(TIFFWritePerSampleShorts,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir)
{
	u_short w[4], v;
	int i, samplesperpixel = tif->tif_dir.td_samplesperpixel;

	_TIFFgetfield(&tif->tif_dir, tag, &v);
	for (i = 0; i < samplesperpixel; i++)
		w[i] = v;
	return (TIFFWriteShortArray(
	    tif, TIFF_SHORT, tag, dir, samplesperpixel, w));
}

/*
 * Setup a pair of shorts that are returned by
 * value, rather than as a reference to an array.
 */
static
DECLARE3(TIFFSetupShortPair,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir)
{
	u_short v[2];

	_TIFFgetfield(&tif->tif_dir, tag, &v[0], &v[1]);
	return (TIFFWriteShortArray(tif, TIFF_SHORT, tag, dir, 2, v));
}

/*
 * Setup a directory entry for an NxM table of shorts,
 * where M is known to be 2**bitspersample, and write
 * the associated indirect data.
 */
static
DECLARE5(TIFFWriteShortTable,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, int, n, u_short**, table)
{
	u_long off;
	int i;

	dir->tdir_tag = tag;
	dir->tdir_type = (short)TIFF_SHORT;
	/* XXX -- yech, fool TIFFWriteData */
	dir->tdir_count = 1L<<tif->tif_dir.td_bitspersample;
	off = dataoff;
	for (i = 0; i < n; i++)
		if (!TIFFWriteData(tif, dir, (char *)table[i]))
			return (0);
	dir->tdir_count *= n;
	dir->tdir_offset = off;
	return (1);
}

/*
 * Setup a directory entry of an ASCII string
 * and write any associated indirect value.
 */
static
DECLARE4(TIFFWriteString,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, char*, cp)
{
	dir->tdir_tag = tag;
	dir->tdir_type = (short)TIFF_ASCII;
	dir->tdir_count = strlen(cp) + 1;	/* includes \0 byte */
	if (dir->tdir_count > 4) {
		if (!TIFFWriteData(tif, dir, cp))
			return (0);
	} else
		bcopy(cp, &dir->tdir_offset, dir->tdir_count);
	return (1);
}

/*
 * Setup a directory entry of an array of SHORT
 * or SSHORT and write the associated indirect values.
 */
static
DECLARE6(TIFFWriteShortArray, TIFF*, tif,
    TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, u_short*, v)
{
	dir->tdir_tag = tag;
	dir->tdir_type = (short)type;
	dir->tdir_count = n;
	if (n <= 2) {
		if (tif->tif_header.tiff_magic == TIFF_BIGENDIAN) {
			dir->tdir_offset = (long)v[0] << 16;
			if (n == 2)
				dir->tdir_offset |= v[1] & 0xffff;
		} else {
			dir->tdir_offset = v[0] & 0xffff;
			if (n == 2)
				dir->tdir_offset |= (long)v[1] << 16;
		}
		return (1);
	} else
		return (TIFFWriteData(tif, dir, (char *)v));
}

/*
 * Setup a directory entry of an array of LONG
 * or SLONG and write the associated indirect values.
 */
static
DECLARE6(TIFFWriteLongArray, TIFF*, tif,
    TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, u_long*, v)
{
	dir->tdir_tag = tag;
	dir->tdir_type = (short)type;
	dir->tdir_count = n;
	if (n == 1) {
		dir->tdir_offset = v[0];
		return (1);
	} else
		return (TIFFWriteData(tif, dir, (char *)v));
}

/*
 * Setup a directory entry of an array of RATIONAL
 * or SRATIONAL and write the associated indirect values.
 */
static
DECLARE6(TIFFWriteRationalArray, TIFF*, tif,
    TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, float*, v)
{
	int i, status;
	u_long *t;

	dir->tdir_tag = tag;
	dir->tdir_type = (short)type;
	dir->tdir_count = n;
	t = (u_long *)malloc(2*n * sizeof (long));
	for (i = 0; i < n; i++) {
		/* need algorithm to convert ... XXX */
		t[2*i+0] = v[i]*10000.0 + 0.5;
		t[2*i+1] = 10000;
	}
	status = TIFFWriteData(tif, dir, (char *)t);
	free((char *)t);
	return (status);
}

static
DECLARE6(TIFFWriteFloatArray, TIFF *, tif,
    TIFFDataType, type, u_short, tag, TIFFDirEntry *, dir, int, n, float *, v)
{
	dir->tdir_tag = tag;
	dir->tdir_type = (short)type;
	dir->tdir_count = n;
	TIFFCvtNativeToIEEEFloat(tif, n, v);
	if (n == 1) {
		dir->tdir_offset = *(u_long *)&v[0];
		return (1);
	} else
		return (TIFFWriteData(tif, dir, (char *)v));
}

#ifdef JPEG_SUPPORT
/*
 * Setup a directory entry for JPEG Quantization
 * tables and write the associated indirect values.
 */
static
DECLARE2(TIFFWriteJPEGQTables, TIFF*, tif, TIFFDirEntry*, dir)
{
	TIFFDirectory *td = &tif->tif_dir;
	TIFFDirEntry tdir;
	u_long off[4];
	int i;

	tdir.tdir_tag = TIFFTAG_JPEGQTABLES;	/* for diagnostics */
	tdir.tdir_type = (short)TIFF_BYTE;
	tdir.tdir_count = 64;
	for (i = 0; i < td->td_samplesperpixel; i++) {
		if (!TIFFWriteData(tif, &tdir, (char *)td->td_qtab[i]))
			return (0);
		off[i] = tdir.tdir_offset;
	}
	return (TIFFWriteLongArray(tif, TIFF_LONG,
	    TIFFTAG_JPEGQTABLES, dir, td->td_samplesperpixel, off));
}

/*
 * Setup a directory entry for JPEG Coefficient
 * tables and write the associated indirect values.
 */
static
DECLARE4(TIFFWriteJPEGCTables,
    TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, u_char **, tab)
{
	TIFFDirectory *td = &tif->tif_dir;
	TIFFDirEntry tdir;
	u_long off[4];
	int i, j, ncodes;

	tdir.tdir_tag = tag;		/* for diagnostics */
	tdir.tdir_type = (short)TIFF_BYTE;
	for (i = 0; i < td->td_samplesperpixel; i++) {
		for (ncodes = 0, j = 0; j < 16; j++)
			ncodes += tab[i][j];
		tdir.tdir_count = 16+ncodes;
		if (!TIFFWriteData(tif, &tdir, (char *)tab[i]))
			return (0);
		off[i] = tdir.tdir_offset;
	}
	return (TIFFWriteLongArray(tif,
	    TIFF_LONG, tag, dir, td->td_samplesperpixel, off));
}
#endif

#ifdef COLORIMETRY_SUPPORT
static
DECLARE2(TIFFWriteTransferFunction, TIFF*, tif, TIFFDirEntry*, dir)
{
	TIFFDirectory *td = &tif->tif_dir;
	int j, ncols;
	u_long n;
	u_short **tf = td->td_transferfunction;

	/*
	 * Check if the table can be written as a single column.
	 */
	n = (1L<<td->td_bitspersample) * sizeof (u_short);
	ncols = 1;		/* assume only one column is needed */
	for (j = 1; j < td->td_samplesperpixel; j++)
		if (bcmp(tf[0], tf[j], n)) {
			ncols = td->td_samplesperpixel;
			break;
		}
	return (TIFFWriteShortTable(tif,
	    TIFFTAG_TRANSFERFUNCTION, dir, ncols, tf));
}
#endif

/*
 * Write a contiguous directory item.
 */
static
TIFFWriteData(tif, dir, cp)
	TIFF *tif;
	TIFFDirEntry *dir;
	char *cp;
{
	int cc;

	dir->tdir_offset = dataoff;
	cc = dir->tdir_count * tiffDataWidth[dir->tdir_type];
	if (SeekOK(tif->tif_fd, dir->tdir_offset) &&
	    WriteOK(tif->tif_fd, cp, cc)) {
		dataoff += (cc + 1) & ~1;
		return (1);
	}
	TIFFError(tif->tif_name, "Error writing data for field \"%s\"",
	    TIFFFieldWithTag(dir->tdir_tag)->field_name);
	return (0);
}

/*
 * Link the current directory into the
 * directory chain for the file.
 */
static
TIFFLinkDirectory(tif)
	register TIFF *tif;
{
	static char module[] = "TIFFLinkDirectory";
	u_short dircount;
	long nextdir;

	tif->tif_diroff = (lseek(tif->tif_fd, 0L, L_XTND)+1) &~ 1L;
	if (tif->tif_header.tiff_diroff == 0) {
		/*
		 * First directory, overwrite header.
		 */
		tif->tif_header.tiff_diroff = tif->tif_diroff;
		(void) lseek(tif->tif_fd, 0L, L_SET);
		if (!WriteOK(tif->tif_fd, &tif->tif_header,
		    sizeof (tif->tif_header))) {
			TIFFError(tif->tif_name, "Error writing TIFF header");
			return (0);
		}
		return (1);
	}
	/*
	 * Not the first directory, search to the last and append.
	 */
	nextdir = tif->tif_header.tiff_diroff;
	do {
		if (!SeekOK(tif->tif_fd, nextdir) ||
		    !ReadOK(tif->tif_fd, &dircount, sizeof (dircount))) {
			TIFFError(module, "Error fetching directory count");
			return (0);
		}
		if (tif->tif_flags & TIFF_SWAB)
			TIFFSwabShort(&dircount);
		lseek(tif->tif_fd, dircount * sizeof (TIFFDirEntry), L_INCR);
		if (!ReadOK(tif->tif_fd, &nextdir, sizeof (nextdir))) {
			TIFFError(module, "Error fetching directory link");
			return (0);
		}
		if (tif->tif_flags & TIFF_SWAB)
			TIFFSwabLong((u_long *)&nextdir);
	} while (nextdir != 0);
	(void) lseek(tif->tif_fd, -sizeof (nextdir), L_INCR);
	if (!WriteOK(tif->tif_fd, &tif->tif_diroff, sizeof (tif->tif_diroff))) {
		TIFFError(module, "Error writing directory link");
		return (0);
	}
	return (1);
}


text:
package main

import (
	"fmt"
	"os"

	request "github.com/blendlabs/go-request"
	util "github.com/blendlabs/go-util"
)

func main() {
	_, meta, err := request.New().AsGet().WithURLf("https://google.com").BytesWithMeta()
	if err != nil {
		fmt.Fprintf(os.Stderr, "%v", err)
		os.Exit(1)
	}
	fmt.Fprintf(os.Stdout, util.JSON.SerializePretty(meta, "", "  "))
	//fmt.Fprintf(os.Stdout, "%s\n", string(res))
}


text:
package org.apache.geode.cache.internal;

import java.nio.file.Path;
import java.util.Map;

import org.apache.geode.internal.cache.CacheService;
import org.apache.geode.internal.cache.InternalCache;

/**
 * This interface provides access to the simple http service exposed on the Geode
 * {@link InternalCache}. An instance can be retrieved by calling
 * {@code InternalCache.getService(HttpService.class)}.
 */
public interface HttpService extends CacheService {

  String SECURITY_SERVICE_SERVLET_CONTEXT_PARAM = "org.apache.geode.securityService";

  String CLUSTER_MANAGEMENT_SERVICE_CONTEXT_PARAM = "org.apache.geode.cluster.management.service";

  String GEODE_SSLCONFIG_SERVLET_CONTEXT_PARAM = "org.apache.geode.sslConfig";

  String AUTH_TOKEN_ENABLED_PARAM = "org.apache.geode.auth.token.enabled";

  /**
   * Add a new web application in the form of a war file. This method is also implicitly
   * responsible for starting the container if necessary.
   *
   * @param webAppContext the context path to be exposed for the web application
   * @param warFilePath the absolute path to the war file
   * @param attributeNameValuePairs attributes to be set on the servlet context
   */
  void addWebApplication(String webAppContext, Path warFilePath,
      Map<String, Object> attributeNameValuePairs) throws Exception;
}


text:
import logger from "./logger";
import environment from "./environment";
import client from "./client";
import { server as graphqlServer } from "./graphql";
import * as Sentry from "@sentry/node";
import "@sentry/tracing";

Sentry.init({
  dsn: environment.isProduction ? process.env.SENTRY_DSN : undefined,
  tracesSampleRate: 1.0,
});

const main = async () => {
  logger.info("Starting client...");
  await client.login(environment.TOKEN);

  logger.info("Starting GraphQL server...");
  await graphqlServer.listen();
};

main();


text:
package somossuinos.aptcomplex.domain.apartment;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.jpa.domain.AbstractPersistable;
import somossuinos.aptcomplex.domain.exception.AptComplexDomainException;
import somossuinos.aptcomplex.domain.exception.ExceptionMessages;
import somossuinos.aptcomplex.domain.person.Person;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Version;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.HashSet;
import java.util.Set;

/**
 * @author ceballos
 * @since 2015-07-17
 */
@JsonIgnoreProperties( { "new" })
@Entity
@Table(name = "apartment")
public class Apartment extends AbstractPersistable<Long> {

    @NotNull
    @Size(min = 1, max = 4)
    @Column(name = "number", nullable = false, length = 4, unique = true)
    private String number;

    public String getNumber() {
        return number;
    }

    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(
            name = "residence",
            joinColumns = @JoinColumn(name = "apartment_id", nullable = false),
            inverseJoinColumns = @JoinColumn(name = "person_id", nullable = false)
    )
    private Set<Person> residents = new HashSet<>(0);

    public Set<Person> getResidents() {
        return residents;
    }

    @NotNull
    @Version
    @Column(name = "version", nullable = false)
    private Long version;

    protected Apartment() {
    }

    public static class Builder {
        private Apartment apartment;

        private Builder() {
            this.apartment = new Apartment();
        }

        public static Builder get(final String number) {
            if (StringUtils.isBlank(number)) throw new AptComplexDomainException(new IllegalArgumentException(ExceptionMessages.PARAMETER_CANNOT_BE_NULL));
            final Builder builder = new Builder();
            builder.apartment.number = number;
            return builder;
        }

        public Apartment build() {
            return apartment;
        }

        public Builder withResident(final Person resident) {
            if (resident == null) throw new AptComplexDomainException(new IllegalArgumentException(ExceptionMessages.PARAMETER_CANNOT_BE_NULL));
            apartment.residents.add(resident);
            return this;
        }

    }

}


text:
package market.gui;

import java.awt.Graphics2D;

public interface Gui {

    public void updatePosition();
    public void draw(Graphics2D g);
    public boolean isPresent();

}


text:
---
layout: page
title: Projektid
---

Projekti juhend on leitav [siit](http://andmeteadus.github.io/2017/projekt_juhend/).

## [Wikipedia muudatussõjad](http://htmlpreview.github.io/?https://github.com/andmeteadus/2017/blob/gh-pages/Wikipedia_muudatussojad.html)
Muudatussõda (edit-war) on nähtus, mille puhul artikli muutjad ei ole ühisel arusaamal artikli sisulistes küsimustes ning muudavad artiklit kordamööda, omale sobival moel. Näiteks on Nikola Tesla artiklit muudetud korduvalt lühikese aja jooksul, sest on erinevaid allikaid tema rahvuse kohta...
[ (loe edasi) ](http://htmlpreview.github.io/?https://github.com/andmeteadus/2017/blob/gh-pages/Wikipedia_muudatussojad.html)

## [IT-sektori tunnihinnad](http://htmlpreview.github.io/?https://github.com/andmeteadus/2017/blob/gh-pages/IT_tunnihinnad.html)
Aastal 2015 korraldati IT-sekoris hange ostmaks sisse arendusresurssi. Hankele oodati tunnihinnapakkumisi järgmistele ametitele: nooremarendaja, vanemarendaja, front-end arendaja, arhitekt, analüütik, testija ja UX-disainer. Hankest võttis osa 22 Eestis tegutsevat IT-firmat...
[ (loe edasi) ](http://htmlpreview.github.io/?https://github.com/andmeteadus/2017/blob/gh-pages/IT_tunnihinnad.html)

## [Bussiliiklus](https://andmeteadus2017.shinyapps.io/Bussiliiklus/)
App, kus kasutaja saab vaadata nii linna- kui maaliinide aegu ja marsruute. Andmed pärinevad lehelt www.peatus.ee/gtfs/. Failid ja kood on leitavad [githubis](https://github.com/andmeteadus/2017/tree/gh-pages/Rakendused/Bussiliiklus).

## [Teadusrahastus](https://andmeteadus2017.shinyapps.io/Teadusraha/)
App, kus kasutaja saab vaadata, millistel Eesti teadlastel on enim rahastust ja kellel mitte niipalju. Andmed pärinevad [Etisest](https://www.etis.ee/Portal/Projects/). Projekti raames esitatud andmefail ja kood on leitavad [githubis](https://github.com/andmeteadus/2017/tree/gh-pages/Rakendused/Teadusraha). (Erineb vähesel määral veebis olevast versioonist.)

## [TOHOH!](https://andmeteadus2017.shinyapps.io/TOHOH/)
App, kus visualiseeritakse nelja Eesti uudisteportaali (Delfi, ERR, Õhtuleht ja Postimees) pealkirjades esinevaid sõnu. Kasutatud on ajavahemikus 12-28.aprill 2017 kord päevas kogutud artiklite pealkirju. Esitatud andmefailid ja koodid on leitavad [githubis](https://github.com/andmeteadus/2017/tree/gh-pages/Rakendused/TOHOH).