text:
namespace net {

class NET_EXPORT_PRIVATE NetworkChangeNotifierFuchsia
    : public NetworkChangeNotifier {
 public:
  // Blocks execution until an initial interface list is received from
  // |netstack_|.
  NetworkChangeNotifierFuchsia();
  ~NetworkChangeNotifierFuchsia() override;

 private:
  friend class NetworkChangeNotifierFuchsiaTest;
  FRIEND_TEST_ALL_PREFIXES(NetworkChangeNotifierFuchsiaTest, FoundWiFi);
  FRIEND_TEST_ALL_PREFIXES(NetworkChangeNotifierFuchsiaTest,
                           FoundWiFiNonDefault);

  // For testing purposes.
  explicit NetworkChangeNotifierFuchsia(
      fuchsia::netstack::NetstackPtr netstack);

  // Forwards the network interface list along with the result of
  // GetRouteTable() to OnRouteTableReceived().
  void ProcessInterfaceList(
      base::OnceClosure on_initialized_cb,
      fidl::VectorPtr<fuchsia::netstack::NetInterface> interfaces);

  // Computes network change notification state change from the list of
  // interfaces and routing table data, sending observer events if IP or
  // connection type changes are detected.
  // |on_initialized_cb| will be bound when the network state is populated for
  // the first time. In that case, change observer events will not be
  // published, and |on_initialized_cb| will be invoked once the function has
  // finished executing.
  void OnRouteTableReceived(
      base::OnceClosure on_initialized_cb,
      fidl::VectorPtr<fuchsia::netstack::NetInterface> interfaces,
      fidl::VectorPtr<fuchsia::netstack::RouteTableEntry> table);

  // NetworkChangeNotifier implementation.
  ConnectionType GetCurrentConnectionType() const override;

  // The ConnectionType of the default network interface, stored as an atomic
  // 32-bit int for safe concurrent access.
  base::subtle::Atomic32 cached_connection_type_ = CONNECTION_NONE;

  fuchsia::netstack::NetstackPtr netstack_;

  // Set of addresses from the previous query/update for the default interface.
  base::flat_set<IPAddress> cached_addresses_;

  THREAD_CHECKER(thread_checker_);

  DISALLOW_COPY_AND_ASSIGN(NetworkChangeNotifierFuchsia);
};

}  // namespace net

#endif  // NET_BASE_NETWORK_CHANGE_NOTIFIER_FUCHSIA_H_


text:
from typing import Union

import numpy as np

from emukit.bayesian_optimization.acquisitions import ExpectedImprovement
from emukit.bayesian_optimization.acquisitions.entropy_search import EntropySearch
from emukit.bayesian_optimization.interfaces import IEntropySearchModel
from emukit.core.interfaces import IModel
from emukit.core.parameter_space import ParameterSpace
from emukit.samplers import AffineInvariantEnsembleSampler

class ContinuousFidelityEntropySearch(EntropySearch):
    """
    Entropy search acquisition for continuous fidelity problems. Compared to standard entropy search,
    it computes the information gain only for the distribution of the minimum on the highest fidelity.
    """

    def __init__(
        self,
        model: Union[IModel, IEntropySearchModel],
        space: ParameterSpace,
        target_fidelity_index: int = None,
        num_samples: int = 100,
        num_representer_points: int = 50,
        burn_in_steps: int = 50,
    ):
        """
        :param model: Gaussian process model of the objective function that implements IEntropySearchModel
        :param space: Parameter space of the input domain
        :param target_fidelity_index: The index of the parameter which defines the fidelity
        :param num_samples: Integer determining how many samples to draw for each candidate input
        :param num_representer_points: Integer determining how many representer points to sample
        :param burn_in_steps: Integer that defines the number of burn-in steps when sampling the representer points
        """

        # Find fidelity parameter in parameter space
        if target_fidelity_index is None:
            self.target_fidelity_index = len(space.parameters) - 1
        else:
            self.target_fidelity_index = target_fidelity_index
        self.fidelity_parameter = space.parameters[self.target_fidelity_index]
        self.high_fidelity = self.fidelity_parameter.max

        # Sampler of representer points should sample x location at the highest fidelity
        parameters_without_info_source = space.parameters.copy()
        parameters_without_info_source.remove(self.fidelity_parameter)
        space_without_info_source = ParameterSpace(parameters_without_info_source)

        # Create sampler of representer points
        sampler = AffineInvariantEnsembleSampler(space_without_info_source)

        proposal_func = self._get_proposal_function(model, space)

        super().__init__(model, space, sampler, num_samples, num_representer_points, proposal_func, burn_in_steps)

    def _sample_representer_points(self):
        repr_points, repr_points_log = super()._sample_representer_points()

        # Add fidelity index to representer points
        idx = np.ones((repr_points.shape[0])) * self.high_fidelity
        repr_points = np.insert(repr_points, self.target_fidelity_index, idx, axis=1)
        return repr_points, repr_points_log

    def _get_proposal_function(self, model, space):

        # Define proposal function for multi-fidelity
        ei = ExpectedImprovement(model)

        def proposal_func(x):
            x_ = x[None, :]
            # Map to highest fidelity
            idx = np.ones((x_.shape[0], 1)) * self.high_fidelity

            x_ = np.insert(x_, self.target_fidelity_index, idx, axis=1)

            if space.check_points_in_domain(x_):
                val = np.log(np.clip(ei.evaluate(x_)[0], 0.0, np.PINF))
                if np.any(np.isnan(val)):
                    return np.array([np.NINF])
                else:
                    return val
            else:
                return np.array([np.NINF])

        return proposal_func

redpajama_set_name: RedPajamaGithub


text:
using System;
using System.Reflection;

namespace EntityFramework.Reflection
{
    /// <summary>
    /// An accessor class for <see cref="FieldInfo"/>.
    /// </summary>
    public class FieldAccessor : MemberAccessor
    {
        private readonly FieldInfo _fieldInfo;
        private readonly string _name;
        private readonly bool _hasGetter;
        private readonly bool _hasSetter;
        private readonly Type _memberType;
        private readonly Lazy<LateBoundGet> _lateBoundGet;
        private readonly Lazy<LateBoundSet> _lateBoundSet;

        /// <summary>
        /// Initializes a new instance of the <see cref="FieldAccessor"/> class.
        /// </summary>
        /// <param name="fieldInfo">The <see cref="FieldInfo"/> instance to use for this accessor.</param>
        public FieldAccessor(FieldInfo fieldInfo)
        {
            _fieldInfo = fieldInfo;
            _name = fieldInfo.Name;
            _memberType = fieldInfo.FieldType;

            _hasGetter = true;
            _lateBoundGet = new Lazy<LateBoundGet>(() => DelegateFactory.CreateGet(_fieldInfo));

            _hasSetter = !fieldInfo.IsInitOnly && !fieldInfo.IsLiteral;
            if (_hasSetter)
                _lateBoundSet = new Lazy<LateBoundSet>(() => DelegateFactory.CreateSet(_fieldInfo));
        }

        /// <summary>
        /// Gets the type of the member.
        /// </summary>
        /// <value>The type of the member.</value>
        public override Type MemberType
        {
            get { return _memberType; }
        }

        /// <summary>
        /// Gets the member info.
        /// </summary>
        /// <value>The member info.</value>
        public override MemberInfo MemberInfo
        {
            get { return _fieldInfo; }
        }

        /// <summary>
        /// Gets the name of the member.
        /// </summary>
        /// <value>The name of the member.</value>
        public override string Name
        {
            get { return _name; }
        }

        /// <summary>
        /// Gets a value indicating whether this member has getter.
        /// </summary>
        /// <value><c>true</c> if this member has getter; otherwise, <c>false</c>.</value>
        public override bool HasGetter
        {
            get { return _hasGetter; }
        }

        /// <summary>
        /// Gets a value indicating whether this member has setter.
        /// </summary>
        /// <value><c>true</c> if this member has setter; otherwise, <c>false</c>.</value>
        public override bool HasSetter
        {
            get { return _hasSetter; }
        }

        /// <summary>
        /// Returns the value of the member.
        /// </summary>
        /// <param name="instance">The object whose member value will be returned.</param>
        /// <returns>
        /// The member value for the instance parameter.
        /// </returns>
        public override object GetValue(object instance)
        {
            if (_lateBoundGet == null || !HasGetter)
                throw new InvalidOperationException(string.Format("Field '{0}' does not have a getter.", Name));

            var get = _lateBoundGet.Value;
            if (get == null)
                throw new InvalidOperationException(string.Format("Field '{0}' does not have a getter.", Name));

            return get(instance);
        }

        /// <summary>
        /// Sets the value of the member.
        /// </summary>
        /// <param name="instance">The object whose member value will be set.</param>
        /// <param name="value">The new value for this member.</param>
        public override void SetValue(object instance, object value)
        {
            if (_lateBoundSet == null || !HasSetter)
                throw new InvalidOperationException(string.Format("Field '{0}' does not have a setter.", Name));

            var set = _lateBoundSet.Value;
            if (set == null)
                throw new InvalidOperationException(string.Format("Field '{0}' does not have a setter.", Name));

            set(instance, value);
        }
    }
}


text:
'use strict';

var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];

Object.defineProperty(exports, '__esModule', {
  value: true
});

var _uuidV4 = require('uuid-v4');

var _uuidV42 = _interopRequireDefault(_uuidV4);

var _middlewareP4vCommitMalformedError = require('../../middleware/p4vCommitMalformedError');

var _middlewareP4vCommitMalformedError2 = _interopRequireDefault(_middlewareP4vCommitMalformedError);

var _helpersVcsFamilies = require('../helpers/vcsFamilies');

var _helpersVcsFamilies2 = _interopRequireDefault(_helpersVcsFamilies);

var p4vTranslator = {
  family: _helpersVcsFamilies2['default'].P4V,
  canTranslate: function canTranslate(request) {
    if (hasCorrectHeaders(request.headers)) {
      return true;
    }
    return false;
  },
  translatePush: function translatePush(commitEvent, instanceId, digestId, inboxId) {
    try {
      //p4v does not have a branch information
      var branch = "";
      //TODO: CHECK WHAT ARE GOING TO SHOW HERE
      var repository = {
        name: commitEvent.repository.substr(commitEvent.repository.lastIndexOf('/') + 1),
        url: commitEvent.repository
      };

      var commit = {
        sha: "r#:" + commitEvent.revision,
        commit: {
          author: {
            'name': commitEvent.author,
            'email': ""
          },
          committer: {
            name: commitEvent.author,
            //p4 does not have email information
            email: "",
            date: commitEvent.committer.date
          },
          message: commitEvent.message
        },
        html_url: commitEvent.html_url,
        repository: repository,
        branch: branch,
        originalMessage: commitEvent
      };
      return [{
        eventId: (0, _uuidV42['default'])(),
        eventType: p4vTranslator.family + 'CommitReceived',
        data: commit,
        metadata: {
          instanceId: instanceId,
          digestId: digestId,
          inboxId: inboxId
        }
      }];
    } catch (ex) {
      throw new _middlewareP4vCommitMalformedError2['default'](ex, commitEvent);
    }
  },
  getProperties: function getProperties(event) {
    var props = {
      repo: event.repository.name,
      repoHref: event.repository.url,
      branchHref: ''
    };
    return props;
  }
};

var hasCorrectHeaders = function hasCorrectHeaders(headers) {
  return headers.hasOwnProperty('cs-p4v-event') && headers['cs-p4v-event'] === 'Commit Event';
};

exports['default'] = p4vTranslator;
module.exports = exports['default'];


text:
package stats

// This file needs to be *after* all the other generated files in the stats package
// so that their generated functions exist when this one is run.
// `go generate` executes go:generate commands in lexical file order, top to bottom.

//go:generate go install github.com/apache/beam/sdks/v2/go/cmd/starcgen
//go:generate starcgen --package=stats --identifiers=countFn,keyedCountFn,meanFn,maxIntFn,minIntFn,sumIntFn,maxInt8Fn,minInt8Fn,sumInt8Fn,maxInt16Fn,minInt16Fn,sumInt16Fn,maxInt32Fn,minInt32Fn,sumInt32Fn,maxInt64Fn,minInt64Fn,sumInt64Fn,maxUintFn,minUintFn,sumUintFn,maxUint8Fn,minUint8Fn,sumUint8Fn,maxUint16Fn,minUint16Fn,sumUint16Fn,maxUint32Fn,minUint32Fn,sumUint32Fn,maxUint64Fn,minUint64Fn,sumUint64Fn,maxFloat32Fn,minFloat32Fn,sumFloat32Fn,maxFloat64Fn,minFloat64Fn,sumFloat64Fn
//go:generate gofmt -w stats.shims.go


text:
package water.api.schemas3;

import water.Iced;
import water.api.API;

public class CloudLockV3 extends RequestSchemaV3<Iced, CloudLockV3> {
  public CloudLockV3() {
  }

  @API(help="reason", direction=API.Direction.INPUT)
  public String reason;
}


text:
package com.vmware.vim25;
import lombok.Getter;
import lombok.Setter;

public class VsanUpgradeSystemNetworkPartitionIssue extends VsanUpgradeSystemPreflightCheckIssue {
    @Getter @Setter public VsanUpgradeSystemNetworkPartitionInfo[] partitions;
}


text:
var welcomeController = function ($scope, $location, $translate, settingsService) {

    $scope.settingsService = settingsService;

    if (settingsService.userHaveCardboard === "true") {
        $location.path("/panoramaScreen");
    }

    $scope.onGoAmazonTouched = function () {
        if ($translate.use() === "de") {
            intel.xdk.device.launchExternal("http://www.amazon.de/gp/product/B00NF8PO4G/ref=as_li_tl?ie=UTF8&camp=1638&creative=6742&creativeASIN=B00NF8PO4G&linkCode=as2&tag=doblne-21&linkId=AJGHZL57FNTE6DMQ");
        } else {
            intel.xdk.device.launchExternal("http://www.amazon.com/gp/product/B00LZGBU3Y/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00LZGBU3Y&linkCode=as2&tag=xcamobapp-20&linkId=W2DTSR572B7NXXYX");
        }
    };

    $scope.$watch("settingsService.userHaveCardboard", function (newValue, oldValue) {
        if (newValue != oldValue) {
            settingsService.saveUserHaveCardboard(newValue);
        }
    });
};

welcomeController.$inject = ["$scope", "$location", "$translate", "settingsService"];


text:
package org.estatio.fixture.party;

import org.estatio.fixture.security.tenancy.ApplicationTenancyForNl;

public class OrganisationForPoisonNl extends OrganisationAbstract {

    public static final String REF = "POISON_NL";
    public static final String AT_PATH = ApplicationTenancyForNl.PATH;

    @Override
    protected void execute(ExecutionContext executionContext) {
        createOrganisation(
                AT_PATH,
                REF,
                "Poison Perfumeries",
                "Herengracht 100",
                null,
                "1010 AA",
                "Amsterdam",
                null,
                "GBR",
                "+31202211333",
                "+312022211399",
                "info@poison.example.com", executionContext);
    }

}


text:
	.nav-font1{font-size: 16px; color: #6a6a6a; font-weight: bold;}
	.nav-font2{ font-size: 12px; color: #afafaf;}
	.nav-pimg{ width: 60px; height: 40px; }
	.ban-ind-scr{ top: 70px; left: 200px;}
	.nav .n-mod{float: left; width: 320px; height: 315px; margin-top: 295px; white-space: nowrap;}
	.nav .n-mod{ font-size: 14px;}
	.nav .ban-ind{ width: 320px; height: 120px; display: inline-block;}
	.nav .ban-ind-con{ width: 320px; height: 160px; margin: 0;font-family: "微软雅黑";}
	.nav .ban-ind-con dl dt{ width: 60px; text-align: center; color: #fff;}
	.nav .ban-ind-con dl dd{ width: 130px; overflow: hidden;}
	.nav .ban-ind-con dl dd a:hover{text-decoration:underline;}
	.nav .ban-ind-con dl dt,.nav .ban-ind-con dl dd{ float: left; height: 50px; line-height: 50px; vertical-align: middle;}
	.nav .ban-ind-more{ height: 35px; line-height: 35px; color: #fff; vertical-align: middle; text-align: center;}
    .mod-screen{height: 400px;}
	.mod-nav{ width: 100%; height: 58px; background: #fff; border-bottom: 1px solid #dedede; -webkit-box-shadow:0px 2px 2px #e5e5e5;-moz-box-shadow:0px 2px 2px #e5e5e5;}
	.mod-nav .h2{ display:block;height:58px;line-height:58px; position:relative;vertical-align: middle; color: #777; font-family: "微软雅黑"; font-size: 18px; font-weight: bold;}
	.mod-tab a{ float: left; height: 40px; line-height:40px;/* width: 120px; */width: 140px; padding: 5px 0 9px 0; text-align: center;border-left: 1px solid #e8e8e8;  color: #c8c8c8; display: inline-block;}
	.mod-tab a:hover{ color:#00cca3; }
	.mod-tab .hover{ color:#00cca3;}
	.mod-nav .h2 span{position:absolute;line-height:0;color: #c8c8c8;display:inline;left:15px;bottom:10px;font-size:10px;}
	.mod-tab a span{ display: block; height:20px; line-height: 20px; vertical-align: middle; }
	.mod-cur{ color: #00cca3;}
	.mod-hot,.mod-new,.mod-start{ display: inline-block; height: 60px;}
	.cour-list{  width: 1000px; margin: 0 auto; padding: 20px 0; }
	.mod-cour{ width: 318px; height: 295px; border: 1px solid #dddfe2; float: left; background: #fff;}
	.mod-cour a{ display: inline-block;}
	.mod-c-img{ width: 318px; height: 185px; display: inline-block;}
	.mod-c-detial{ top: 0; left: 0; width: 318px; height: 185px; z-index: 0;}
	.mod-c-con{ width: 288px; height: 90px; padding: 10px 15px;}
	.mod-c-con .crs-name{ width: 226px;height: 50px;overflow: hidden;}
	.mod-c-pinfo{ right: 10px; bottom: 10px; width: 74px; height: 114px; text-align: center;}
	.mod-c-pimg{ width: 60px; padding: 5px; display: inline-block; z-index: 100; outline: none;}
	.mod-c-pname,.mod-c-sname{ color: #333;margin-top: 6px;display: block;font-family: 微软雅黑;}
	.mod-lists{ width: 780px; min-height: 650px; overflow: hidden;}

    /*首页-高校支持模块*/
    .link {  height: 40px; padding: 40px 0;}
	.link li{ float:left;margin-left:10px}
    .link li.niso{padding: 8px 33px;}

	/*individual-center*/
	.link-icon{ width: 50px; height: 50px;top: 24px; right: 180px;}
	.link-icon li{ float: left; width: 20px; height: 20px; }

	/*stu-cour-list */
	.mod-contents li { height: 40px; line-height: 40px; padding:0 20px 0 0; vertical-align: middle; position: relative;}
	.mod-contents a{ color: #7e7e7e; font-size: 16px;  width: 160px; height: 30px; line-height: 30px; vertical-align: middle; font-family: '微软雅黑'; padding-left: 20px; display: inline-block;}
	.mod-contents a i{  position: absolute; right: 40px; top: 16px; width: 5px; height: 9px; background: url(../../images/icon/big_icon01.png) -100px -10px no-repeat; font-style: normal;display: inline-block;}
	.mod-contents .icons{ background: url(../../images/icon/big_icon01.png) -100px 0px no-repeat; }
	.mod-contents .mod-cont-current{ background: #00cca3; color: #fff;}
	.stu-cour{ background: url(../img/icon/bg-stuCour.jpg) repeat-y;}
	.sp-test-rd{/*  margin: 20px auto 20px; */ padding: 0 30px 30px; width: 600px; background: #fcfcfc; border:solid 2px #f1f1f1; -moz-border-radius: 15px; -webkit-border-radius: 15px;border-radius:15px;}
	.sp-test-rd .test-content{min-height:300px;padding: 20px 0;font-family: '微软雅黑';}
	.test-content p{/* height:40px; */line-height: 40px;font-size: 14px;font-weight: bold;color: #888;}
	.test-content span label{/* height:30px; */line-height: 30px;font-size: 14px;font-weight:normal;color: #666;margin-left:10px}
	.test-content .test-option{text-align: left;padding:0  20px 0 40px}
	.test-option label{margin-left:10px}

	/*stu-info*/

	.stuInfo{ padding: 20px 0;}
	.box-con .box-per-info{ width: 340px;}
	.stuInfo-l{}
	.stuInfo-r{ font-size: 14px; color: #999; font-family: '微软雅黑'; border-left: 1px solid #d2d2d2;}
	.stuInfo-r input{ margin-left:20px; height: 30px;border: 1px solid #d2d2d2; height: 20px; padding: 5px; width: 220px; outline: none;}
	.stuInfo-nickname{ height: 20px; padding: 5px; width: 220px; border: 1px solid #d2d2d2; outline: none;}
	.stuInfo-mind{ width: 220px; height: 170px; border: 1px solid #d2d2d2; outline: none; padding: 5px;}
	.individual-info{ position: relative; margin-top: 210px; height: 140px; /*z-index: 100*/}
	.individual-info dt{ float: left}
	.individual-info dd{ margin-left: 150px;}
	.indivi-name{ padding-top: 5px; height: 50px; line-height: 50px; vertical-align: middle; color: #fff; font-size: 20px; font-weight: bold; font-family: '瀵微软雅黑'}
	.indivi-info-detail span{ height: 50px; line-height: 50px; vertical-align: middle; margin-right: 15px; font-size: 14px; color: #646464; display: inline-block;}
	.indivi-mind{ color: #acacac; font-size: 14px;}

	/*teacher*/

     /*注册模块_s*/

   /* .reg-form-point{ font-size: 12px; font-family: '宋体'; padding-left: 20px; color: #a4a4a4; display: inline-block;}
	.reg-form{ width: 500px; padding-left: 50px; color: #7e7e7e;}
	.reg-form td{ height: 50px; vertical-align: middle;}
	.reg-form input{ height: 20px; line-height: 20px; vertical-align: middle; padding: 5px; width: 280px; border:1px solid #d2d2d2; outline: none; font-size: 14px;}
	.reg-prompt{ width: 350px;padding-left: 50px; border-left: 1px solid #d2d2d2;}
	.reg-prompt dt,.reg-prompt dd{  line-height: 30px; vertical-align: middle; }
	.reg-prompt dt{ font-size:14px; font-weight: bold; color: #7e7e7e;}
	.reg-prompt dd{ color: #c5c5c5;}
	.reg-name{ font-size: 14px; font-weight: bold; font-family: '微软雅黑';}
	.reg-item{font-size: 14px; line-height: 40px; vertical-align: middle; }
	.reg-radio{ position: relative; top: 5px; width: 20px; height: 20px; background: url(/static/images/icon/big_icon01.png) -40px -50px no-repeat; display: inline-block; cursor: pointer;}
	.reg-radio-check{ background: url(/static/images/icon/big_icon01.png) -40px -70px no-repeat;}
	.reg-item span{ color: #ffb260; margin:0 5px; }
	.reg-prompt .reg-login{ margin-top: 30px; height: 70px;}
	.btn-reg{ margin-top: 40px; width: 410px; height: 40px; background: #ff9c16; color: #fff; }
    .btn-reg:hover{ background: #fc6;}*/
    /*注册模块_e*/

    /*cms & hr 首页_s*/
	.mod-teaInd-con{ height: 400px; overflow: hidden;}
	.teaInd-con{ width: 300px; padding: 16px; font-size: 14px; color: #969696;}
	.teaInd-con h2{ height: 70px; line-height: 70px; vertical-align: middle; font-size: 20px; color: #646464; font-weight: bold;}
	.teaInd-con p{ line-height: 25px; vertical-align: middle;}
	.teaInd-icon01,.teaInd-icon02,.teaInd-icon03{ width: 42px; height: 22px; color: #fff; text-align: center; display: inline-block; margin-right: 10px;}
	.teaInd-icon01{ background: #00cca3;}
	.teaInd-icon02{ background: #ff9561;}
	.teaInd-icon03{ background: #ffb045;}
    /*cms & hr 首页_e*/

	/* 按钮 */
	.btn-more{ width: 160px; height: 50px; background: #00cca3; color: #fff;top: 24px; right: 0; text-align:center}
	.btn-more a{ width: 160px; height: 50px; line-height: 50px;  vertical-align: middle; display: inline-block;}
	.btn-more a:hover{ background: #0ea;}
	.btn-moreno a:hover{background: none;cursor: default;}
	.btn-moreno{cursor: default;background:  #c9c9c9;}
    .btn-stuInfo-save{ margin-left:30px; width: 840px; height: 40px; font-size: 14px; background: #00cca3; color: #fff; text-align: center; line-height: 40px; vertical-align: middle;}
    .btn-stuInfo-save:hover{ background: #0ea;}

    .btn-login{ width: 260px; height: 40px; background: #00cca3; color: #fff; color: #fff;}
    .btn-login:hover{background: #6ca}
    .btn-href-reg{ width: 115px; height: 30px; line-height:30px; vertical-align:middle; text-align:center; background: #ffc473;color: #fff; display:inline-block;cursor:pointer}
    .btn-stuInf-up{ width: 115px; height: 30px; background: #ffc473; text-align: center; line-height: 30px; vertical-align: middle; color: #fff;}
    .btn-indivi-up{ right:10px; bottom: 50px; width: 115px; height: 32px; line-height: 32px; vertical-align: middle; text-align: center;color: #fff; background: #ffc473;/*z-index: 1000*/ }
    .btn-indivi-test{background: #ffc473;padding: 6px 20px;line-height: 32px;vertical-align: middle;text-align: center;}
    .btn_answer{width: 160px;background: #00cca3;color: #fff;right: 0;display: inline-block;text-align: center;padding: 10px;line-height: 30px;margin:20px}
	/*浮动层*/
	.flay{left: 0px;top: 0px; width: 100%;height: 710px;background: #000;z-index: -1000; /*filter:alpha(opacity=20); IE滤镜,透明度20%*/ /*-moz-opacity:0.2; Firefox私有,透明度20%*/ /*opacity:0.2;其他,透明度20%*/}
    .flay-src{left: 0; top: 80px; width: 100%;}
    .flay-src-inner{width:1280px; height:350px; margin:0  auto;}
    .flay-login{ position: fixed; width: 100%; height: 100%; left: 0; top: 0; background: #000;filter:alpha(opacity=80); -moz-opacity:0.8; -khtml-opacity:0.8; opacity: 0.8; z-index: 10}

     /*弹出层*/
    .flay-login-inner{ position: fixed; left: 50%; top: 50%; width: 460px; height: 340px; margin: -171px 0 0 -231px; background: #fff; z-index: 100 }
    .win-login{ position: absolute; left: 50%; top: 50%; width: 460px; height: 340px; margin: -171px 0 0 -230px; background: #fff; z-index: 1000}
    .win-hd{ height: 60px; width: 460px; background: url(../img/icon/win-hd.jpg) no-repeat;}
    .win-form input{ margin-top: 20px; padding: 5px; width: 408px; height: 30px; font-size: 16px; border: 1px solid #d2d2d2; outline: none;}
    .win-oper-reg{ margin-left: 247px;}
    .btn-win-del{ width: 16px; height: 16px; background: url(/static/images/icon/win-del.png); border: none; outline: none; right: 20px; top: 20px; cursor: pointer;}
    .btn-win-del2{ width: 16px; height: 16px; background: url(/static/images/ico/win-del-black.png); border: none; outline: none; right: 20px; top: 20px; cursor: pointer;}
    .win-font{ color: #a4a4a4; display: inline-block; margin-right: 10px;}

    /*border*/

    .borl{ border-left: 1px solid #e8e8e8;}
    .borr{ border-right:1px solid #e8e8e8;}
    .bor-t-d{ border-top: 1px dotted #e8e8e8;/* font-size: 1.5em; */padding:5px}
    .borb{ border-left: 1px solid #e3e3e3;border-right: 1px solid #e3e3e3; }
    .bor-b{ border-bottom: 1px solid #ccc;}

    /*add by jp  验证框架*/

    .J-validate-defalut{color:#ccc!important;}

    .fileinput-button{position: relative;overflow: hidden;color:#fff;background-color: #5cb85c;border-color:#4cae4c;display: inline-block;font-weight: 400;	vertical-align:middle;cursor: pointer;white-space:nowrap;font-size:14px;line-height: 1.42857143;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
	.postCenterLogo.fileinput-button{background: transparent}

	.progress{background: #C4C4C4}
	.display_none{display:none;}

  /*能力匹配结果*/
 .ablityMatchResult{list-style: none;width:100%;margin-top:12px;}
 .ablityMatchResult li{margin-top: 10px;height:23px;}
 .ablityMatchResult li span.name{font-family: "微软雅黑","RE"; font-size: 15px; font-weight: bold; font-style: normal; color: #505050;width:112px;display:inline-block;float:left;text-align: left;}
 .ablityMatchResult li span.result{font-family: Arial; font-size: 15px; font-weight: normal; font-style: normal; text-decoration: none; color: #FF9933;display:inline-block;float:left;padding:0 10px}
 .ablityMatchResult li span.desrc{font-family:"微软雅黑";font-weight: bold; font-size: 15px; font-weight: normal; font-style: normal; text-decoration: none; color: #FF9933;display:inline-block;float:left;padding:0 10px}
 .ablityMatchResult li span.dian{font-family: Arial;color:#DADADA;display:inline-block;float: left;width:100px}

  /*提示页面css*/
   .yl-c-con{
		width: 400px;
		min-height: 200px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 280px;
		overflow: hidden;
	}
	.yl-c-tips{
		height:40px;
		line-height: 40px;
		font-size:20px;
		min-height: 100px;
		text-align: center;
	}
	.yl-c-position{
		font-weight: bold;
		font-size:20px;
	}
	.yl-c-btn{
		background: #6ca;
		width:120px;
		height: 40px;
		display: block;
		text-align: center;
		line-height: 40px;
		vertical-align: middle;
		margin: 0 auto;
	}

	/*
	 * 之前提取的部分css
	 */

	/***********************************************************************************************************/

    /*
     * time:2014-10-29;
     * email:177676656@qq.com;
     * author:zw;
     * version:20141029
     * des:arrangement optimization
     */
     /*mod*/
    	@import url("../modules/mod-teaCoursCenter.css"); /*@import必须是在<style>标签内,或者一个CSS文件中,并且是要在样式定义之前使用*/
     /*frame*/
     #hd{margin:0 auto;height:80px; width: 1200px;}

     #bd{ min-height: 500px;height:auto;}
     #ft{ width: 100%; height: 180px; background: #292b30;overflow:hidden; position:absolute;top:100%;margin-top:-180px;*margin-top:0; }

	 .wrap-iframe{ width: auto; margin-left:auto; margin-right:auto; overflow: hidden;}
	 .screen{height: 630px; width: 1000px; margin: 0 auto;}

	 /*login box*/
    .flay-win{}
    .flay-login{ position: fixed; width: 100%; height: 100%; left: 0; top: 0; background: #000;filter:alpha(opacity=80); -moz-opacity:0.8; -khtml-opacity:0.8; opacity: 0.8; z-index: 10}
 	.flay-login-inner{ position: fixed; left: 50%; top: 50%; width: 460px; height: 340px; margin: -171px 0 0 -231px; background: #fff; z-index: 100 }
 	.win-login{ position: absolute; left: 50%; top: 50%; width: 460px; height: 340px; margin: -171px 0 0 -230px; background: #fff; z-index: 1000}
    .win-hd{background:#00cca3;height:60px}
    .win-logo{width: 45px;height: 20px;background: url('/static/images/icon/login_icon.png') no-repeat -12px -6px;display: inline-block;position: relative;top: 20px;left: 10px;}
    .win-form{ padding: 20px 15px;}
    .win-form input{  margin-top: 6px;  padding: 5px; width: 418px; height: 30px;line-height:30px; font-size: 16px; border: 1px solid #d2d2d2; outline: none;}
    .win-oper{ margin-top: 10px;  width: 430px;height:30px}
     .win-oper-reg{position:absolute;right:0}
    .btn-win-del{ width: 16px; height: 16px; background: url('/static/images/icon/win-del.png') no-repeat /* -15px -93px */; border: none; outline: none; right: 20px; top: 20px; cursor: pointer;}
    .btn-win-del2{ width: 16px; height: 16px; background: url(/img/icon/win-del-black.png); border: none; outline: none; right: 20px; top: 20px; cursor: pointer;}
    .btn-u-login{ margin-top: 20px; width: 430px; height: 40px; background: #00cca3; color: #fff; line-height: 40px; vertical-align: middle; text-align: center; }
    .win-font{ color: #a4a4a4; display: inline-block; margin-right: 10px;line-height: 30px;vertical-align:middle}
    .btn-href-reg {width: 115px;height: 30px;line-height: 30px;vertical-align: middle;text-align: center;background: #ffc473;color: #fff;display: inline-block;cursor: pointer;}
    .ipt-radio{width: 20px;	height: 20px;background: url('/static/images/icon/login_icon.png') no-repeat -39px -30px;;position: relative;top: 5px;display: inline-block;cursor: pointer;}
    .ipt-radio-check{width: 20px;	height: 20px;background: url('/static/images/icon/login_icon.png') no-repeat -12px -30px;}

    /*header*/
	.logonav li{ float: left; }
	.hd-a{
			padding:0 50px;
		     height: 80px;
             line-height: 80px;
            font-size: 20px;
            font-style: italic;
            font-weight:bold;
            display: block;
            color: #6a6a6a;
            font-family:'微软雅黑';

            }
    .logonav li.login-out a{
    	padding:0 30px;
    }
	.hd-a:hover,.logout-hover{
			color:#fff;
		     height: 78px;
             line-height: 78px;
           background:#00cca3;border-top:2px solid #ff9c16;}
	.logonav li a p{ height: 20px; line-height: 20px; text-align: center; vertical-align: middle; }
/*     .logonav li a.nav-pimg{width: 60px; height: 40px; padding-top: 16px;}  */
    .logonav li a.nav-pimg img{top:13px}
	.logonav li a.btn-logout{padding:0}

	/*footer*/
	.ft-con{padding: 40px 0 60px 0; height: 80px;}
	.ft-nav{/*margin-left: 480px;*/ height: 40px;text-align: right;}
	.ft-nav a{ /* float: left; */ margin-left: 45px; line-height: 40px; vertical-align: middle; display: inline-block; color: #969696;}
	.ft-nav .sina-share a{margin-left: 0px;line-height:16px}
	.ft-copyright,.ft-icp{height: 40px; line-height: 40px;vertical-align: middle; color: #969696;text-align: right}
	.ft-logo-iyl{float:left}
	.ft-logo-iyl .support{text-indent: 0.5em;color:#969696;display: inline-block;}
	.ft-logo-iyl a{color: #fff}
	.sina-share{width:65px}

	 /*注销*/
    .btn-logout{background:url(/static/images/nav/logout01.png) no-repeat}
    .btn-logout-dep{background:url(/static/images/nav/logout.png) no-repeat}
    .logdiv-item{width:120px;overflow-x:hidden;z-index:100;position:absolute; left:0;}
    .logdiv-item .logitem{width:120px;height:35px;cursor:pointer;}
    .logdiv-item a.logitem{ padding:0; display:block;}

    /*logo*/
	.logo1{left: 0; top: 0; display:inline-block;}
	.logo2{ left: 0; top: 60px;}

	/*浮动层*/
	.flay{left: 0px;top: 0px; width: 100%;height: 710px;background: #000;z-index: -1000; /*filter:alpha(opacity=20); IE滤镜,透明度20%*/ /*-moz-opacity:0.2; Firefox私有,透明度20%*/ /*opacity:0.2;其他,透明度20%*/}
    .flay-src{left: 0; top: 80px; width: 100%;}
    .flay-src-inner{width:1280px; /* height:350px; */ margin:0  auto;}
    .stu-flay{ top: 0; left: -640px;  width: 640px;/*  height: 100%; */ border-top: 1px solid #00cca3; color: #8a8a8a;background: #fafafa; z-index: 1;
           -moz-box-shadow: 0px 0px 1px #ccc; box-shadow: 0px 0px 1px #ccc; filter:alpha(opacity=90);  -moz-opacity:0.9; /*Firefox私有,透明度20%*/ opacity:0.9; /*其他,透明度20%*/
    }

	/*图标logo*/
	.ban-ind-scr{ top: 70px; left: 50%;margin-left: -208px}

	/*border*/
    .borl{ border-left: 1px solid #e8e8e8;}
    .borr{ border-right:1px solid #e8e8e8;}
    .bor-t-d{ border-top: 1px dotted #e8e8e8;/* font-size: 1.5em; */padding:5px}
    .borb{ border-left: 1px solid #e3e3e3;border-right: 1px solid #e3e3e3; }
    .bor-b{ border-bottom: 1px solid #ccc;}

	/* 进度条 */
	.pro-bar{ width: 100%; height: 28px; border: 1px solid #e5e5e5; border-radius: 5px; background: #fff;}
	.pro-now{ width: 200px; height: 26px;margin: 1px; background: #ff9c16;border-radius: 5px;}

	/*小图标*/
	.icon-del{ margin-left:7px; position: relative; top:2px; width: 11px; height: 11px; background: url(/img/big_icon01.png) no-repeat 0 0;display: inline-block; cursor: pointer;}
	.icon-nor{ float: right;  position: relative; top: 10px; width: 11px; height: 11px; background: url(/img/big_icon01.png) no-repeat 0 -20px; display: inline-block; /*cursor: pointer;*/}/*0811zw*/
	.icon-check{float: right;  position: relative; top: 10px; width: 11px; height: 11px; background: url(/img/big_icon01.png) no-repeat 0 -40px;  display: inline-block; /*cursor: pointer;*/}/*0811zw*/
	.icon-zk{margin-top: 14px; width: 11px; height: 11px; background: url(/img/big_icon01.png) no-repeat 0 -60px;  display: inline-block; cursor: pointer; }
    .icon-ss{ background: url(/img/big_icon01.png) no-repeat -15px  -60px;}

	/*font*/
	.p-font{letter-spacing:2px; line-height: 200%;}
	.stu-fonth1{ font-size: 16px;  font-weight: bold; color: #666;}

	/* h1 - h6 */
    .h3{ font-size: 24px;  color: #646464; line-height: 25px; vertical-align: middle;}

    /*radius*/
    .rd {border:solid 2px #e1e1e1; -moz-border-radius: 50%; -webkit-border-radius: 50%;border-radius:50%;}
    .rd-indi{border:solid 2px #e1e1e1; -moz-border-radius: 60px; -webkit-border-radius: 60px;border-radius:60px;}

	/* 透明背景 */
    .alpha-bg{left: 0px;top: 0px;width: 318px;height: 185px;background: #28ccad;z-index: 100;
    	filter:alpha(opacity=80); -moz-opacity:0.8; -khtml-opacity:0.8; opacity: 0.8;}
    .alpha-con{ z-index: 1000;}
    .alpha-con h4{ padding: 0 15px; height: 60px; line-height: 60px; vertical-align: middle; font-size: 14px;}
    .alpha-con p{ padding: 0 15px; height: 90px; line-height: 30px; vertical-align: middle; overflow: hidden; font-size: 12px;}
    .alpha-bg80{filter:alpha(opacity=80); -moz-opacity:0.8; -khtml-opacity:0.8; opacity: 0.8;}
    .alpha-bg90{filter:alpha(opacity=90); -moz-opacity:0.9; -khtml-opacity:0.9; opacity: 0.9;}

    /* add by wfj 0724 20:14*/
    .flay-src-inner2{width:100%; height:350px; }
    .flay-src-inner3{width:100%; height:400px; }

    /* 颜色 */
	.bg-c1{ background: #0068cb;}
	.bg-c2{ background: #e0b46f;}
	.bg-c3{ background: #ab5bb2;}
	.bg-c4{ background: #416a7d;}
	.bg-c7{ background: #f5f8fb;} /* cour-info-bg */

	/*边线*/
	.bt-cour{border-top: 1px solid #00cca3;}
	.bt-pro {border-top: 1px solid #dedede;}
   /*课程列表*/
   .mod-cour-detail{padding:20px;padding-right:0px; border-bottom: 1px solid #d3d3d3; overflow: hidden;font-family: "SimSun"}
	.cour-line{height:1px;background:#d3d3d3;width:100%;margin:20px 0;}
	.cour-l-img{ float: left; width: 210px; height: 122px; border: 1px solid #ccc; cursor:pointer;}
	.cour-l-main{ padding-left: 230px;}
	.cour-l-title{line-height: 20px;height:20px; font-weight: normal; vertical-align: middle;width:60%;color:#6d6d6d}
	.cour-l-name{ /* padding: 10px 0; */ font-size: 20px;line-height:40px;height:40px; color:#505050; font-weight:bold;width:60%;font-family: "Microsoft YaHei"}
	.cour-l-detail{ line-height: 25px;width:100%;word-wrap:break-word;color:#505050;font-size:12px}

/*==================================整合新旧css调整=======================================*/
	.btn-mgrCrs a {
	width: 160px;
	height: 50px;
	line-height: 50px;
	vertical-align: middle;
	display: inline-block;
	}
	.btn-mgrCrs{
		width: 160px;
	height: 50px;
	background: #00cca3;
	color: #fff;
	top: 24px;
	right: 0;
	text-align: center;
	}
/*=============================提取课程模块公用css=====================================*/

	.wrap{ width: 1000px; margin:0 auto; }
	.wrap1200{width: 1200px;margin:0 auto; position: relative;}
	.nav-ylcourse{width: 100%;/* overflow: hidden; height: 50px;*/font-size: 20px;line-height: 42px;}
	.nav li a{display:inline-block;cursor: pointer;}
	.nav-ylcourse a{color: #727272;padding: 14px ;border-bottom: 4px solid transparent; transition: all .2s ease;width: 112px;	text-align: center;font-size: 18px;height: 18px;line-height: 18px;}
	.nav-ylcourse a:hover,.nav-ylcourse  a:active,.nav-ylcourse a:focus{color: #00cca3;border-bottom-color: #dbdbdb; background-color: transparent; outline: none}
	.nav-ylcourse .split{background: #ddd;vertical-align:middle;display: inline-block;	width: 1px;	height: 14px;	margin: 17px 0;}
	.nav-ylcourse .nav-active a{ border-bottom-color:#00cca3;}
	.nav-ylcourse li{float: left}
	.content-ylcourse{padding: 16px 0;overflow:hidden}
	.cur-notify-bar{height: 28px}
	.btn-create-notify{padding:6px 24px;background-color:#00cca3;color: #fff;right:20px; }
	.cur-notify-list{padding:24px 0;width: 1100px;margin:0 auto;}
	.notify-time{line-height: 36px;padding-right: 30px;text-indent:1em;}
	.notify-info{line-height: 24px;text-indent:2em;color: #7b7b7b}
	.mgrcur{border-top:1px solid #cecece}

/*===============================整理后遗漏样式恢复=====================================*/

    /*video_s*/
	.win_save{width: 100%;height: 40px;background: #00cca3;color: #fff;line-height: 40px;vertical-align: middle;text-align: center;}
    .winz_video-size{position:fixed ;left: 50%;top: 50%;width: 740px;height: 468px;margin: -234px 0 0 -370px;background: #fff;z-index: 1000;}
    .winz_video_inner{position: absolute;left: 50%;top: 50%;width: 740px;height: 468px;margin: -234px 0 0 -370px;background: #fff;z-index: 1000;}
    .win_vhigh{height:314px;overflow:hidden;}
    .winz_vhead {width:100%;/*background: #00cca3;*/text-align:center;font-size:20px;letter-spacing:4px; middle;height:50px;/* padding-top:10px; */color:#fff;}
	.videopreview video{width:300px;/*margin: 0px 20px;*/}
   /*video_e*/aa

   /*btn-icon*/
    .btn-tab-del{ width: 24px; height: 24px; background: url(/static/images/icon/mgrCourse-icon.png) 0 -110px; }
	.btn-tab-del:hover{width: 24px; height: 24px; background: url(/static/images/icon/mgrCourse-icon.png) 0 -80px;}
	.btn-tab-upd{ width: 24px; height: 24px; background: url(/static/images/icon/mgrCourse-icon.png)  -140px -80px;}
	.btn-tab-upd:hover{width: 24px; height: 24px; background: url(/static/images/icon/mgrCourse-icon.png)  -140px -110px;}

 /*================================移动设备====================================*/
@media screen and (max-width: 1099px){
	#hd{width: 100% !important;}
	.wrap1200{width: 100% !important;}
	.wrap{width: 100% !important;}
	.flay-src-inner{width: 100% !important;}
	.bp-hd .job-tip{margin-left:100px !important;}
	.banner-container{width:100% !important;}
	.course-container{width: 100% !important;}
    .course-type{width: 100% !important;}
    .cour-detail, .cour-info{width:100% !important;}
	}


text:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.alternative-bank</groupId>
    <artifactId>objets-affaire</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>objets-affaire</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.1-api</artifactId>
            <version>RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>RELEASE</version>
        </dependency>
    </dependencies>
</project>


text:
//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;

public class DG_Tweening_RotateModeWrap
{
	public static void Register(LuaState L)
	{
		L.BeginEnum(typeof(DG.Tweening.RotateMode));
		L.RegVar("Fast", get_Fast, null);
		L.RegVar("FastBeyond360", get_FastBeyond360, null);
		L.RegVar("WorldAxisAdd", get_WorldAxisAdd, null);
		L.RegVar("LocalAxisAdd", get_LocalAxisAdd, null);
		L.RegFunction("IntToEnum", IntToEnum);
		L.EndEnum();
		TypeTraits<DG.Tweening.RotateMode>.Check = CheckType;
		StackTraits<DG.Tweening.RotateMode>.Push = Push;
	}

	static void Push(IntPtr L, DG.Tweening.RotateMode arg)
	{
		ToLua.Push(L, arg);
	}

	static bool CheckType(IntPtr L, int pos)
	{
		return TypeChecker.CheckEnumType(typeof(DG.Tweening.RotateMode), L, pos);
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_Fast(IntPtr L)
	{
		ToLua.Push(L, DG.Tweening.RotateMode.Fast);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_FastBeyond360(IntPtr L)
	{
		ToLua.Push(L, DG.Tweening.RotateMode.FastBeyond360);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_WorldAxisAdd(IntPtr L)
	{
		ToLua.Push(L, DG.Tweening.RotateMode.WorldAxisAdd);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int get_LocalAxisAdd(IntPtr L)
	{
		ToLua.Push(L, DG.Tweening.RotateMode.LocalAxisAdd);
		return 1;
	}

	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static int IntToEnum(IntPtr L)
	{
		int arg0 = (int)LuaDLL.lua_tonumber(L, 1);
		DG.Tweening.RotateMode o = (DG.Tweening.RotateMode)arg0;
		ToLua.Push(L, o);
		return 1;
	}
}


text:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Xml;
using System.Text;
using Axiom.Core;
using Axiom.Graphics;
using Axiom.MathLib;
using System.Diagnostics;
using System.Windows.Forms;

namespace Multiverse.Tools.WorldEditor
{

	public class InteriorPath : IWorldObject
	{
        protected WorldEditor app;
        protected IWorldContainer parent;
		protected PointCollection points;
		string meshName;
        protected WorldTreeNode node = null;
		protected WorldTreeNode parentNode = null;
		protected NameValueObject nameValuePairs;
        protected bool inScene = false;
		protected bool inTree = false;
        protected bool highlight = false;
		protected List<SceneRod> rods = new List<SceneRod>();
		protected static int nameCounter = 0;
        public event InSceneChangedEventHandler Changed;

		public InteriorPath(IWorldContainer parentContainer, WorldEditor worldEditor, string meshName)
		{
			// initialize data members
            parent = parentContainer;
			app = worldEditor;
			this.meshName = meshName;
            points = new PointCollection(this, worldEditor, true, worldEditor.Config.DisplayRegionPoints, worldEditor.Config.RegionPointMeshName, worldEditor.Config.RegionPointMaterial);
			nameValuePairs = new NameValueObject();
			points.PointsChanged += new PointsChangedEventHandler(PointsChangedHandler);
            Changed += new InSceneChangedEventHandler(app.SceneChangedHandler);
		}

		public InteriorPath(WorldEditor worldEditor, IWorldContainer parentContainer, string meshName, InteriorPathContents path)
		{
            parent = parentContainer;
			app = worldEditor;
            points = new PointCollection(this, worldEditor, true, worldEditor.Config.DisplayRegionPoints, worldEditor.Config.RegionPointMeshName, worldEditor.Config.RegionPointMaterial);
			nameValuePairs = new NameValueObject();
			points.PointsChanged += new PointsChangedEventHandler(PointsChangedHandler);
            Changed += new InSceneChangedEventHandler(app.SceneChangedHandler);
			foreach (Vector3 position in path.Points)
			{
				int index;
				points.AddPoint(position, out index);
			}
		}

		public InteriorPath(XmlReader r, IWorldContainer parentContainer, WorldEditor worldEditor)
        {
            app = worldEditor;
            this.parent = parentContainer;
            FromXml(r);
		}

		public void ToXml(XmlWriter w)
		{
			w.WriteStartElement("InteriorPath");
			w.WriteAttributeString("mesh", meshName);
			if (points != null)
			{
				points.ToXml(w);
			}
			if (nameValuePairs != null)
			{
				nameValuePairs.ToXml(w);
			}
            w.WriteEndElement();
		}

        protected void FromXml(XmlReader r)
        {
			// first parse the attributes
            for (int i = 0; i < r.AttributeCount; i++)
            {
                r.MoveToAttribute(i);

                // set the field in this object based on the element we just read
                switch (r.Name)
                {
                    case "mesh":
                        this.meshName = r.Value;
                        break;
                }
            }
            r.MoveToElement(); //Moves the reader back to the element node.

            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.EndElement)
                {
					break;
                }
                if (r.NodeType == XmlNodeType.Element)
                {
                    switch (r.Name)
                    {
                        case "PointCollection":
                            if (!r.IsEmptyElement)
                            {
                                this.points = new PointCollection(this, app, true, app.Config.DisplayRegionPoints, this.app.Config.RegionPointMeshName, this.app.Config.RegionPointMaterial, r);
                                points.PointsChanged += new PointsChangedEventHandler(PointsChangedHandler);
                            }
                            break;
                        case "NameValuePairs":
                            this.nameValuePairs = new NameValueObject(r);
                            break;
                    }
                }
            }
            if (points == null)
            {
                this.points = new PointCollection(this, app, true, app.Config.DisplayRegionPoints, this.app.Config.RegionPointMeshName, this.app.Config.RegionPointMaterial);
                points.PointsChanged += new PointsChangedEventHandler(PointsChangedHandler);
            }
        }

        [BrowsableAttribute(false)]
		public Vector3 FocusLocation
		{
			get
			{
				return points.FocusLocation;
			}
		}

		[EditorAttribute(typeof(NameValueUITypeEditorMarker), typeof(System.Drawing.Design.UITypeEditor)), DescriptionAttribute("Name/Value attributes for this Region.")]
		public NameValueObject NameValue
		{
			get
			{
				return nameValuePairs;
			}
			set
			{
				nameValuePairs = value;
			}
		}

		[BrowsableAttribute(false)]
		public PointCollection Points
		{
			get
			{
				return points;
			}
		}

		public bool PointIn(Vector3 point)
        {
            if (this.Count < 3)
            {
                return false;
            }
			return true;
		}

		public void AddToTree(WorldTreeNode parentNode)
		{
			this.parentNode = parentNode;
			inTree = true;

            // create a node for the collection and add it to the parent
            node = new WorldTreeNode(this, NodeName);

			parentNode.Nodes.Add(node);

			points.AddToTree(node);
            // build the menu
            CommandMenuBuilder menuBuilder = new CommandMenuBuilder();
            menuBuilder.Add("Delete Path", new DeleteInteriorPathCommandFactory(app, parent, this), app.DefaultCommandClickHandler);
			node.ContextMenuStrip = menuBuilder.Menu;
        }

        public void RemoveFromTree()
        {
            parentNode.Nodes.Remove(node);
            parentNode = null;
            node = null;
        }

		public void AddToScene()
		{
			if (highlight)
				AddRodsToScene(false);
		}

		public Vector3 TransformLocation(Vector3 p)
		{
			SceneNode s = ((StaticObject)parent).DisplayObject.SceneNode;
			Matrix4 inverseTransform = s.FullTransform.Inverse();
			return inverseTransform * p;
		}

// 		List<Vector3> GetTransformedPoints()
// 		{
// 			List<Vector3> positions = points.VectorList;
// 			SceneNode s = ((StaticObject)parent).DisplayObject.SceneNode;
// 			Matrix4 inverseTransform = s.FullTransform.Inverse();
// 			for (int i=0; i<positions.Count; i++)
// 				positions[i] = inverseTransform * positions[i];
// 			return positions;
// 		}

		public void AddRodsToScene(bool incremental)
		{
			if (points.Count >= 2) {
				if (incremental)
				{
					for (int i=1; i<points.Count; i++)
						NewSceneCapsule(points.GetPoint(i-1).Position, points.GetPoint(i).Position);
				}
				else {
					Vector3 previousPosition = points.GetPoint(points.Count - 1).Position;
					foreach (MPPoint p in points) {
						NewSceneCapsule(previousPosition, p.Position);
						previousPosition = p.Position;
					}
				}
			}
		}

		protected void RefreshPoints()
		{
			if (inScene)
			{
				List<Vector3> tmpPts = new List<Vector3>(points.Count);
				foreach (MPPoint pt in points)
				{
					tmpPts.Add(pt.Position);
				}
			}
		}

        protected void BlastSceneNode(SceneNode node) {
            node.Creator.DestroySceneNode(node.Name);
        }

		public void RemoveFromScene()
		{
			RemoveRodsFromScene();

			// remove boundary point markers from scene
			points.RemoveFromScene();

			inScene = false;
		}

        protected void RemoveRodsFromScene()
		{
			if (rods.Count > 0)
			{
				foreach (SceneRod rod in rods)
				{
					BlastSceneNode(rod.end1);
					BlastSceneNode(rod.end2);
					BlastSceneNode(rod.cylinder);
				}
			}
			rods.Clear();
		}

		public void CheckAssets()
        {
        }

		protected void PointsChangedHandler(object sender, EventArgs args)
		{
			RefreshPoints();
		}

        protected string NodeName
        {
            get
            {
                return "Interior Path";
            }
        }

        [DescriptionAttribute("The type of this object.")]
        public string ObjectType
        {
            get
            {
                return "Interior Path";
            }
        }

        [BrowsableAttribute(false)]
        public bool Highlight
        {
            get
            {
				return this.highlight;
            }
            set
            {
                if (!value && this.highlight)
					RemoveRodsFromScene();
				if (value && !this.highlight)
					AddRodsToScene(false);
				this.highlight = value;
            }
        }

		[BrowsableAttribute(false)]
		public WorldTreeNode Node
		{
			get
			{
				return node;
			}
		}

        public void ToManifest(System.IO.StreamWriter w)
        {
        }

        public void Dispose()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        [BrowsableAttribute(false)]
		public int Count
		{
			get
			{
				return points.Count;
			}
		}

        [BrowsableAttribute(false)]
		public bool IsReadOnly
		{
			get
			{
				return false;
			}
		}

		public void DisplayRods(bool incremental)
		{
			RemoveRodsFromScene();
			if (highlight)
				AddRodsToScene(incremental);
		}

		private SceneNode UnscaledSceneObject(string meshName, Vector3 position)
		{
			nameCounter++;
            string name = "Rod-" + nameCounter;
			Entity entity = app.Scene.CreateEntity(name, meshName);
			SceneNode node = ((StaticObject)parent).DisplayObject.SceneNode.CreateChildSceneNode(name);
			node.AttachObject(entity);
			node.Position = position;
			node.ScaleFactor = Vector3.UnitScale;
			node.Orientation = Quaternion.Identity;
			return node;
		}

		private SceneNode NewSceneObject(string meshName, Vector3 position, float scale)
		{
			SceneNode node = UnscaledSceneObject(meshName, position);
			node.ScaleFactor = Vector3.UnitScale * scale;
			return node;
		}

		private SceneNode NewSceneObject(string meshName, Vector3 position,
										 Vector3 scale, Quaternion orientation)
		{
			SceneNode node = UnscaledSceneObject(meshName, position);
			node.ScaleFactor = scale;
			node.Orientation = orientation;
			return node;
		}

		private SceneNode NewSceneSphere(Vector3 center, float radius)
		{
			return NewSceneObject("unit_sphere.mesh", center, radius);
		}

		protected void NewSceneCapsule(Vector3 from, Vector3 to) {
			float radius = 5f / 100f;
			// Place the rods so they sit on the triangles
			from.y += radius;
			to.y += radius;
			SceneNode end1 = NewSceneSphere(from, radius);
			SceneNode end2 = NewSceneSphere(to, radius);
			Vector3 seg = (from - to);
			rods.Add(new SceneRod(end1,
								  end2,
								  NewSceneObject("unit_cylinder.mesh",
												 to + seg * 0.5f,
												 new Vector3(radius, seg.Length / 1000f, radius),
												 new Vector3(0f, 1f, 0f).GetRotationTo(seg))));
		}
	}

	public class SceneRod {
		public SceneNode end1;
		public SceneNode end2;
		public SceneNode cylinder;

		public SceneRod(SceneNode end1, SceneNode end2, SceneNode cylinder)
		{
			this.end1 = end1;
			this.end2 = end2;
			this.cylinder = cylinder;
		}

	}

	internal struct InteriorPathSetLookup
	{
		internal bool found;
		internal InteriorPathSet paths;
		internal InteriorPathSetLookup(bool found, InteriorPathSet paths)
		{
			this.found = found;
			this.paths = paths;
		}
	}

	// This class holds all the InteriorPathContents instances read
	// from a .modelpaths file associated with a mesh model.  It has
	// no connection with any UI objects.
	public class InteriorPathSet
	{
		protected string meshName;
		protected List<InteriorPathContents> pathSet = new List<InteriorPathContents>();

        internal static Dictionary<string, InteriorPathSetLookup> pathSetDictionary =
                new Dictionary<string, InteriorPathSetLookup>();

		// This constructor is used when saving a collection of
		// InteriorPaths from a UI model object.
		public InteriorPathSet(string meshName)
		{
			this.meshName = meshName;
			pathSetDictionary[meshName] = new InteriorPathSetLookup(true, this);
		}

		// This constructor reads the xml from the file, filling in
		// the instance, and adding it to the dictionary mapping mesh
		// name to InteriorPathSet instance.
		public InteriorPathSet(Stream filestream, WorldEditor app, string meshName)
		{
            this.meshName = meshName;
            XmlReader r = XmlReader.Create(filestream, app.XMLReaderSettings);
			FromXml(r, app);
			pathSetDictionary[meshName] = new InteriorPathSetLookup(true, this);
		}

		// Look up the path set associated with a particular mesh
		public static InteriorPathSet FindPathsForMesh(WorldEditor app, string meshName)
		{
			InteriorPathSetLookup result;
			if (pathSetDictionary.TryGetValue(meshName, out result))
				return result.paths;
			else {
                string meshNameWithoutExtension = Path.GetFileNameWithoutExtension(meshName);
				string modelPathFile = meshNameWithoutExtension + ".modelpaths";
                try {
                    Stream stream = ResourceManager.FindCommonResourceData(modelPathFile);
					InteriorPathSet pathset = new InteriorPathSet(stream, app, meshNameWithoutExtension);
                    return pathset;
				}
				catch (Exception e) {
					LogManager.Instance.Write("Could not read '{0}'; error was '{1}'",
											  modelPathFile, e.Message);
					pathSetDictionary[meshNameWithoutExtension] = new InteriorPathSetLookup(false, null);
					return null;
				}
			}
		}

		public List<InteriorPathContents> PathSet
		{
			get {
				return pathSet;
			}
		}

		protected void FromXml(XmlReader r, WorldEditor app)
        {
            do
            {
                r.Read();
                if (r.EOF)
                    throw new Exception("Ill-formed .modelpaths file ");
            } while ((r.NodeType != XmlNodeType.Element) || !(String.Equals(r.Name, "InteriorPathSet")));

			// first parse the attributes
            for (int i = 0; i < r.AttributeCount; i++)
            {
                r.MoveToAttribute(i);

                // set the field in this object based on the element we just read
                switch (r.Name)
                {
                    case "mesh":
                        this.meshName = r.Value;
                        break;
                }
            }
            r.MoveToElement(); //Moves the reader back to the element node.

            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.EndElement)
                {
					break;
                }
                if (r.NodeType == XmlNodeType.Element)
                {
                    switch (r.Name)
                    {
                        case "InteriorPath":
							pathSet.Add(new InteriorPathContents(r));
							break;
					}
				}
			}
		}

		public void ToXml(XmlWriter w, WorldEditor app)
		{
			w.WriteStartElement("InteriorPathSet");
            w.WriteAttributeString("Version", app.Config.XmlSaveFileVersion.ToString());
			w.WriteAttributeString("mesh", meshName);
			foreach(InteriorPathContents path in pathSet)
				path.ToXml(w);
            w.WriteEndElement();
		}

	}

	// This class represents the state of an InteriorPath as
	// read from a .modelpaths file.  It has no connection with
	// any UI objects.
	public class InteriorPathContents
	{
		protected List<Vector3> points = new List<Vector3>();
		protected NameValueObject nameValuePairs;

		public InteriorPathContents()
		{
		}

		public InteriorPathContents(InteriorPath path)
		{
			points = path.Points.VectorList;
		}

		public InteriorPathContents(XmlReader r)
		{
			FromXml(r);
		}

		public void ToXml(XmlWriter w)
		{
			w.WriteStartElement("InteriorPath");
			if (points != null)
			{
				w.WriteStartElement("PointCollection");
				foreach(Vector3 point in points)
				{
					w.WriteStartElement("Point");
					w.WriteAttributeString("x", point.x.ToString());
					w.WriteAttributeString("y", point.y.ToString());
					w.WriteAttributeString("z", point.z.ToString());
					w.WriteEndElement();
				}
				w.WriteEndElement();
			}
			if (nameValuePairs != null)
			{
				nameValuePairs.ToXml(w);
			}
            w.WriteEndElement();
		}

        protected void FromXml(XmlReader r)
        {
            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }
                if (r.NodeType == XmlNodeType.Element)
                {
                    switch (r.Name)
                    {
					case "PointCollection":
						while (r.Read())
						{
							// look for the start of an element
							if (r.NodeType == XmlNodeType.Element)
                            {
                                string elementName = r.Name;
                                switch (elementName)
                                {
                                case "Point":
                                    points.Add(XmlHelperClass.ParseVectorAttributes(r));
                                    break;
                                }
                            }
							else if (r.NodeType == XmlNodeType.EndElement)
                            {
                                break;
                            }
						}
						r.MoveToElement(); //Moves the reader back to the element node.
						break;

				    case "NameValuePairs":
                            this.nameValuePairs = new NameValueObject(r);
                            break;
					}
				}
			}
		}

		public List<Vector3> Points
		{
			get {
				return points;
			}
		}

	}

}


text:
package org.jetbrains.jps.builders.java;

import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.io.FileUtil;
import gnu.trove.THashSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.ModuleChunk;
import org.jetbrains.jps.ProjectPaths;
import org.jetbrains.jps.builders.BuildRootIndex;
import org.jetbrains.jps.builders.DirtyFilesHolder;
import org.jetbrains.jps.builders.java.dependencyView.Callbacks;
import org.jetbrains.jps.builders.java.dependencyView.Mappings;
import org.jetbrains.jps.incremental.*;
import org.jetbrains.jps.incremental.messages.BuildMessage;
import org.jetbrains.jps.incremental.messages.CompilerMessage;
import org.jetbrains.jps.incremental.messages.ProgressMessage;
import org.jetbrains.jps.model.JpsDummyElement;
import org.jetbrains.jps.model.java.JpsJavaSdkType;
import org.jetbrains.jps.model.library.JpsTypedLibrary;
import org.jetbrains.jps.model.library.sdk.JpsSdk;
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
import org.jetbrains.jps.model.module.JpsModule;

import java.io.File;
import java.io.IOException;
import java.util.*;

/**
 * @author nik
 */
public class JavaBuilderUtil {
  private static final Key<Set<File>> ALL_AFFECTED_FILES_KEY = Key.create("_all_affected_files_");
  private static final Key<Set<File>> ALL_COMPILED_FILES_KEY = Key.create("_all_compiled_files_");
  public static final Key<Callbacks.ConstantAffectionResolver> CONSTANT_SEARCH_SERVICE = Key.create("_constant_search_service_");
  private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.Builder");

  /**
   *
   * @param context
   * @param delta
   * @param dirtyFilesHolder
   * @param chunk
   * @param filesToCompile       files compiled in this round
   * @param successfullyCompiled
   * @return true if additional compilation pass is required, false otherwise
   * @throws Exception
   */
  public static boolean updateMappings(CompileContext context,
                                       final Mappings delta,
                                       DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder,
                                       ModuleChunk chunk,
                                       Collection<File> filesToCompile,
                                       Collection<File> successfullyCompiled) throws IOException {
    try {
      boolean additionalPassRequired = false;

      final Set<String> removedPaths = getRemovedPaths(chunk, dirtyFilesHolder);

      final Mappings globalMappings = context.getProjectDescriptor().dataManager.getMappings();

      final boolean errorsDetected = Utils.errorsDetected(context);
      if (!isForcedRecompilationAllJavaModules(context)) {
        if (context.shouldDifferentiate(chunk)) {
          context.processMessage(new ProgressMessage("Checking dependencies... [" + chunk.getName() + "]"));
          final Set<File> allCompiledFiles = getAllCompiledFilesContainer(context);
          final Set<File> allAffectedFiles = getAllAffectedFilesContainer(context);

          // mark as affected all files that were dirty before compilation
          allAffectedFiles.addAll(filesToCompile);
          // accumulate all successfully compiled in this round
          allCompiledFiles.addAll(successfullyCompiled);
          // unmark as affected all successfully compiled
          allAffectedFiles.removeAll(successfullyCompiled);

          final Set<File> affectedBeforeDif = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
          affectedBeforeDif.addAll(allAffectedFiles);

          final ModulesBasedFileFilter moduleBasedFilter = new ModulesBasedFileFilter(context, chunk);
          final boolean incremental = globalMappings.differentiateOnIncrementalMake(
            delta, removedPaths, filesToCompile, allCompiledFiles, allAffectedFiles, moduleBasedFilter,
            CONSTANT_SEARCH_SERVICE.get(context)
          );

          if (LOG.isDebugEnabled()) {
            LOG.debug("Differentiate Results:");
            LOG.debug("   Compiled Files:");
            for (final File c : allCompiledFiles) {
              LOG.debug("      " + c.getAbsolutePath());
            }
            LOG.debug("   Affected Files:");
            for (final File c : allAffectedFiles) {
              LOG.debug("      " + c.getAbsolutePath());
            }
            LOG.debug("End Of Differentiate Results.");
          }

          if (incremental) {
            final Set<File> newlyAffectedFiles = new HashSet<File>(allAffectedFiles);
            newlyAffectedFiles.removeAll(affectedBeforeDif);
            newlyAffectedFiles.removeAll(allCompiledFiles); // the diff operation may have affected the class already compiled in thic compilation round

            final String infoMessage = "Dependency analysis found " + newlyAffectedFiles.size() + " affected files";
            LOG.info(infoMessage);
            context.processMessage(new ProgressMessage(infoMessage));

            if (!newlyAffectedFiles.isEmpty()) {

              if (LOG.isDebugEnabled()) {
                for (File file : newlyAffectedFiles) {
                  LOG.debug("affected file: " + file.getPath());
                }
                final List<Pair<File, JpsModule>> wrongFiles =
                  checkAffectedFilesInCorrectModules(context, newlyAffectedFiles, moduleBasedFilter);
                if (!wrongFiles.isEmpty()) {
                  LOG.debug("Wrong affected files for module chunk " + chunk.getName() + ": ");
                  for (Pair<File, JpsModule> pair : wrongFiles) {
                    final String name = pair.second != null ? pair.second.getName() : "null";
                    LOG.debug("\t[" + name + "] " + pair.first.getPath());
                  }
                }
              }

              for (File file : newlyAffectedFiles) {
                FSOperations.markDirtyIfNotDeleted(context, file);
              }
              additionalPassRequired = isCompileJavaIncrementally(context) && chunkContainsAffectedFiles(context, chunk, newlyAffectedFiles);
            }
          }
          else {
            final String messageText = "Marking " + chunk.getName() + " and direct dependants for recompilation";
            LOG.info("Non-incremental mode: " + messageText);
            context.processMessage(new ProgressMessage(messageText));

            additionalPassRequired = isCompileJavaIncrementally(context);
            FSOperations.markDirtyRecursively(context, chunk);
          }
        }
        else {
          if (!errorsDetected) { // makes sense only if we are going to integrate changes
            globalMappings.differentiateOnNonIncrementalMake(delta, removedPaths, filesToCompile);
          }
        }
      }
      else {
        if (!errorsDetected) { // makes sense only if we are going to integrate changes
          globalMappings.differentiateOnRebuild(delta);
        }
      }

      if (errorsDetected) {
        // important: perform dependency analysis and mark found dependencies even if there were errors during the first phase of make.
        // Integration of changes should happen only if the corresponding phase of make succeeds
        // In case of errors this wil ensure that all dependencies marked after the first phase
        // will be compiled during the first phase of the next make
        return false;
      }

      context.processMessage(new ProgressMessage("Updating dependency information... [" + chunk.getName() + "]"));

      globalMappings.integrate(delta);

      return additionalPassRequired;
    }
    catch (RuntimeException e) {
      final Throwable cause = e.getCause();
      if (cause instanceof IOException) {
        throw ((IOException)cause);
      }
      throw e;
    }
    finally {
      context.processMessage(new ProgressMessage("")); // clean progress messages
    }
  }

  public static boolean isForcedRecompilationAllJavaModules(CompileContext context) {
    CompileScope scope = context.getScope();
    return scope.isBuildForcedForAllTargets(JavaModuleBuildTargetType.PRODUCTION) && scope.isBuildForcedForAllTargets(
      JavaModuleBuildTargetType.TEST);
  }

  public static boolean isCompileJavaIncrementally(CompileContext context) {
    CompileScope scope = context.getScope();
    return scope.isBuildIncrementally(JavaModuleBuildTargetType.PRODUCTION) || scope.isBuildIncrementally(JavaModuleBuildTargetType.TEST);
  }

  private static List<Pair<File, JpsModule>> checkAffectedFilesInCorrectModules(CompileContext context,
                                                                             Collection<File> affected,
                                                                             ModulesBasedFileFilter moduleBasedFilter) {
    if (affected.isEmpty()) {
      return Collections.emptyList();
    }
    final List<Pair<File, JpsModule>> result = new ArrayList<Pair<File, JpsModule>>();
    for (File file : affected) {
      if (!moduleBasedFilter.accept(file)) {
        final JavaSourceRootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().findJavaRootDescriptor(context,
                                                                                file);
        result.add(Pair.create(file, moduleAndRoot != null ? moduleAndRoot.target.getModule() : null));
      }
    }
    return result;
  }

  private static boolean chunkContainsAffectedFiles(CompileContext context, ModuleChunk chunk, final Set<File> affected)
    throws IOException {
    final Set<JpsModule> chunkModules = chunk.getModules();
    if (!chunkModules.isEmpty()) {
      for (File file : affected) {
        final JavaSourceRootDescriptor moduleAndRoot = context.getProjectDescriptor().getBuildRootIndex().findJavaRootDescriptor(context,
                                                                                file);
        if (moduleAndRoot != null && chunkModules.contains(moduleAndRoot.target.getModule())) {
          return true;
        }
      }
    }
    return false;
  }

  private static Set<File> getAllAffectedFilesContainer(CompileContext context) {
    Set<File> allAffectedFiles = ALL_AFFECTED_FILES_KEY.get(context);
    if (allAffectedFiles == null) {
      allAffectedFiles = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
      ALL_AFFECTED_FILES_KEY.set(context, allAffectedFiles);
    }
    return allAffectedFiles;
  }

  private static Set<File> getAllCompiledFilesContainer(CompileContext context) {
    Set<File> allCompiledFiles = ALL_COMPILED_FILES_KEY.get(context);
    if (allCompiledFiles == null) {
      allCompiledFiles = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
      ALL_COMPILED_FILES_KEY.set(context, allCompiledFiles);
    }
    return allCompiledFiles;
  }

  private static Set<String> getRemovedPaths(ModuleChunk chunk, DirtyFilesHolder<JavaSourceRootDescriptor, ModuleBuildTarget> dirtyFilesHolder) {
    if (!dirtyFilesHolder.hasRemovedFiles()) {
      return Collections.emptySet();
    }
    final Set<String> removed = new THashSet<String>(FileUtil.PATH_HASHING_STRATEGY);
    for (ModuleBuildTarget target : chunk.getTargets()) {
      removed.addAll(dirtyFilesHolder.getRemovedFiles(target));
    }
    return removed;
  }

  public static void cleanupChunkResources(CompileContext context) {
    ALL_AFFECTED_FILES_KEY.set(context, null);
    ALL_COMPILED_FILES_KEY.set(context, null);
  }

  @NotNull
  public static JpsSdk<JpsDummyElement> ensureModuleHasJdk(JpsModule module, CompileContext context, final String compilerName) throws
                                                                                ProjectBuildException {
    JpsSdkReference<JpsDummyElement> reference = module.getSdkReference(JpsJavaSdkType.INSTANCE);
    if (reference == null) {
      context.processMessage(new CompilerMessage(compilerName, BuildMessage.Kind.ERROR, "JDK isn't specified for module '" + module.getName() + "'"));
      throw new StopBuildException();
    }

    JpsTypedLibrary<JpsSdk<JpsDummyElement>> sdkLibrary = reference.resolve();
    if (sdkLibrary == null) {
      context.processMessage(new CompilerMessage(compilerName, BuildMessage.Kind.ERROR,
                                                 "Cannot find JDK '" + reference.getSdkName() + "' for module '" + module.getName() + "'"));
      throw new StopBuildException();
    }
    return sdkLibrary.getProperties();
  }

  private static class ModulesBasedFileFilter implements Mappings.DependentFilesFilter {
    private final CompileContext myContext;
    private final Set<JpsModule> myChunkModules;
    private final Set<ModuleBuildTarget> myChunkTargets;
    private final Map<JpsModule, Set<JpsModule>> myCache = new HashMap<JpsModule, Set<JpsModule>>();
    private final BuildRootIndex myBuildRootIndex;

    private ModulesBasedFileFilter(CompileContext context, ModuleChunk chunk) {
      myContext = context;
      myChunkModules = chunk.getModules();
      myChunkTargets = chunk.getTargets();
      myBuildRootIndex = context.getProjectDescriptor().getBuildRootIndex();
    }

    @Override
    public boolean accept(File file) {
      final JavaSourceRootDescriptor rd = myBuildRootIndex.findJavaRootDescriptor(myContext, file);
      if (rd == null) {
        return true;
      }
      final JpsModule moduleOfFile = rd.target.getModule();
      if (myChunkModules.contains(moduleOfFile)) {
        return true;
      }
      Set<JpsModule> moduleOfFileWithDependencies = myCache.get(moduleOfFile);
      if (moduleOfFileWithDependencies == null) {
        moduleOfFileWithDependencies = ProjectPaths.getModulesWithDependentsRecursively(moduleOfFile, true);
        myCache.put(moduleOfFile, moduleOfFileWithDependencies);
      }
      return Utils.intersects(moduleOfFileWithDependencies, myChunkModules);
    }

    @Override
    public boolean belongsToCurrentTargetChunk(File file) {
      final JavaSourceRootDescriptor rd = myBuildRootIndex.findJavaRootDescriptor(myContext, file);
      return rd != null && myChunkTargets.contains(rd.target);
    }
  }
}


text:
package com.apkfuns.jsbridgesample.module;

import android.widget.Toast;

import com.apkfuns.jsbridge.module.JSBridgeMethod;
import com.apkfuns.jsbridge.module.JsModule;

/**
 * Created by pengwei on 2017/6/13.
 */

public class MultiLayerModule3 extends JsModule {
    @Override
    public String getModuleName() {
        return "a.b.c.d";
    }

    @JSBridgeMethod
    public void toast(String msg) {
        Toast.makeText(getContext(), msg, Toast.LENGTH_SHORT).show();
    }
}


text:
package com.intellij.psi;

import com.intellij.ide.highlighter.HtmlFileType;
import com.intellij.ide.highlighter.XHtmlFileType;
import com.intellij.ide.highlighter.XmlFileType;
import com.intellij.lang.ASTFactory;
import com.intellij.lang.Language;
import com.intellij.lang.xml.XMLLanguage;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.FileType;
import com.intellij.openapi.fileTypes.StdFileTypes;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.xml.*;
import com.intellij.util.IncorrectOperationException;
import com.intellij.xml.util.XmlTagUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;

/**
 * @author Dmitry Avdeev
 */
public class XmlElementFactoryImpl extends XmlElementFactory {

  private final Project myProject;

  public XmlElementFactoryImpl(Project project) {
    myProject = project;
  }

  @Override
  @NotNull
  public XmlTag createTagFromText(@NotNull @NonNls CharSequence text, @NotNull Language language) throws IncorrectOperationException {
    assert language instanceof XMLLanguage:"Tag can be created only for xml language";
    FileType type = language.getAssociatedFileType();
    if (type == null) type = StdFileTypes.XML;
    final XmlDocument document = createXmlDocument(text, "dummy."+ type.getDefaultExtension(), type);
    final XmlTag tag = document.getRootTag();
    if (tag == null) throw new IncorrectOperationException("Incorrect tag text");
    return tag;
  }

  @Override
  @NotNull
  public XmlTag createTagFromText(@NotNull CharSequence text) throws IncorrectOperationException {
    return createTagFromText(text, StdFileTypes.XML.getLanguage());
  }

  @Override
  @NotNull
  public XmlAttribute createXmlAttribute(@NotNull String name, @NotNull String value) throws IncorrectOperationException {
    final char quoteChar;
    if (!value.contains("\"")) {
      quoteChar = '"';
    } else if (!value.contains("'")) {
      quoteChar = '\'';
    } else {
      quoteChar = '"';
      value = StringUtil.replace(value, "\"", """);
    }
    final XmlDocument document = createXmlDocument("<tag " + name + "=" + quoteChar + value + quoteChar + "/>", "dummy.xml",
                                                   XmlFileType.INSTANCE);
    XmlTag tag = document.getRootTag();
    assert tag != null;
    XmlAttribute[] attributes = tag.getAttributes();
    LOG.assertTrue(attributes.length == 1, document.getText());
    return attributes[0];
  }

  @Override
  @NotNull
  public XmlText createDisplayText(@NotNull String s) throws IncorrectOperationException {
    final XmlTag tagFromText = createTagFromText("<a>" + XmlTagUtil.getCDATAQuote(s) + "</a>");
    final XmlText[] textElements = tagFromText.getValue().getTextElements();
    if (textElements.length == 0) return (XmlText)ASTFactory.composite(XmlElementType.XML_TEXT);
    return textElements[0];
  }

  @Override
  @NotNull
  public XmlTag createXHTMLTagFromText(@NotNull String text) throws IncorrectOperationException {
    final XmlDocument document = createXmlDocument(text, "dummy.xhtml", XHtmlFileType.INSTANCE);
    final XmlTag tag = document.getRootTag();
    assert tag != null;
    return tag;
  }

  @Override
  @NotNull
  public XmlTag createHTMLTagFromText(@NotNull String text) throws IncorrectOperationException {
    final XmlDocument document = createXmlDocument(text, "dummy.html", HtmlFileType.INSTANCE);
    final XmlTag tag = document.getRootTag();
    assert tag != null;
    return tag;
  }

  private XmlDocument createXmlDocument(@NonNls final CharSequence text, @NonNls final String fileName, FileType fileType) {
    final XmlDocument document = ((XmlFile)PsiFileFactory.getInstance(myProject).createFileFromText(fileName, fileType, text)).getDocument();
    assert document != null;
    return document;
  }

  private static final Logger LOG = Logger.getInstance(XmlElementFactoryImpl.class);
}


text:
#import <Foundation/Foundation.h>
#ifdef __IPHONE_4_0
#import <EventKit/EventKit.h>
#endif

BOOL is_rho_calendar_supported();

#define CALENDAR_AUTHORIZATION_STATUS_NOT_DETERMINED "Not Determined"
#define CALENDAR_AUTHORIZATION_STATUS_RESTRICTED "Restricted"
#define CALENDAR_AUTHORIZATION_STATUS_DENIED "Denied"
#define CALENDAR_AUTHORIZATION_STATUS_AUTHORIZED "Authorized"


text:
package org.apache.shardingsphere.elasticjob.lite.internal.instance;

import org.apache.shardingsphere.elasticjob.lite.internal.listener.AbstractJobListener;
import org.apache.shardingsphere.elasticjob.lite.internal.listener.AbstractListenerManager;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.JobRegistry;
import org.apache.shardingsphere.elasticjob.lite.internal.schedule.SchedulerFacade;
import org.apache.shardingsphere.elasticjob.reg.base.CoordinatorRegistryCenter;

/**
 * Job instance shutdown listener manager.
 */
public final class ShutdownListenerManager extends AbstractListenerManager {

    private final String jobName;

    private final InstanceNode instanceNode;

    private final InstanceService instanceService;

    private final SchedulerFacade schedulerFacade;

    public ShutdownListenerManager(final CoordinatorRegistryCenter regCenter, final String jobName) {
        super(regCenter, jobName);
        this.jobName = jobName;
        instanceNode = new InstanceNode(jobName);
        instanceService = new InstanceService(regCenter, jobName);
        schedulerFacade = new SchedulerFacade(regCenter, jobName);
    }

    @Override
    public void start() {
        addDataListener(new InstanceShutdownStatusJobListener());
    }

    class InstanceShutdownStatusJobListener extends AbstractJobListener {

        @Override
        protected void dataChanged(final String path, final Type eventType, final String data) {
            if (!JobRegistry.getInstance().isShutdown(jobName) && !JobRegistry.getInstance().getJobScheduleController(jobName).isPaused()
                    && isRemoveInstance(path, eventType) && !isReconnectedRegistryCenter()) {
                schedulerFacade.shutdownInstance();
            }
        }

        private boolean isRemoveInstance(final String path, final Type eventType) {
            return instanceNode.isLocalInstancePath(path) && Type.NODE_DELETED == eventType;
        }

        private boolean isReconnectedRegistryCenter() {
            return instanceService.isLocalJobInstanceExisted();
        }
    }
}


text:
'use strict';

/**
 * @ngdoc directive
 * @name konga.directive:priceInput
 * @description
 * # priceInput
 */
angular.module('konga')
  .directive('priceInput', ['$filter', '$timeout', function ($filter, $timeout) {
    return {
      templateUrl: 'views/price-input.html',
      restrict: 'E',
      link: function postLink(scope, element, attrs) {
        scope.currency = '';
        scope.showCurrency = true;

        scope.inner = {
          text: ''
        };

        function init(first) {
          var configuration = scope.property.fieldType.configuration[0];
          var currency = $filter('filter')(configuration, {key: 'CURRENCY'}, true)[0];

          var configurationSource = $filter('filter')(configuration, { key: 'CURRENCY_SOURCE' }, true)[0];

          if(!configurationSource) {
            scope.currency = currency.value;
          }
          else {
            switch(configurationSource.value) {
            case 'translate':
              scope.currency = $filter('translate')(currency.value);
              break;
            case 'entity':
              var unitSplit = currency.value.split('.');
              var source = scope.entity;
              for(var i = 0; i < unitSplit.length && source; i++) {
                source = source[unitSplit[i]];
              }
              scope.currency = source;

              if(first) {
                // Setup watcher
                scope.$watch('entity.' + currency.value, function() {
                  init();
                });
              }
              break;
            case 'none':
              scope.showCurrency = false;
              scope.currency = 'N/A';
              break;
            default:
              scope.currency = currency.value;
            }
          }
        }

        init(true);

        scope.$watch('value.text', function(newValue, oldValue) {
          scope.formatInput(true);
        });

        scope.formatInput = function(inverse, validate) {

          if(validate) {
            // Invalidate form to wait for formatting
            scope.$emit('form-invalid', {
              field: scope.property.name,
              owner: scope.property.owner,
              validation: 'price-formatting',
              valid: false
            });
          }

          var value = null;
          if(inverse) {
            value = $filter('priceRenderer')(scope.value.text, scope.property);
            scope.inner.text = value;

          }
          else {
            if(scope.inner.timeout) {
              $timeout.cancel(scope.inner.timeout);
            }
            scope.inner.timeout = $timeout(function() {
              var input = scope.inner.text ? scope.inner.text
                            .replace(',', '.')
                            .replace(/\s/g, '') : scope.inner.text;

              scope.value.text = input ? parseFloat(input) : null;
              scope.formatInput(true);

              scope.$emit('form-invalid', {
                field: scope.property.name,
                owner: scope.property.owner,
                validation: 'price-formatting',
                valid: true
              });
            }, 1500);
          }
        };
      }
    };
  }]);


text:
ADHO MUKHA SVANASANA | धनुरासन | DOWNWARD FACING DOG

Instructions

To begin this stance or pose, begin on all fours. Keep your knees beneath the hips and your hands a little before your shoulders. Exhale and lift your knees away from the floor far. At first, you can keep your knees somewhat bowed and your heels lifted up from the floor. At that point, stretch your tailbone far from your pelvis and press it delicately to the pubis. Now raise your sitting bones against this resistance toward the roof and draw your legs into the crotch. During exhalation let the highest point of your thighs be pushed back and your heel extended against the ground. Brace your arms and press your index finger effectively into the floor. Your head ought to be between your arms. Abstain from giving it a chance to drop.

Difficulty Level: EASY

Category: FORWARD BENDS

DHANURASANA | धनुरासन | BOW POSE

Instructions

In this asana, the practitioner lies flat on the stomach and bends the knees. Then the arms reach back to grab the ankles. The back arches and the thighs lift off of the floor as the chest pushes forward, bending the body to resemble a
                    bow.

Difficulty Level: MODERATE

Category: BACK BENDS

SIRSHASANA | शीर्षासन | HEADSTAND

Instructions

Come to your hands and knees with the wrists underneath the shoulders and the knees underneath the hips. Bring your forearms to the floor, keeping your elbows directly under your shoulders. Clasp your hands together on the floor, interlacing your fingers. Place the crown of your head on the floor. Lift your hips and straighten your legs as if your were coming into downward facing dog. Carefully walk your feet in towards your head until your hips as close to over your shoulders as possible. Bend your knees. Draw one knee into your chest, lifting that foot from the floor. Then draw the other knee in. Both feet are now up. Lift one leg straight up toward the ceiling. When that leg is in line with your torso, lift the other foot off the floor. Balance here. One you get the legs up, reach through the balls of your feet. Press down strongly into your forearms.

Difficulty Level: ADVANCED

Category: INVERSIONS

TADASANA | ताडासन | MOUNTAIN

Instructions

Stand with the feet parallel and hip width apart. Lengthen the body from earth to sky and increase the space and openness throughout your being. Lift the rib cage evenly, widen the shoulders, and tuck the pelvis. Close your eyes for a moment, and relax deeply into your center.

Difficulty Level: MODERATE

Category: BACK BENDS


text:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace GongSolutions.Wpf.DragDrop
{
  /// <summary>
  /// Interface implemented by Drag Handlers.
  /// </summary>
  public interface IDragSource
  {
    /// <summary>
    /// Queries whether a drag can be started.
    /// </summary>
    ///
    /// <param name="dragInfo">
    /// Information about the drag.
    /// </param>
    ///
    /// <remarks>
    /// To allow a drag to be started, the <see cref="DragInfo.Effects"/> property on <paramref name="dragInfo"/>
    /// should be set to a value other than <see cref="DragDropEffects.None"/>.
    /// </remarks>
    void StartDrag(IDragInfo dragInfo);

    /// <summary>
    /// With this action it's possible to check if the drga&drop operation is allowed to start
    /// e.g. check for a UIElement inside a list view item, that should not start a drag&drop operation
    /// </summary>
    bool CanStartDrag(IDragInfo dragInfo);

    /// <summary>
    /// Notifies the drag handler that a drop has occurred.
    /// </summary>
    ///
    /// <param name="dropInfo">
    ///   Information about the drop.
    /// </param>
    void Dropped(IDropInfo dropInfo);

    /// <summary>
    /// Notifies the drag handler that a drag has been aborted.
    /// </summary>
    void DragCancelled();
  }
}


text:
{% extends 'layout.html' %}

  {% block pageTitle %}
  	State Pension Activation
  {% endblock %}

  {% block content %}

    {% include 'includes/parts/phase-banner.html' %}

{{title}}

          <form action="have-you-worked-abroad" method="post">
            <fieldset class="inline">

                  <input id="worked-outside-yes" type="radio" name="have-you-worked-abroad" value="Yes">
                  Yes

                  <input id="worked-outside-no" type="radio" name="have-you-worked-abroad" value="No">
                  No

            </fieldset>

            <input type="submit" class="button" value="Continue">
          </form>

          {% include 'includes/parts/help.html' %}

  {% endblock %}


text:
module Container
  class Container
    def has_api?
      raise EnginesException.new(error_hash('No connection to Engines OS System', nil)) if container_api.nil?
      true
    end

    def logs_container(count = 100)
      container_api.logs_container(container_id, count)
    end

    def ps_container
      raise EnginesException.new(warning_hash("Can\'t ps stopped container", '')) unless is_running?
      container_api.ps_container(container_id)
    end

  end
end


text:
package com.statful.verticles;

import io.vertx.core.AbstractVerticle;

/**
 * Dummy verticle to help testing
 */
public class DummyVerticle extends AbstractVerticle {
}