text:
import mq from '../../src/js-mq';

mq.register([
    {name: 'xs', query: '(max-width: 767px)'},
    {name: 'sm', query: '(min-width: 768px) and (max-width: 991px)'},
    {name: 'md', query: '(min-width: 992px) and (max-width: 1199px)'},
    {name: 'lg', query: '(min-width: 1200px)'}
]);

document.addEventListener('DOMContentLoaded', () => {

    const states = [];
    const classUpdateAnim = 'mq-item--anim-flash';
    const classActive = 'mq-item--active';
    const classInactive = 'mq-item--inactive';

    function updateQueryTable() {
        window.requestAnimationFrame(() => {

            for (const state of states) {
                let {active, updated, el} = state;

                if (updated) {
                    if (active) {
                        el.classList.remove(classInactive);
                        el.classList.add(classActive, classUpdateAnim);
                    } else {
                        el.classList.remove(classActive);
                        el.classList.add(classInactive, classUpdateAnim);
                    }
                    state.updated = false;
                }
            }

        });
    }

    Array.from(document.querySelectorAll('.js-mq-item')).forEach(el => {

        const on = el.dataset.mq;
        const from = el.dataset.mqFrom || '*';

        el.addEventListener('animationend', () => {
            window.requestAnimationFrame(() => {
                el.classList.remove(classUpdateAnim);
            });
        });

        const state = {
            el,
            active: false,
            updated: false,
        };

        states.push(state);

        mq.on(on, from, () => {
            state.active = true;
            state.updated = true;
        }, () => {
            state.active = false;
            state.updated = true;
        });
    });

    mq.on('*', updateQueryTable, true);

});


text:
<?php

class Google_Service_Games_AchievementUpdateRequest extends Google_Model
{
  public $achievementId;
  protected $incrementPayloadType = 'Google_Service_Games_GamesAchievementIncrement';
  protected $incrementPayloadDataType = '';
  public $kind;
  protected $setStepsAtLeastPayloadType = 'Google_Service_Games_GamesAchievementSetStepsAtLeast';
  protected $setStepsAtLeastPayloadDataType = '';
  public $updateType;

  public function setAchievementId($achievementId)
  {
    $this->achievementId = $achievementId;
  }
  public function getAchievementId()
  {
    return $this->achievementId;
  }
  /**
   * @param Google_Service_Games_GamesAchievementIncrement
   */
  public function setIncrementPayload(Google_Service_Games_GamesAchievementIncrement $incrementPayload)
  {
    $this->incrementPayload = $incrementPayload;
  }
  /**
   * @return Google_Service_Games_GamesAchievementIncrement
   */
  public function getIncrementPayload()
  {
    return $this->incrementPayload;
  }
  public function setKind($kind)
  {
    $this->kind = $kind;
  }
  public function getKind()
  {
    return $this->kind;
  }
  /**
   * @param Google_Service_Games_GamesAchievementSetStepsAtLeast
   */
  public function setSetStepsAtLeastPayload(Google_Service_Games_GamesAchievementSetStepsAtLeast $setStepsAtLeastPayload)
  {
    $this->setStepsAtLeastPayload = $setStepsAtLeastPayload;
  }
  /**
   * @return Google_Service_Games_GamesAchievementSetStepsAtLeast
   */
  public function getSetStepsAtLeastPayload()
  {
    return $this->setStepsAtLeastPayload;
  }
  public function setUpdateType($updateType)
  {
    $this->updateType = $updateType;
  }
  public function getUpdateType()
  {
    return $this->updateType;
  }
}

redpajama_set_name: RedPajamaGithub


text:
FROM ubuntu:trusty
MAINTAINER David Worms

RUN \
 apt update -y && \
 # Install Node.js dependencies
 apt install -y build-essential curl git && \
 # Install SSH and sudo
 apt-get install -y openssh-server sudo && \
 ssh-keygen -A && \
 mkdir -p /run/sshd

ADD ./entrypoint.sh /entrypoint.sh
RUN mkdir -p /nikita
WORKDIR /nikita/packages/service
ENV TERM xterm # Color output in TTY

# Sudo User
RUN useradd nikita -d /home/nikita -m -s /bin/bash && \
 mkdir -p /home/nikita && \
 chown nikita /home/nikita && \
 chmod 700 /home/nikita && \
 echo 'nikita ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/nikita
USER nikita

# Install Node.js
ENV NODE_VERSION stable
RUN \
  curl -L https://git.io/n-install | bash -s -- -y
# Note, bashrc not sourced unless running interactively
# RUN . ~/.bashrc && n $NODE_VERSION
ENV PATH /home/nikita/n/bin:$PATH

RUN \
 ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N '' && \
 cat ~/.ssh/id_ed25519.pub > ~/.ssh/authorized_keys

ENTRYPOINT ["/entrypoint.sh"]


text:
package de.uni_luebeck.iti.smachapp.app;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;

import de.uni_luebeck.iti.smachapp.model.EditorModel;
import de.uni_luebeck.iti.smachapp.model.XMLSaverLoader;

public class MachineProperty extends Activity {

    private static EditorModel setupModel;

    private EditorModel model;

    public static void setupModel(EditorModel m) {
        setupModel = m;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_machine_property);

        model = setupModel;
        EditText text = (EditText) findViewById(R.id.automatName);
        text.setText(model.getStateMachine().getName());
        text.setSelection(model.getStateMachine().getName().length());
    }

    @Override
    public void onBackPressed() {
        String newName = ((EditText) findViewById(R.id.automatName)).getText().toString();

        if (!newName.isEmpty()) {
            updateMachineName(newName);
        } else {
            Toast toast=Toast.makeText(this,R.string.empty_name_in_property,Toast.LENGTH_LONG);
            toast.show();
            finish();
        }
    }

    private void updateMachineName(final String newName) {
        if (!newName.equals(model.getStateMachine().getName())) {
            if (XMLSaverLoader.doesFileExist(newName)) {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);

                final Activity activity = this;

                builder.setTitle(R.string.file_already_exists);
                builder.setMessage(R.string.file_already_exists_message);
                builder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        setNameAndSave(newName);
                        activity.finish();
                    }
                });
                builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        activity.finish();
                    }
                });
                builder.show();

            } else {
                setNameAndSave(newName);
                finish();
            }
        } else {
            finish();
        }
    }

    private void setNameAndSave(String newName) {
        model.getStateMachine().setName(newName);
        model.updateFileNames();
        try {
            XMLSaverLoader.save(model);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        Toast.makeText(this,R.string.changes_saved,Toast.LENGTH_SHORT).show();
    }
}


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

import com.facebook.presto.spi.RecordCursor;
import com.facebook.presto.spi.type.Type;
import com.google.common.base.Throwables;
import com.google.common.base.VerifyException;
import io.airlift.log.Logger;
import io.airlift.slice.Slice;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
import static java.lang.String.format;

public class JdbcRecordCursor
        implements RecordCursor
{
    private static final Logger log = Logger.get(JdbcRecordCursor.class);

    private final JdbcColumnHandle[] columnHandles;
    private final BooleanReadFunction[] booleanReadFunctions;
    private final DoubleReadFunction[] doubleReadFunctions;
    private final LongReadFunction[] longReadFunctions;
    private final SliceReadFunction[] sliceReadFunctions;

    private final Connection connection;
    private final PreparedStatement statement;
    private final ResultSet resultSet;
    private boolean closed;

    public JdbcRecordCursor(JdbcClient jdbcClient, JdbcSplit split, List<JdbcColumnHandle> columnHandles)
    {
        this.columnHandles = columnHandles.toArray(new JdbcColumnHandle[0]);

        booleanReadFunctions = new BooleanReadFunction[columnHandles.size()];
        doubleReadFunctions = new DoubleReadFunction[columnHandles.size()];
        longReadFunctions = new LongReadFunction[columnHandles.size()];
        sliceReadFunctions = new SliceReadFunction[columnHandles.size()];

        for (int i = 0; i < this.columnHandles.length; i++) {
            ReadMapping readMapping = jdbcClient.toPrestoType(columnHandles.get(i).getJdbcTypeHandle())
                    .orElseThrow(() -> new VerifyException("Unsupported column type"));
            Class<?> javaType = readMapping.getType().getJavaType();
            ReadFunction readFunction = readMapping.getReadFunction();

            if (javaType == boolean.class) {
                booleanReadFunctions[i] = (BooleanReadFunction) readFunction;
            }
            else if (javaType == double.class) {
                doubleReadFunctions[i] = (DoubleReadFunction) readFunction;
            }
            else if (javaType == long.class) {
                longReadFunctions[i] = (LongReadFunction) readFunction;
            }
            else if (javaType == Slice.class) {
                sliceReadFunctions[i] = (SliceReadFunction) readFunction;
            }
            else {
                throw new IllegalStateException(format("Unsupported java type %s", javaType));
            }
        }

        try {
            connection = jdbcClient.getConnection(split);
            statement = jdbcClient.buildSql(connection, split, columnHandles);
            log.debug("Executing: %s", statement.toString());
            resultSet = statement.executeQuery();
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public long getReadTimeNanos()
    {
        return 0;
    }

    @Override
    public long getCompletedBytes()
    {
        return 0;
    }

    @Override
    public Type getType(int field)
    {
        return columnHandles[field].getColumnType();
    }

    @Override
    public boolean advanceNextPosition()
    {
        if (closed) {
            return false;
        }

        try {
            boolean result = resultSet.next();
            if (!result) {
                close();
            }
            return result;
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public boolean getBoolean(int field)
    {
        checkState(!closed, "cursor is closed");
        try {
            return booleanReadFunctions[field].readBoolean(resultSet, field + 1);
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public long getLong(int field)
    {
        checkState(!closed, "cursor is closed");
        try {
            return longReadFunctions[field].readLong(resultSet, field + 1);
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public double getDouble(int field)
    {
        checkState(!closed, "cursor is closed");
        try {
            return doubleReadFunctions[field].readDouble(resultSet, field + 1);
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public Slice getSlice(int field)
    {
        checkState(!closed, "cursor is closed");
        try {
            return sliceReadFunctions[field].readSlice(resultSet, field + 1);
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @Override
    public Object getObject(int field)
    {
        throw new UnsupportedOperationException();
    }

    @Override
    public boolean isNull(int field)
    {
        checkState(!closed, "cursor is closed");
        checkArgument(field < columnHandles.length, "Invalid field index");

        try {
            // JDBC is kind of dumb: we need to read the field and then ask
            // if it was null, which means we are wasting effort here.
            // We could save the result of the field access if it matters.
            resultSet.getObject(field + 1);

            return resultSet.wasNull();
        }
        catch (SQLException | RuntimeException e) {
            throw handleSqlException(e);
        }
    }

    @SuppressWarnings({"UnusedDeclaration", "EmptyTryBlock"})
    @Override
    public void close()
    {
        if (closed) {
            return;
        }
        closed = true;

        // use try with resources to close everything properly
        try (Connection connection = this.connection;
                Statement statement = this.statement;
                ResultSet resultSet = this.resultSet) {
            // do nothing
        }
        catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    private RuntimeException handleSqlException(Exception e)
    {
        try {
            close();
        }
        catch (Exception closeException) {
            // Self-suppression not permitted
            if (e != closeException) {
                e.addSuppressed(closeException);
            }
        }
        return Throwables.propagate(e);
    }
}


text:
local util = require 'strategies.util'
local createAllCodes = util.createAllCodes
local getConsistentCodes = util.getConsistentCodes
local getShortestCode = util.getShortestCode

-- Main logic

local allCodes = createAllCodes(CODE_LENGTH)
local consistentCodes = {}
local lastGuess = nil
local lastButton = {x=0,y=0}

local function reset()
  for i,code in ipairs(allCodes) do
    consistentCodes[i] = code
  end
  lastGuess = consistentCodes[1]
  lastButton = lastGuess[CODE_LENGTH]
  return lastGuess
end

local function guess(blacks, whites)
  consistentCodes = getConsistentCodes(consistentCodes, lastGuess,
      blacks, whites)
  lastGuess = consistentCodes[1]
  lastButton = lastGuess[CODE_LENGTH]
  return lastGuess
end

return {
  reset = reset,
  guess = guess
}


text:
import bpy
from mathutils import Vector, Matrix, Euler

import os
import sys
import argparse

from export_threejs import export_mesh

# ################################################################
# Custom properties
# ################################################################
from bpy.props import EnumProperty

bpy.types.Object.THREE_castShadow = bpy.props.BoolProperty()
bpy.types.Object.THREE_receiveShadow = bpy.props.BoolProperty()
bpy.types.Object.THREE_doubleSided = bpy.props.BoolProperty()
bpy.types.Object.THREE_exportGeometry = bpy.props.BoolProperty(default=True)

bpy.types.Material.THREE_useVertexColors = bpy.props.BoolProperty()
bpy.types.Material.THREE_depthWrite = bpy.props.BoolProperty(default=True)
bpy.types.Material.THREE_depthTest = bpy.props.BoolProperty(default=True)

THREE_material_types = [("Basic", "Basic", "Basic"),
                        ("Phong", "Phong", "Phong"),
                        ("Lambert", "Lambert", "Lambert")]
bpy.types.Material.THREE_materialType = EnumProperty(
    name="Material type", description="Material type",
    items=THREE_material_types, default="Lambert")

THREE_blending_types = [("NoBlending", "NoBlending", "NoBlending"),
                        ("NormalBlending", "NormalBlending", "NormalBlending"),
                        ("AdditiveBlending", "AdditiveBlending", "AdditiveBlending"),
                        ("SubtractiveBlending", "SubtractiveBlending", "SubtractiveBlending"),
                        ("MultiplyBlending", "MultiplyBlending", "MultiplyBlending"),
                        ("AdditiveAlphaBlending", "AdditiveAlphaBlending", "AdditiveAlphaBlending")]
bpy.types.Material.THREE_blendingType = EnumProperty(
    name="Blending type", description="Blending type",
    items=THREE_blending_types, default="NormalBlending")

def main():
    # Drop everything before '--'
    args = sys.argv[sys.argv.index('--')+1:]

    parser = argparse.ArgumentParser(description='Render.')
    parser.add_argument('object')
    parser.add_argument('path_template')

    args = parser.parse_args(args)

    scene = bpy.context.scene
    objects = [bpy.data.objects[args.object]]
    filepath = args.path_template

    dst_dir = os.path.dirname(filepath)
    if not os.access(dst_dir, os.R_OK | os.W_OK | os.X_OK):
        os.makedirs(dst_dir)

    option_flip_yz = True
    option_vertices = True
    option_vertices_truncate = False
    option_faces = True
    option_normals = True
    option_uv_coords = True
    option_materials = True
    option_colors = True
    option_bones = True
    option_skinning = True
    align_model = 0
    option_export_scene = False
    option_lights = False
    option_cameras = False
    option_scale = 1.0
    option_url_base_html = False
    option_copy_textures = True
    # TODO, don't copy textures, use asset_id references instead!
    option_animation_morph = False
    option_animation_skeletal = False
    option_frame_step = 1

    export_mesh(objects, scene, filepath,
                option_vertices,
                option_vertices_truncate,
                option_faces,
                option_normals,
                option_uv_coords,
                option_materials,
                option_colors,
                option_bones,
                option_skinning,
                align_model,
                option_flip_yz,
                option_scale,
                True,            # export_single_model
                option_copy_textures,
                option_animation_morph,
                option_animation_skeletal,
                option_frame_step)

if __name__ == '__main__':
    main()


text:
$( document ).ready(function() {
	var user = localStorage.flagUser;

	if (user=="gestor"){
		//alert("entrei")
		//alert(document.getElementById("aprovarB").style.display)
		document.getElementById("indice").style.display="block";
		document.getElementById("logbook").style.display="none";
		document.getElementById("adicionar").style.display="none";
		document.getElementById("meus").style.display="none";
		document.getElementById("aprovar").style.display="block";
		document.getElementById("conta").style.display="block";
		document.getElementById("logreg").style.display="none";
		document.getElementById("logout").style.display="block";
		document.getElementById("fav").style.display="none";
	}

	else if (user=="proprietario"){
		//alert(document.getElementById("aprovarB").style.display)
		document.getElementById("indice").style.display="block";
		document.getElementById("logbook").style.display="block";
		document.getElementById("adicionar").style.display="block";
		document.getElementById("meus").style.display="block";
		document.getElementById("aprovar").style.display="none";
		document.getElementById("conta").style.display="block";
		document.getElementById("logreg").style.display="none";
		document.getElementById("logout").style.display="block";
		document.getElementById("fav").style.display="block";

	}
	else if (user=="analise"){
	window.open ('analisar.html','_self',false);
	}

	else if (user=="default"){
		//alert(document.getElementById("aprovarB").style.display)
		document.getElementById("indice").style.display="block";
		document.getElementById("logbook").style.display="block";
		document.getElementById("adicionar").style.display="none";
		document.getElementById("meus").style.display="none";
		document.getElementById("aprovar").style.display="none";
		document.getElementById("conta").style.display="block";
		document.getElementById("logreg").style.display="none";
		document.getElementById("logout").style.display="block";
		document.getElementById("fav").style.display="block";

	}
	else{
		document.getElementById("indice").style.display="block";
		document.getElementById("logbook").style.display="none";
		document.getElementById("adicionar").style.display="none";
		document.getElementById("meus").style.display="none";
		document.getElementById("aprovar").style.display="none";
		document.getElementById("conta").style.display="none";
		document.getElementById("logreg").style.display="block";
		document.getElementById("logout").style.display="none";
		document.getElementById("fav").style.display="none";
	}
	});


text:
This copies files down to a temporary directory on your local machine, then uploads them to each machine that matches. To make this work, you need to

* specify what server(s) the files are coming from with `--from`
* specify what server(s) the files are going to `--to`
* specify what files need to be copied

`--from` and `--to` work in the same way as `--list` except they send their result to a specific place for use with another script. It's simply a regular expression on the hostname. Typically you'd do something like

    mass --from=db.*01 --to=api.*

Which would give you output something like

    Found hosts - from

    default/ dbserver01 (46.1.1.1)
      external: dbserver01.external.example.com (46.1.1.1)
      internal: dbserver01.internal.example.com (10.1.1.1)

    Found hosts - to

    default/ apiserver01 (46.1.1.2)
      external: apiserver01.external.example.com (46.1.1.2)
      internal: apiserver01.internal.example.com (10.1.1.2)
    default/ apiserver02 (46.1.1.3)
      external: apiserver02.external.example.com (46.1.1.3)
      internal: apiserver02.internal.example.com (10.1.1.3)

Once you're happy that you are that you are looking at the right servers, you can give it an action. In this case --serverToServers

    mass --from=db.*01 --to=api.* --serverToServers=~/*

In this example, we are copying the our home directory from dbserver01 to a couple of API servers.


text:
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Innovatian.Configuration</name>
    </assembly>
    <members>
        <member name="T:Innovatian.Configuration.IConfigurationSection">
            <summary>
            Defines a named section of a configuration exposing key value setting
            pairs. All settings are stored as strings until requested.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSection.Get``1(System.String)">
            <summary>
            Returns the value of the setting name <paramref name="key"/> as a
            <c>T</c> instance.
            </summary>
            <typeparam name="T">
            The type needed by the user.
            </typeparam>
            <param name="key">
            The name of the setting.
            </param>
            <returns>returns the setting value as a <c>T</c> instance or
            defatult(T) if the key does not exist.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSection.TryGet``1(System.String,``0@)">
            <summary>
            Returns <c>true</c> if the value of the setting name <paramref name="key"/>
            exists and sets the <c>T</c> instance via the out parameter. If the key
            was not found, <c>false</c> is returned and the out value is set to default(T).
            </summary>
            <typeparam name="T">
            The type needed by the user.
            </typeparam>
            <param name="key">
            The name of the setting.
            </param>
            <param name="value">
            The value to set if the key exists.
            </param>
            <returns>returns <c>true</c> if the setting exists and sets the value as a <c>T</c> instance or
            <c>false</c> if the key does not exist and sets the out value to default(T).
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSection.Get``1(System.String,``0)">
            <summary>
            Returns the value of the setting name <paramref name="key"/> as a
            <c>T</c> instance.
            </summary>
            <typeparam name="T">
            The type needed by the user.
            </typeparam>
            <param name="key">
            The name of the setting.
            </param>
            <param name="defaultValue">
            The default value.
            </param>
            <returns>returns the setting value as a <c>T</c> instance or <paramref
            name="defaultValue"/> if the key does not exist.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSection.Remove(System.String)">
            <summary>
            Removes the specified key and its value from the section.
            </summary>
            <param name="key">
            The name of the setting.
            </param>
            <returns>
            <c>true</c> if the setting named <paramref name="key"/> existed and was
            removed; <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSection.Set``1(System.String,``0)">
            <summary>
            Sets the value of the setting name <paramref name="key"/>. If the setting
            does not exist, it is created.
            </summary>
            <typeparam name="T">
            The type of the setting being saved.
            </typeparam>
            <param name="key">
            The name of the setting.
            </param>
            <param name="value">
            The value to save in this section.
            </param>
        </member>
        <member name="P:Innovatian.Configuration.IConfigurationSection.Name">
            <summary>
            The name of the section.
            </summary>
        </member>
        <member name="T:Innovatian.Configuration.IsoStorageConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="T:Innovatian.Configuration.AbstractConfigurationSource">
            <summary>
            AbstractConfigurationSource provides a skeleton implementation of
            <see cref="T:Innovatian.Configuration.IConfigurationSource"/> which provides all merging, adding,
            and expanding features. Inheritors provide implementation specific loading
            and saving functionality.
            </summary>
        </member>
        <member name="T:Innovatian.Configuration.IConfigurationSource">
            <summary>
            Defines methods and properties representing a configuration data source.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.Add(Innovatian.Configuration.IConfigurationSection)">
            <summary>
            Adds a named configuration section to this source. If the section
            name is already in this source, the values from the new source will
            override and be added.
            </summary>
            <param name="section">The named section to add.</param>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.ExpandKeyValues">
            <summary>
            Processes all sections expanding configuration variables and saving
            the new values.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.Merge(Innovatian.Configuration.IConfigurationSource[])">
            <summary>
            Merges the sources into this instance. Each source's sections will
            be added and merged. If the sources contain duplicate sections, they
            will be merged.
            </summary>
            <param name="configurationSources"></param>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.Reload">
            <summary>
            Discards all sections and merged sources and reloads a fresh set of
            settings.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.Save">
            <summary>
            Saves all sections. All data merged from other merged sources will
            be included.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IConfigurationSource.Clear">
            <summary>
            Clears all sections, their values, and calls Clear on all internal
            configuration sources.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.IConfigurationSource.AutoSave">
            <summary>
            if <see cref="P:Innovatian.Configuration.IConfigurationSource.AutoSave"/> is <c>true</c>, the inheritor should save
            every time a key is updated; otherwise, updates should be ignored.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.IConfigurationSource.Sections">
            <summary>
            Provides user access to named configuration sections.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.AbstractConfigurationSource"/> class.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.Merge(Innovatian.Configuration.IConfigurationSource[])">
            <summary>
            Merges the sources into this instance. Each source's sections will
            be added and merged. If the sources contain duplicate sections, they
            will be merged.
            </summary>
            <param name="configurationSources"></param>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.Save">
            <summary>
            Saves all sections. All data merged from other merged sources will
            be included.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.Reload">
            <summary>
            Discards all sections and merged sources and reloads a fresh set of
            settings.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.Add(Innovatian.Configuration.IConfigurationSection)">
            <summary>
            Adds a named configuration section to this source. If the section
            name is already in this source, the values from the new source will
            override and be added.
            </summary>
            <param name="section">The named section to add.</param>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.ExpandKeyValues">
            <summary>
            Processes all sections expanding configuration variables and saving
            the new values.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.Clear">
            <summary>
            Clears the sections and sources of this instance.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.OnPropertyChanged(System.String,System.String)">
            <summary>
            Called when [property changed].
            </summary>
            <param name="section">The section.</param>
            <param name="key">The key.</param>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can
            be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.AbstractConfigurationSource.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can
            be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:Innovatian.Configuration.AbstractConfigurationSource.ConfigurationSources">
            <summary>
            Provides access to the base configuration sources to inheritors.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.AbstractConfigurationSource.SyncRoot">
            <summary>
            Gets the sync root for modifying the internal configuration sources and sections.
            </summary>
            <value>The sync root.</value>
        </member>
        <member name="P:Innovatian.Configuration.AbstractConfigurationSource.AutoSave">
            <summary>
            if <see cref="P:Innovatian.Configuration.AbstractConfigurationSource.AutoSave"/> is <c>true</c>, the inheritor should save
            every time a key is updated; otherwise, updates should be ignored.
            </summary>
            <value></value>
        </member>
        <member name="P:Innovatian.Configuration.AbstractConfigurationSource.Sections">
            <summary>
            Provides user access to named configuration sections.
            </summary>
            <value></value>
        </member>
        <member name="M:Innovatian.Configuration.IsoStorageConfigurationSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.IsoStorageConfigurationSource"/> class.
            </summary>
            <param name="fileName">
            Name of the file.
            </param>
            <remarks>
            If you specify invalid scope for your application, you will get an <see cref="T:System.IO.IsolatedStorage.IsolatedStorageException"/>.
            </remarks>
        </member>
        <member name="M:Innovatian.Configuration.IsoStorageConfigurationSource.#ctor(System.IO.IsolatedStorage.IsolatedStorageScope,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.IsoStorageConfigurationSource"/> class.
            </summary>
            <param name="scope">
            The scope for the isolated storage file.
            </param>
            <param name="fileName">
            Name of the file.
            </param>
            <remarks>
            If you specify invalid scope for your application, you will get an <see cref="T:System.IO.IsolatedStorage.IsolatedStorageException"/>.
            </remarks>
        </member>
        <member name="M:Innovatian.Configuration.IsoStorageConfigurationSource.Save">
            <summary>
            Saves all sections. All data merged from other merged sources will
            be included.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IsoStorageConfigurationSource.Reload">
            <summary>
            Discards all sections and merged sources and reloads a fresh set of
            settings.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.IsoStorageConfigurationSource.FullPath">
            <summary>
            Gets or sets the full path to the isolated storage file.
            </summary>
            <value>The full path.</value>
        </member>
        <member name="P:Innovatian.Configuration.IsoStorageConfigurationSource.Scope">
            <summary>
            Gets or sets the IsolatedStorageScope for this configuration source.
            </summary>
            <value>The scope.</value>
        </member>
        <member name="T:Innovatian.Configuration.AbstractFileConfigurationSource">
            <summary>
            AbstractFileConfigurationSource add helper functions to load configuration sources from file
            that are not needed in general implementations of <see cref="T:Innovatian.Configuration.IConfigurationSource"/>.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractFileConfigurationSource.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.AbstractFileConfigurationSource"/> class.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractFileConfigurationSource.Load(System.String)">
            <summary>
            Loads the current instance from the given file.
            </summary>
            <param name="fileName">
            The name of the file to load into this instance.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.AbstractFileConfigurationSource.FromFile``1(System.String)">
            <summary>
            Loads an <see cref="T:Innovatian.Configuration.IConfigurationSource"/> from the given file.
            </summary>
            <param name="fileName">
            The name of the file to load into a new instance.
            </param>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.AbstractFileConfigurationSource.Save">
            <summary>
            Saves all sections. All data merged from other merged sources will
            be included.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.AbstractFileConfigurationSource.Reload">
            <summary>
            If this instance has a file associated with it
            then the settings are cleared and reloaded from file.
            If, however, there is no <see cref="P:Innovatian.Configuration.AbstractFileConfigurationSource.FileName"/> set, then
            nothing is done.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.AbstractFileConfigurationSource.DefaultEncoding">
            <summary>
            Gets or sets the default file encoding.
            </summary>
            <value>The default encoding.</value>
        </member>
        <member name="P:Innovatian.Configuration.AbstractFileConfigurationSource.FileName">
            <summary>
            The file used to store the configuration on disk.
            </summary>
        </member>
        <member name="T:Innovatian.Configuration.DotNetConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="T:Innovatian.Configuration.XmlConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.XmlConfigurationSource"/> class.
            </summary>
            <param name="xml">The XML source.</param>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.XmlConfigurationSource"/> class.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.FromFile(System.String)">
            <summary>
            Creates a new <see cref="T:Innovatian.Configuration.IConfigurationSource"/> instance from the file specified.
            </summary>
            <param name="fileName">
            The file to load.
            </param>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.Parse(System.String)">
            <summary>
            Parses the specified XML.
            </summary>
            <param name="xml">The XML.</param>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.Load(System.String)">
            <summary>
            Loads the current instance from the given file.
            </summary>
            <param name="fileName">The name of the file to load into this instance.</param>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.Process(System.Xml.Linq.XDocument)">
            <summary>
            Processes the specified document.
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.ToXml(Innovatian.Configuration.IConfigurationSection)">
            <summary>
            Converts the given <see cref="T:Innovatian.Configuration.IConfigurationSection"/> to an XML representation.
            </summary>
            <param name="section">
            The section to convert to XML.
            </param>
            <returns>
            A XML representation of the <see cref="T:Innovatian.Configuration.IConfigurationSection"/>.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.ToXml(System.Collections.Generic.IEnumerable{Innovatian.Configuration.IConfigurationSection})">
            <summary>
            Converts the given <see cref="T:Innovatian.Configuration.IConfigurationSection"/>s to an XML representation.
            </summary>
            <param name="sections">
            The sections to convert to XML.
            </param>
            <returns>
            A XML representation of the <see cref="T:Innovatian.Configuration.IConfigurationSection"/>s.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.XmlConfigurationSource.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.DotNetConfigurationSource"/> class.
            </summary>
            <param name="xml">The XML source.</param>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.DotNetConfigurationSource"/> class.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.FromFile(System.String)">
            <summary>
            Froms the file.
            </summary>
            <param name="fileName">Name of the file.</param>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.Process(System.Xml.Linq.XDocument)">
            <summary>
            Processes the specified document.
            </summary>
            <param name="document">The document.</param>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.ToXml(Innovatian.Configuration.IConfigurationSection)">
            <summary>
            Converts the given <see cref="T:Innovatian.Configuration.IConfigurationSection"/> to an XML representation.
            </summary>
            <param name="section">
            The section to convert to XML.
            </param>
            <returns>
            A XML representation of the <see cref="T:Innovatian.Configuration.IConfigurationSection"/>.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.ToXml(System.Collections.Generic.IEnumerable{Innovatian.Configuration.IConfigurationSection})">
            <summary>
            Converts the given <see cref="T:Innovatian.Configuration.IConfigurationSection"/>s to an XML representation.
            </summary>
            <param name="sections">
            The sections to convert to XML.
            </param>
            <returns>
            A XML representation of the <see cref="T:Innovatian.Configuration.IConfigurationSection"/>s.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.DotNetConfigurationSource.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.StringArrayConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.StringArrayConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed. </exception>
        </member>
        <member name="M:Innovatian.Configuration.StringArrayConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If null is passed, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the <paramref name="value"/> parameter to.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="destinationType"/> parameter is null. </exception>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed. </exception>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.GetTFromString``1(System.String)">
            <summary>
            Gets an instance of T from string.
            </summary>
            <typeparam name="T">
            </typeparam>
            <param name="value">The value to convert.</param>
            <returns>
            <paramref name="value"/> as an instance of <c>T</c> or an exception if
            the conversion is not possible.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.GetStringFromT``1(``0)">
            <summary>
            Gets a string from an instance of <c>T</c>.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value">The value.</param>
            <returns>
            <c>T</c> as a string.
            </returns>
            <remarks>
            If you are using a custom or special type, you should make sure that
            there is a <see cref="T:System.ComponentModel.TypeConverter"/> registered for it.
            </remarks>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.ConvertToBool``1(System.String)">
            <summary>
            Converts the string value to a boolean. Int32 values are able to be
            parsed.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.IsBool``1">
            <summary>
            Determines if <c>T</c> is of type <see cref="T:System.Boolean"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.IsStringArray``1">
            <summary>
            Determines if <c>T</c> is of type <see cref="!:string[]"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.SettingConverter.IsByteArray``1">
            <summary>
            Determines if <c>T</c> is of type <see cref="!:byte[]"/>.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.ByteArrayConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="sourceType">A <see cref="T:System.Type"/> that represents the type you want to convert from.</param>
            <returns>
            true if this converter can perform the conversion; otherwise, false.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.ByteArrayConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts the given object to the type of this converter, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">The <see cref="T:System.Globalization.CultureInfo"/> to use as the current culture.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed. </exception>
        </member>
        <member name="M:Innovatian.Configuration.ByteArrayConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts the given value object to the specified type, using the specified context and culture information.
            </summary>
            <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"/> that provides a format context.</param>
            <param name="culture">A <see cref="T:System.Globalization.CultureInfo"/>. If null is passed, the current culture is assumed.</param>
            <param name="value">The <see cref="T:System.Object"/> to convert.</param>
            <param name="destinationType">The <see cref="T:System.Type"/> to convert the <paramref name="value"/> parameter to.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the converted value.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="destinationType"/> parameter is null. </exception>
            <exception cref="T:System.NotSupportedException">The conversion cannot be performed. </exception>
        </member>
        <member name="T:Innovatian.Configuration.Properties.Text">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.CannotRoundTripType0">
            <summary>
              Looks up a localized string similar to There is no TypeConverter registered that can save type {0} to a string and back..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.DestinationFileNameNotSet">
            <summary>
              Looks up a localized string similar to Destination file name must be set before saving..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.DocumentRootMustNotBeNull">
            <summary>
              Looks up a localized string similar to Document root must not be null..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.ExpandKeyMissing0">
            <summary>
              Looks up a localized string similar to Expand key not found: {0}..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.ExpandSectionMissing0">
            <summary>
              Looks up a localized string similar to Expand section not found: {0}..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.FailedToConvert0T1">
            <summary>
              Looks up a localized string similar to Failed to convert string [{0}] to type [{1}]..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.InvalidShortNameLength">
            <summary>
              Looks up a localized string similar to The short name may only be 1 or 2 characters.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.InvalidStorageScope">
            <summary>
              Looks up a localized string similar to You must provide valid scope for settings..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.Key0NotFoundInSection1DuringExpansion">
            <summary>
              Looks up a localized string similar to Key not found: [{0}] in current section: [{1}]..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.KeyCannotExpandOnSelf0">
            <summary>
              Looks up a localized string similar to Key cannot have a expand value of itself: {0}..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.NoEmptySectionNames">
            <summary>
              Looks up a localized string similar to Sections cannot have empty names..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.NoTypeConverterForRestore0">
            <summary>
              Looks up a localized string similar to There is no TypeConverter registered that can restore type {0} from a string. Please create a TypeConverter for type {0} that can save and restore from string..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.TypeCantBeReloaded0">
            <summary>
              Looks up a localized string similar to {0} cannot be reloaded..
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.Properties.Text.TypeCantBeSaved0">
            <summary>
              Looks up a localized string similar to {0} cannot be saved..
            </summary>
        </member>
        <member name="T:Innovatian.Configuration.IniConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.IniConfigurationSource"/> class.
            </summary>
            <param name="data">The data.</param>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.IniConfigurationSource"/> class.
            </summary>
            <param name="data">The data.</param>
            <param name="comment"></param>
            <param name="delimiter"></param>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.IniConfigurationSource"/> class.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.FromFile(System.String)">
            <summary>
            Creates a new <see cref="T:Innovatian.Configuration.IConfigurationSource"/> instance from the file specified.
            </summary>
            <param name="fileName">
            The file to load.
            </param>
            <returns></returns>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.Load(System.String)">
            <summary>
            Loads the current instance from the given file.
            </summary>
            <param name="fileName">The name of the file to load into this instance.</param>
        </member>
        <member name="M:Innovatian.Configuration.IniConfigurationSource.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:Innovatian.Configuration.IniConfigurationSource.Comment">
            <summary>
            Gets the comment string for the ini file.
            </summary>
            <value>The comment.</value>
        </member>
        <member name="P:Innovatian.Configuration.IniConfigurationSource.Delimiter">
            <summary>
            Gets the key/value pair delimiter used in the ini file.
            </summary>
            <value>The delimiter.</value>
        </member>
        <member name="T:Innovatian.Configuration.ConfigurationSection">
            <summary>

            </summary>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.ConfigurationSection"/>
            class.
            </summary>
            <param name="sectionName">Name of the section.</param>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Get``1(System.String)">
            <summary>
            Returns the value of the setting name <paramref name="key"/> as a
            <c>T</c> instance.
            </summary>
            <typeparam name="T">The type needed by the user.</typeparam>
            <param name="key">The name of the setting.</param>
            <returns>
            returns the setting value as a <c>T</c> instance or defatult(T) if
            the key does not exist.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.TryGet``1(System.String,``0@)">
            <summary>
            Returns <c>true</c> if the value of the setting name <paramref name="key"/>
            exists and sets the <c>T</c> instance via the out parameter. If the key
            was not found, <c>false</c> is returned and the out value is set to default(T).
            </summary>
            <typeparam name="T">
            The type needed by the user.
            </typeparam>
            <param name="key">
            The name of the setting.
            </param>
            <param name="value">
            The value to set if the key exists.
            </param>
            <returns>returns <c>true</c> if the setting exists and sets the value as a <c>T</c> instance or
            <c>false</c> if the key does not exist and sets the out value to default(T).
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Get``1(System.String,``0)">
            <summary>
            Returns the value of the setting name <paramref name="key"/> as a
            <c>T</c> instance.
            </summary>
            <typeparam name="T">The type needed by the user.</typeparam>
            <param name="key">The name of the setting.</param>
            <param name="defaultValue">The default value.</param>
            <returns>
            returns the setting value as a <c>T</c> instance or <paramref
            name="defaultValue"/> if the key does not exist.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Remove(System.String)">
            <summary>
            Removes the specified key and its value from the section.
            </summary>
            <param name="key">The name of the setting.</param>
            <returns>
            	<c>true</c> if the setting named <paramref name="key"/> existed and
                was
            removed; <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Set``1(System.String,``0)">
            <summary>
            Sets the value of the setting name <paramref name="key"/>. If the setting
            does not exist, it is created.
            </summary>
            <typeparam name="T">The type of the setting being saved.</typeparam>
            <param name="key">The name of the setting.</param>
            <param name="value">The value to save in this section.</param>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can
            be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can
            be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Equals(Innovatian.Configuration.ConfigurationSection)">
            <summary>
            Indicates whether the current object is equal to another object of
            the same type.
            </summary>
            <returns>
            true if the current object is equal to the <paramref name="other" />
            parameter; otherwise, false.
            </returns>
            <param name="other">
            An object to compare with this object.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is
            equal to the current <see cref="T:System.Object" />.
            </summary>
            <returns>
            true if the specified <see cref="T:System.Object" /> is equal to the
            current <see cref="T:System.Object" />; otherwise, false.
            </returns>
            <param name="obj">
            The <see cref="T:System.Object" /> to compare with the current <see
            cref="T:System.Object" />.
            </param>
            <exception cref="T:System.NullReferenceException">
            The <paramref name="obj" /> parameter is null.
            </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.GetHashCode">
            <summary>
            Serves as a hash function for a particular type.
            </summary>
            <returns>
            A hash code for the current <see cref="T:System.Object" />.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.op_Equality(Innovatian.Configuration.ConfigurationSection,Innovatian.Configuration.ConfigurationSection)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.op_Inequality(Innovatian.Configuration.ConfigurationSection,Innovatian.Configuration.ConfigurationSection)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="left">The left.</param>
            <param name="right">The right.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents the current
            <see cref="T:System.Object" />.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents the current <see
            cref="T:System.Object" />.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String@System#String}}#Add(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Adds an item to the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">
            The object to add to the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is
            read-only.
            </exception>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.Clear">
            <summary>
            Removes all items from the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is
            read-only.
            </exception>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String@System#String}}#Contains(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Determines whether the <see
            cref="T:System.Collections.Generic.ICollection`1" /> contains a
            specific value.
            </summary>
            <returns>
            true if <paramref name="item" /> is found in the <see
            cref="T:System.Collections.Generic.ICollection`1" />; otherwise,
            false.
            </returns>
            <param name="item">
            The object to locate in the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.String}[],System.Int32)">
            <summary>
            Copies the elements of the <see
            cref="T:System.Collections.Generic.ICollection`1" /> to an <see
            cref="T:System.Array" />, starting at a particular <see
            cref="T:System.Array" /> index.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array" /> that is the
            destination of the elements copied from <see
            cref="T:System.Collections.Generic.ICollection`1" />. The <see
            cref="T:System.Array" /> must have zero-based indexing.
            </param>
            <param name="arrayIndex">
            The zero-based index in <paramref name="array" /> at which copying
            begins.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref
            name="array" /> is null.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref
            name="arrayIndex" /> is less than 0.
            </exception>
            <exception cref="T:System.ArgumentException"><paramref name="array"
            /> is multidimensional. -or- <paramref name="arrayIndex" /> is equal
            to or greater than the length of <paramref name="array" />. -or- The
            number of elements in the source <see
            cref="T:System.Collections.Generic.ICollection`1" /> is greater than
            the available space from <paramref name="arrayIndex" /> to the end
            of the destination <paramref name="array" />. -or- Type <paramref
            name="{KeyValuePair{string, string}}" /> cannot be cast automatically to the type of the
            destination <paramref name="array" />.
            </exception>
        </member>
        <member name="M:Innovatian.Configuration.ConfigurationSection.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String@System#String}}#Remove(System.Collections.Generic.KeyValuePair{System.String,System.String})">
            <summary>
            Removes the first occurrence of a specific object from the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            true if <paramref name="item" /> was successfully removed from the
            <see cref="T:System.Collections.Generic.ICollection`1" />;
            otherwise, false. This method also returns false if <paramref
            name="item" /> is not found in the original <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
            <param name="item">
            The object to remove from the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.ICollection`1" /> is
            read-only.
            </exception>
        </member>
        <member name="E:Innovatian.Configuration.ConfigurationSection.PropertyChanged">
            <summary>
            Occurs when a property value changes.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.ConfigurationSection.Name">
            <summary>
            The name of the section.
            </summary>
            <value></value>
        </member>
        <member name="P:Innovatian.Configuration.ConfigurationSection.Count">
            <summary>
            Gets the number of elements contained in the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            The number of elements contained in the <see
            cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
        </member>
        <member name="P:Innovatian.Configuration.ConfigurationSection.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see
            cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <returns>
            true if the <see cref="T:System.Collections.Generic.ICollection`1"
            /> is read-only; otherwise, false.
            </returns>
        </member>
        <member name="T:Innovatian.Configuration.CommandLineConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.CommandLineConfigurationSource"/> class.
            </summary>
            <param name="args">
            The arguments to procces.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.#ctor(System.String[],System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.CommandLineConfigurationSource"/> class.
            </summary>
            <param name="args">
            The arguments to procces.
            </param>
            <param name="sectionName">
            Name of the section to add the settings into.
            </param>
            <param name="switches">
            The arguments switches to match against the arguments. The values
            may be accessed through these switches.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.#ctor(System.String[],System.String,System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.CommandLineConfigurationSource"/> class.
            </summary>
            <param name="args">
            The arguments to procces.
            </param>
            <param name="sectionName">
            Name of the section to add the settings into.
            </param>
            <param name="switches">
            The arguments switches to match against the arguments. The values
            may be accessed through these switches.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.AddSwitch(System.String,System.String,System.String)">
            <summary>
            Adds the switch to match against the arguments mapping the short
            name value to the long name (and short name) keys if possible.
            </summary>
            <param name="sectionName">
            Name of the section to add the settings into.
            </param>
            <param name="longName">
            The long name of the switch.
            </param>
            <param name="shortName">
            The short name of the switch. This must be 1 or 2 characters in
            length.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.AddSwitch(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Adds the switch to match against the arguments mapping each switch.
            </summary>
            <param name="sectionName">
            Name of the section to add the settings into.
            </param>
            <param name="switches">
            The arguments switches to match against the arguments. The values
            may be accessed through these switches.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.AddSwitch(System.String,System.String[])">
            <summary>
            Adds the switch to match against the arguments mapping each switch.
            </summary>
            <param name="sectionName">
            Name of the section to add the settings into.
            </param>
            <param name="switches">
            The arguments switches to match against the arguments. The values
            may be accessed through these switches.
            </param>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.Exists(System.String)">
            <summary>
            Determins whether the specified switch name has a corresponding value in a section.
            </summary>
            <param name="switchName">
            Name of the switch.
            </param>
            <returns>
            <c>true</c> if any section contains the switch; <c>false</c> otherwise.
            </returns>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.Save">
            <summary>
            Saves this instance.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.CommandLineConfigurationSource.Reload">
            <summary>
            Reloads this instance.
            </summary>
        </member>
        <member name="T:Innovatian.Configuration.RegistryConfigurationSource">
            <summary>

            </summary>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.#ctor(Microsoft.Win32.RegistryKey)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.RegistryConfigurationSource"/> class.
            </summary>
            <param name="root">The root key to load settings from.</param>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.RegistryConfigurationSource"/> class.
            </summary>
            <param name="root">The root key to load settings from.</param>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.#ctor(Microsoft.Win32.RegistryKey,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.RegistryConfigurationSource"/> class.
            </summary>
            <param name="root">The root key to load settings from.</param>
            <param name="recursive">if the recursively process subkeys. Default is true.</param>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Innovatian.Configuration.RegistryConfigurationSource"/> class.
            </summary>
            <param name="root">The root key to load settings from.</param>
            <param name="recursive">if the recursively process subkeys. Default is true.</param>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.Load(Microsoft.Win32.RegistryKey)">
            <summary>
            From the root key, create sections for every sub-key containing its values.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.GetSubKeys(Microsoft.Win32.RegistryKey)">
            <summary>
            Recursively creates full key name for all subkeys of the root.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.Save">
            <summary>
            Saves all sections. All data merged from other merged sources will
            be included.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.Reload">
            <summary>
            Discards all sections and merged sources and reloads a fresh set of
            settings.
            </summary>
        </member>
        <member name="M:Innovatian.Configuration.RegistryConfigurationSource.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:Innovatian.Configuration.RegistryConfigurationSource.Root">
            <summary>
            Gets or sets the root registry key used by this source.
            </summary>
            <value>The root.</value>
        </member>
        <member name="P:Innovatian.Configuration.RegistryConfigurationSource.Recursive">
            <summary>
            Whether this instance processes registry keys recusively or just load the root values.
            </summary>
        </member>
        <member name="P:Innovatian.Configuration.RegistryConfigurationSource.IsDisposed">
            <summary>
            Returns whether this is has been disposed.
            </summary>
        </member>
    </members>
</doc>


text:
class Solution {
    public boolean canBeEqual(int[] target, int[] arr) {
        Arrays.sort(target);
        Arrays.sort(arr);
        return Arrays.equals(target, arr);
    }
}


text:
define(function () {
  'use strict';

  return {
    es5: [
      {
        isAvailable: function () {
          // https://github.com/Modernizr/Modernizr/blob/master/feature-detects/es5/array.js
          return !(Array.prototype &&
            Array.prototype.every &&
            Array.prototype.filter &&
            Array.prototype.forEach &&
            Array.prototype.indexOf &&
            Array.prototype.lastIndexOf &&
            Array.prototype.map &&
            Array.prototype.some &&
            Array.prototype.reduce &&
            Array.prototype.reduceRight &&
            Array.isArray &&
            Function.prototype.bind);
        },
        implementation: 'es5-shim'
      },
      {
        isAvailable: function () { return true; },
        module: function () {
          return {};
        }
      }
    ],
    promises: [
      {
        // native ES6 Promises
        isAvailable: function () {
          // https://github.com/Modernizr/Modernizr/blob/master/feature-detects/es6/promises.js
          return 'Promise' in window &&
            'resolve' in window.Promise &&
            'reject' in window.Promise &&
            'all' in window.Promise &&
            'race' in window.Promise &&
            (function () {
              var resolve, promise;
              promise = new window.Promise(function (r) { resolve = r; });
              return typeof resolve === 'function' && typeof promise.then === 'function';
            }());
        },
        module: function () {
          return Promise;
        }
      },
      {
        // fallback to Bluebird
        isAvailable: function () { return true; },
        implementation: 'bluebird'
      }
    ]
  };
});


text:
<title>AM Detector</title>
<link rel="SHORTCUT ICON" href="favicon.ico">

<applet code=Circuit.class archive=circuit.jar width=640 height=450>
Sorry, you need a Java-enabled browser to see the simulation.
<param name=pause value=20>
<param name=startCircuit value="amdetect.txt">
<param name=startLabel   value="AM Detector">
<param name=useFrame     value="false">
</applet>

This is a "crystal
      radio",
an AM radio receiver with no amplifier.  The raw antenna feed is shown in the first scope slot
      in the lower left.  The
      inductor and the capacitor C1 are tuned to 3 kHz, the frequency shown in
      the lower right as "res.f".
      This picks up the carrier wave shown in the middle scope
      slot.  A diode is used to
      rectify this, and the C2 capacitor smoothes it out to generate
      the broadcast
      signal in the last scope slot (which is simply a 12 Hz sine wave in this
      example).  By experimenting
      with the value of C1's capacitance, you can pick up two other "stations"
      at 2.71 kHz and 2.43 kHz.

Next: Waveform Clipper

Previous: Voltage Quadrupler

Index

java@falstad.com

Generated Thu May 30 2013


text:
<?php

namespace Modules\User\Services;

class Gravatar
{
    /* do not load any image if none is associated with the email hash,instead return an HTTP 404 (File Not Found) response */
    const DEFAULT_404 = '404';

    /* (mystery-man) a simple, cartoon-style silhouetted outline of a person (does not vary by email hash) */
    const DEFAULT_MAN = 'mm';

    /* a geometric pattern based on an email hash */
    const DEFAULT_IDENTICON = 'identicon';

    /* a generated 'monster' with different colors, faces, etc */
    const DEFAULT_MONSTERID = 'monsterid';

    /* generated faces with differing features and backgrounds */
    const DEFAULT_WAVATAR = 'wavatar';

    /* awesome generated, 8-bit arcade-style pixelated faces */
    const DEFAULT_RETRO = 'retro';

    /* a transparent PNG image */
    const DEFAULT_BLANK = 'blank';

    /**
     * rating levels for avatars.
     */
    const RATING_SAFE = 'g';

    const RATING_RUDE = 'pg';

    const RATING_VIOLANCE = 'r';

    const RATING_ADULT = 'x';

    /**
     * Size in pixels.
     *
     * @var int
     */
    protected $size;

    /**
     * Default imageset to use [ 404 | mm | identicon | monsterid | wavatar ].
     *
     * @var string
     */
    protected $default;

    /**
     * Maximum rating (inclusive) [ g | pg | r | x ].
     *
     * @var string
     */
    protected $rating;

    public function __construct()
    {
        $this->size = 80;
        $this->default = self::DEFAULT_MAN;
        $this->rating = self::RATING_SAFE;
    }

    /**
     * @return int
     */
    public function getSize()
    {
        return $this->size;
    }

    /**
     * @param int $size
     *
     * @return $this
     */
    public function setSize($size)
    {
        $this->size = $size;

        return $this;
    }

    /**
     * @return string
     */
    public function getDefault()
    {
        return $this->default;
    }

    /**
     * @param string $default
     *
     * @return $this
     */
    public function setDefault($default)
    {
        $this->default = $default;

        return $this;
    }

    /**
     * @return string
     */
    public function getRating()
    {
        return $this->rating;
    }

    /**
     * @param string $rating
     *
     * @return $this
     */
    public function setRating($rating)
    {
        $this->rating = $rating;

        return $this;
    }

    /**
     * Get either a Gravatar URL or complete image tag for a specified email address.
     *
     * @param string $email The email address
     *
     * @return string containing either just a URL or a complete image tag
     * @source http://gravatar.com/site/implement/images/php/
     */
    public function getGravatar($email)
    {
        $hash = md5(strtolower(trim($email)));

        return sprintf('https://www.gravatar.com/avatar/%s?s=%d&d=%s&r=%s', $hash, $this->getSize(), $this->getDefault(), $this->getRating());
    }
}


text:
import unittest
import threading
import timeit
import tests.integration.init_utils as init_utils
from tests.integration.init_utils import MERCHANT_ID
from ingenico.connect.sdk.merchant.services.convert_amount_params import ConvertAmountParams
from ingenico.connect.sdk.factory import Factory

class ConnectionPoolingTest(unittest.TestCase):
    """Performs multiple threaded server requests with connection pooling in order to test thread-safety and concurrency
    """

    def setUp(self):
        self.flag = threading.Event()  # flag to synchronise a start moment for the threads
        self.result_list = []          # list to collect results from the threads
        self.lock = threading.RLock()  # mutex lock for the threads to provide concurrent access to the result list

    def test_connection_pool_max_is_count(self):
        """Test with one pool per request"""
        self.run_connection_pooling_test(10, 10)

    def test_connection_pool_max_is_half(self):
        """Test with one pool per two requests"""
        self.run_connection_pooling_test(10, 5)

    def test_connection_pool_max_is_one(self):
        """Test with one pool for all 10 requests"""
        self.run_connection_pooling_test(10, 1)

    def run_connection_pooling_test(self, request_count, max_connections):
        """Sends *request_count* requests with a maximum number of connection pools equal to *max_connections*"""
        communicator_configuration = init_utils.create_communicator_configuration(max_connections=max_connections)

        with Factory.create_communicator_from_configuration(communicator_configuration) as communicator:
            # Create a number of runner threads that will execute send_request
            runner_threads = [
                threading.Thread(target=self.send_request, args=(i, communicator)) for i in range(0, request_count)
                ]
            for thread in runner_threads:
                thread.start()
            self.flag.set()

            # wait until threads are done before closing the communicator
            for i in range(0, request_count - 1):
                runner_threads[i].join()
        print("(*start time*, *end time*) for {} connection pools".format(max_connections))
        for item in self.result_list:
            if isinstance(item, Exception):
                self.fail("an exception occurred in one of the threads:/n" + str(item))
            else:
                print(repr(item))
        # check server logs for information about concurrent use of connections

    def send_request(self, i, communicator):
        """runs a (concurrent) request"""
        request = ConvertAmountParams()
        request.source = "USD"
        request.target = "EUR"
        request.amount = (100 * (i + 1))

        try:
            client = Factory.create_client_from_communicator(communicator)
            self.flag.wait()
            start_time = timeit.default_timer()
            dummy = client.merchant(MERCHANT_ID).services().convert_amount(request).converted_amount
            end_time = timeit.default_timer()
            with self.lock:
                self.result_list.append((start_time, end_time))
        except Exception as e:
            with self.lock:
                self.result_list.append(e)
        # check server logs for additional data about the requests sent

if __name__ == '__main__':
    unittest.main()


text:
package com.intellij.openapi.vfs.newvfs;

import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VFileProperty;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.io.File;

public class VfsImplUtil {
  private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.vfs.newvfs.VfsImplUtil");

  @NonNls private static final String FILE_SEPARATORS = "/" + File.separator;

  private VfsImplUtil() { }

  @Nullable
  public static NewVirtualFile findFileByPath(@NotNull NewVirtualFileSystem vfs, @NotNull @NonNls String path) {
    Pair<NewVirtualFile, Iterable<String>> data = prepare(vfs, path);
    if (data == null) {
      return null;
    }

    NewVirtualFile file = data.first;
    for (String pathElement : data.second) {
      if (pathElement.isEmpty() || ".".equals(pathElement)) continue;
      if ("..".equals(pathElement)) {
        if (file.is(VFileProperty.SYMLINK)) {
          final NewVirtualFile canonicalFile = file.getCanonicalFile();
          file = canonicalFile != null ? canonicalFile.getParent() : null;
        }
        else {
          file = file.getParent();
        }
      }
      else {
        file = file.findChild(pathElement);
      }

      if (file == null) return null;
    }

    return file;
  }

  @Nullable
  public static NewVirtualFile findFileByPathIfCached(@NotNull NewVirtualFileSystem vfs, @NotNull @NonNls String path) {
    Pair<NewVirtualFile, Iterable<String>> data = prepare(vfs, path);
    if (data == null) {
      return null;
    }

    NewVirtualFile file = data.first;
    for (String pathElement : data.second) {
      if (pathElement.isEmpty() || ".".equals(pathElement)) continue;
      if ("..".equals(pathElement)) {
        if (file.is(VFileProperty.SYMLINK)) {
          final String canonicalPath = file.getCanonicalPath();
          final NewVirtualFile canonicalFile = canonicalPath != null ? findFileByPathIfCached(vfs, canonicalPath) : null;
          file = canonicalFile != null ? canonicalFile.getParent() : null;
        }
        else {
          file = file.getParent();
        }
      }
      else {
        file = file.findChildIfCached(pathElement);
      }

      if (file == null) return null;
    }

    return file;
  }

  @Nullable
  public static NewVirtualFile refreshAndFindFileByPath(@NotNull NewVirtualFileSystem vfs, @NotNull @NonNls String path) {
    Pair<NewVirtualFile, Iterable<String>> data = prepare(vfs, path);
    if (data == null) {
      return null;
    }

    NewVirtualFile file = data.first;
    for (String pathElement : data.second) {
      if (pathElement.isEmpty() || ".".equals(pathElement)) continue;
      if ("..".equals(pathElement)) {
        if (file.is(VFileProperty.SYMLINK)) {
          final String canonicalPath = file.getCanonicalPath();
          final NewVirtualFile canonicalFile = canonicalPath != null ? refreshAndFindFileByPath(vfs, canonicalPath) : null;
          file = canonicalFile != null ? canonicalFile.getParent() : null;
        }
        else {
          file = file.getParent();
        }
      }
      else {
        file = file.refreshAndFindChild(pathElement);
      }

      if (file == null) return null;
    }

    return file;
  }

  @Nullable
  private static Pair<NewVirtualFile, Iterable<String>> prepare(@NotNull NewVirtualFileSystem vfs, @NotNull String path) {
    String normalizedPath = normalize(vfs, path);
    if (StringUtil.isEmptyOrSpaces(normalizedPath) || normalizedPath == null) {
      return null;
    }

    String basePath = vfs.extractRootPath(normalizedPath);
    if (basePath.length() > normalizedPath.length()) {
      LOG.error(vfs + " failed to extract root path '" + basePath + "' from '" + normalizedPath + "' (original '" + path + "')");
      return null;
    }

    NewVirtualFile root = ManagingFS.getInstance().findRoot(basePath, vfs);
    if (root == null || !root.exists()) {
      return null;
    }

    Iterable<String> parts = StringUtil.tokenize(normalizedPath.substring(basePath.length()), FILE_SEPARATORS);
    return Pair.create(root, parts);
  }

  @Nullable
  public static String normalize(@NotNull NewVirtualFileSystem vfs, @NotNull String path) {
    return vfs.normalize(path);
  }
}