From 68561514dfcf9867918ca4983a5771a9b983d965 Mon Sep 17 00:00:00 2001
From: Andy Summers <andrew.summers@wisc.edu>
Date: Wed, 6 Jul 2016 09:58:51 -0500
Subject: [PATCH] Add PreauthUserDetailsService, remove binaries

---
 README.md                                     |    18 +
 composer.json                                 |     5 +
 composer.phar                                 |   Bin 1641245 -> 0 bytes
 phing.phar                                    |   Bin 2985172 -> 0 bytes
 phpunit.phar                                  | 72809 ----------------
 .../doit/LocalUserDetailsAttributeMapper.php  |     8 +-
 .../edu/wisc/doit/LocalUserDetailsService.php |    22 +-
 .../PreauthUserDetailsAttributeMapper.php     |    36 +
 .../wisc/doit/PreauthUserDetailsService.php   |    52 +
 .../wisc/doit/UserDetailsAttributeMapper.php  |     2 +-
 src/main/edu/wisc/doit/UserDetailsService.php |    11 +-
 .../LocalUserDetailsAttributeMapperTest.php   |     2 +-
 src/test/edu/wisc/doit/PreauthTestCase.php    |    34 +
 .../PreauthUserDetailsAttributeMapperTest.php |    25 +
 .../doit/PreauthUserDetailsServiceTest.php    |    25 +
 src/test/resources/testuser.json              |    15 +
 16 files changed, 234 insertions(+), 72830 deletions(-)
 delete mode 100644 composer.phar
 delete mode 100755 phing.phar
 delete mode 100755 phpunit.phar
 create mode 100644 src/main/edu/wisc/doit/PreauthUserDetailsAttributeMapper.php
 create mode 100644 src/main/edu/wisc/doit/PreauthUserDetailsService.php
 create mode 100644 src/test/edu/wisc/doit/PreauthTestCase.php
 create mode 100644 src/test/edu/wisc/doit/PreauthUserDetailsAttributeMapperTest.php
 create mode 100644 src/test/edu/wisc/doit/PreauthUserDetailsServiceTest.php
 create mode 100644 src/test/resources/testuser.json

diff --git a/README.md b/README.md
index 6541734..ab877f2 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,27 @@
 
 uw-php-security is a PHP companion to [uw-spring-security](https://git.doit.wisc.edu/adi-ia/uw-spring-security) for Java. Its purpose is to ease development of PHP applications needing details about UW users provided through Shibboleth.
 
+Like uw-spring-security, uw-php-security provides a class called `UWUserDetails` for easily accessing common UW user attributes. This model is provided to applications through a `UserDetailsService`, and uw-php-security provides implementations suitable for both local and preauth (Shibboleth) environments.
+
+```php
+<?php
+
+use edu\wisc\doit\PreauthUserDetailsService; // or LocalUserDetailsService for local development
+...
+$userDetailsService = new PreauthUserDetailsService();
+$user = $userDetailsService->loadUser();
+if ($user == null) {
+    // handle error
+}
+...
+```
+
 ## Developer Requirements
 
 * PHP
+* [Composer](https://getcomposer.org/)
+* [Phing](https://www.phing.info/)
+* [PHPUnit](https://phpunit.de/)
 
 ## Building
 
diff --git a/composer.json b/composer.json
index 915a72a..0b591f0 100644
--- a/composer.json
+++ b/composer.json
@@ -19,5 +19,10 @@
     "psr-4": {
       "edu\\wisc\\doit\\": "src/main/edu/wisc/doit/"
     }
+  },
+  "autoload-dev": {
+    "psr-4": {
+      "edu\\wisc\\doit\\": "src/test/edu/wisc/doit"
+    }
   }
 }
diff --git a/composer.phar b/composer.phar
deleted file mode 100644
index c0d6e92adc3237fb893ffc02ae32af567b465f04..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1641245
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
b{nsD=?SG8FjQ`{3|Nh7CzWYvMb@u-NDth`?

diff --git a/phing.phar b/phing.phar
deleted file mode 100755
index 79e3435c04c01d05613381a0d8fefb7be4e52b0f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2985172
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

diff --git a/phpunit.phar b/phpunit.phar
deleted file mode 100755
index 90cae7c..0000000
--- a/phpunit.phar
+++ /dev/null
@@ -1,72809 +0,0 @@
-#!/usr/bin/env php
-<?php
-if (version_compare('5.6.0', PHP_VERSION, '>')) {
-    fwrite(
-        STDERR,
-        'This version of PHPUnit requires PHP 5.6; using the latest version of PHP is highly recommended.' . PHP_EOL
-    );
-
-    die(1);
-}
-
-if (__FILE__ == realpath($GLOBALS['_SERVER']['SCRIPT_NAME'])) {
-    $execute = true;
-} else {
-    $execute = false;
-}
-
-define('__PHPUNIT_PHAR__', str_replace(DIRECTORY_SEPARATOR, '/', __FILE__));
-define('__PHPUNIT_PHAR_ROOT__', 'phar://phpunit-5.4.6.phar');
-
-Phar::mapPhar('phpunit-5.4.6.phar');
-
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/DeepCopy.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Exception/CloneException.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/Filter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/KeepFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/ReplaceFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Filter/SetNullFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Matcher/Matcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyMatcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyNameMatcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyTypeMatcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/Reflection/ReflectionHelper.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/TypeFilter/TypeFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/TypeFilter/ReplaceFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/TypeFilter/ShallowCopyFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/myclabs-deep-copy/DeepCopy/TypeMatcher/TypeMatcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/doctrine-instantiator/Doctrine/Instantiator/Exception/ExceptionInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/doctrine-instantiator/Doctrine/Instantiator/Exception/InvalidArgumentException.php';
-require 'phar://phpunit-5.4.6.phar' . '/doctrine-instantiator/Doctrine/Instantiator/Exception/UnexpectedValueException.php';
-require 'phar://phpunit-5.4.6.phar' . '/doctrine-instantiator/Doctrine/Instantiator/InstantiatorInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/doctrine-instantiator/Doctrine/Instantiator/Instantiator.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-file-iterator/Iterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-file-iterator/Facade.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-file-iterator/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Test.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SelfDescribing.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Assert.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/ForwardCompatibility/TestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/ITester.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/AbstractTester.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Constraint/DataSetIsEqual.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Constraint/TableIsEqual.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Constraint/TableRowCount.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/IDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/AbstractDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/DataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/IDatabaseConnection.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/DefaultDatabaseConnection.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/FilteredDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/IMetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/Dblib.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/Firebird.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/InformationSchema.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/MySQL.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/Oci.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/PgSQL.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/SqlSrv.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/MetaData/Sqlite.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ITable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/AbstractTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/ResultSetTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/Table.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ITableIterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/TableIterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ITableMetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/AbstractTableMetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/DefaultTableMetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DB/TableMetaData.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/AbstractXmlDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ArrayDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/CompositeDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/CsvDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/DataSetFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/DefaultDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/DefaultTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/DefaultTableIterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/FlatXmlDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/IPersistable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ISpec.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/IYamlParser.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/MysqlXmlDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/Abstract.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/FlatXml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/MysqlXml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/Xml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Persistors/Yaml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/QueryDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/QueryTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ReplacementDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ReplacementTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/ReplacementTableIterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/Csv.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/IDatabaseListConsumer.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/DbQuery.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/DbTable.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/IFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/FlatXml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/Xml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/Specs/Yaml.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/SymfonyYamlParser.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/TableFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/TableMetaDataFilter.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/XmlDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DataSet/YamlDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/DefaultTester.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/IDatabaseOperation.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Composite.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/RowBased.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Delete.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/DeleteAll.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Insert.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Null.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Replace.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Truncate.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/Operation/Update.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/TestCaseTrait.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/TestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/Command.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/Context.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/IMediumPrinter.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/IMedium.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/IMode.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/IModeFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/InvalidModeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/Mediums/Text.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/ModeFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/Modes/ExportDataSet.php';
-require 'phar://phpunit-5.4.6.phar' . '/dbunit/Extensions/Database/UI/Modes/ExportDataSet/Arguments.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestSuite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/GroupTestSuite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/PhptTestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/PhptTestSuite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/TestDecorator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/RepeatedTest.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestListener.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Extensions/TicketListener.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/AssertionFailedError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/BaseTestListener.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/CodeCoverageException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/And.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ArrayHasKey.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ArraySubset.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Composite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Attribute.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Callback.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ClassHasAttribute.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ClassHasStaticAttribute.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Count.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ExceptionCode.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ExceptionMessage.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ExceptionMessageRegExp.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/FileExists.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/GreaterThan.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsAnything.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsEmpty.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsEqual.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsFalse.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsFinite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsIdentical.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsInfinite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsInstanceOf.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsJson.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsNan.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsNull.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsTrue.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/IsType.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/JsonMatches.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/JsonMatches/ErrorMessageProvider.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/LessThan.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Not.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/ObjectHasAttribute.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Or.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/PCREMatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/SameSize.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/StringContains.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/StringEndsWith.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/StringMatches.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/StringStartsWith.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/TraversableContains.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/TraversableContainsOnly.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Constraint/Xor.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/RiskyTest.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/RiskyTestError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/PHPUnit_Framework_CoveredCodeNotExecutedException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Error.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Error/Deprecated.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Error/Notice.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Error/Warning.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/ExceptionWrapper.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/ExpectationFailedException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/IncompleteTest.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/IncompleteTestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/IncompleteTestError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/InvalidCoversTargetException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/PHPUnit_Framework_MissingCoversAnnotationException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Exception/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Exception/BadMethodCallException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/Identity.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/Stub.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/Match.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/ParametersMatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/MethodNameMatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/InvocationMocker.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Builder/Namespace.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Generator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Invocation.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/MatcherCollection.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Verifiable.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Invokable.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/InvocationMocker.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Invocation/Static.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Invocation/Object.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/Invocation.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedRecorder.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/AnyInvokedCount.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/StatelessInvocation.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/AnyParameters.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/ConsecutiveParameters.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtIndex.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtLeastCount.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtLeastOnce.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtMostCount.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/InvokedCount.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/MethodName.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Matcher/Parameters.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/MockBuilder.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/MockObject.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Exception/RuntimeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ConsecutiveCalls.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/Return.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnArgument.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnCallback.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnReference.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnSelf.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit-mock-objects/Framework/MockObject/Stub/ReturnValueMap.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/OutputError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SkippedTest.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SkippedTestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SkippedTestError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SkippedTestSuiteError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/SyntheticError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestFailure.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestResult.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/TestSuite/DataProvider.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/UnintentionallyCoveredCodeError.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/Warning.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Framework/WarningTestCase.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/BaseTestRunner.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Filter/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Filter/Group.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Filter/Group/Exclude.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Filter/Group/Include.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Filter/Test.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/TestSuiteLoader.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/StandardTestSuiteLoader.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Runner/Version.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/TextUI/Command.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Printer.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/TextUI/ResultPrinter.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/TextUI/TestRunner.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Blacklist.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Configuration.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/ConfigurationGenerator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/ErrorHandler.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Fileloader.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Filesystem.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Filter.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Getopt.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/GlobalState.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/InvalidArgumentHelper.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Log/JSON.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Log/JUnit.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Log/TAP.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Log/TeamCity.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/PHP.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/PHP/Default.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/PHP/Windows.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Regex.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/String.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Test.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestDox/NamePrettifier.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestDox/ResultPrinter.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestDox/ResultPrinter/HTML.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestDox/ResultPrinter/Text.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestDox/ResultPrinter/XML.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/TestSuiteIterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/Type.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpunit/Util/XML.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-invoker/Invoker.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-invoker/TimeoutException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-timer/Timer.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-token-stream/Token.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-token-stream/Token/Stream.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-token-stream/Token/Stream/CachingFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/ArgumentsWildcard.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/TokenInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/AnyValueToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/AnyValuesToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ApproximateValueToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayCountToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayEntryToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayEveryEntryToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/CallbackToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ExactValueToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/IdenticalValueToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/LogicalAndToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/LogicalNotToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/ObjectStateToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/StringContainsToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Argument/Token/TypeToken.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Call/Call.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Call/CallCenter.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/Comparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Comparator/ClosureComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Comparator/Factory.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ArrayComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ObjectComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Comparator/ProphecyComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Doubler.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/CachedDoubler.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/KeywordPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/MagicCallPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/TraversablePatch.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/DoubleInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassCodeGenerator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassCreator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassMirror.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/ArgumentNode.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/ClassNode.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/MethodNode.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/Generator/ReflectionInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/LazyDouble.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Doubler/NameGenerator.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prophecy/ProphecyException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prophecy/ObjectProphecyException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Call/UnexpectedCallException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/DoublerException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassCreatorException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassMirrorException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/DoubleException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassNotFoundException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/InterfaceNotFoundException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotExtendableException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotFoundException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Doubler/ReturnByReferenceException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/InvalidArgumentException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/PredictionException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/AggregateException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/FailedPredictionException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prophecy/MethodProphecyException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/NoCallsException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/PhpDocumentor/ClassTagRetriever.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prediction/PredictionInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prediction/CallPrediction.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prediction/CallTimesPrediction.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prediction/CallbackPrediction.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prediction/NoCallsPrediction.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Promise/PromiseInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Promise/CallbackPromise.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Promise/ReturnArgumentPromise.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Promise/ReturnPromise.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Promise/ThrowPromise.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/MethodProphecy.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/ProphecyInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/ObjectProphecy.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/ProphecySubjectInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/RevealerInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophecy/Revealer.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Prophet.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Util/ExportUtil.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpspec-prophecy/Prophecy/Util/StringUtil.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/CodeCoverage.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/RuntimeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/CoveredCodeNotExecutedException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Driver/Driver.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Driver/Xdebug.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Driver/HHVM.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Driver/PHPDBG.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Filter.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/InvalidArgumentException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/MissingCoversAnnotationException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Node/AbstractNode.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Node/Builder.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Node/Directory.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Node/File.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Node/Iterator.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Clover.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Crap4j.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Html/Renderer.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Html/Renderer/Dashboard.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Html/Renderer/Directory.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Html/Facade.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Html/Renderer/File.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/PHP.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Text.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Coverage.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Node.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Directory.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Facade.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/File.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Method.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Project.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Report.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Tests.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Totals.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Report/Xml/Unit.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Exception/UnintentionallyCoveredCodeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-code-coverage/Util.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-code-unit-reverse-lookup/Wizard.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ComparisonFailure.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/DOMNodeComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/DateTimeComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ScalarComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/NumericComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/DoubleComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ExceptionComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/MockObjectComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/ResourceComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/SplObjectStorageComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-comparator/TypeComparator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/Chunk.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/Diff.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/Differ.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/LCS/LongestCommonSubsequence.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/Line.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-diff/Parser.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-environment/Console.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-environment/Runtime.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-exporter/Exporter.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/Blacklist.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/CodeExporter.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/Restorer.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/RuntimeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-global-state/Snapshot.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-object-enumerator/Enumerator.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-object-enumerator/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-object-enumerator/InvalidArgumentException.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-recursion-context/Context.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-recursion-context/Exception.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-recursion-context/InvalidArgumentException.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-resource-operations/ResourceOperations.php';
-require 'phar://phpunit-5.4.6.phar' . '/sebastian-version/Version.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Dumper.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Escaper.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Exception/ExceptionInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Exception/RuntimeException.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Exception/DumpException.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Exception/ParseException.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Inline.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Parser.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Unescaper.php';
-require 'phar://phpunit-5.4.6.phar' . '/symfony/yaml/Yaml.php';
-require 'phar://phpunit-5.4.6.phar' . '/php-text-template/Template.php';
-require 'phar://phpunit-5.4.6.phar' . '/webmozart-assert/Assert.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlockFactoryInterface.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlockFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Description.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/DescriptionFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Serializer.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/TagFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/StandardTagFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tag.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/StaticMethod.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/BaseTag.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Author.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Covers.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Deprecated.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Example.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/Strategy.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter/PassthroughFormatter.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Generic.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Link.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Method.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Param.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Property.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyRead.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyWrite.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Return_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/See.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Since.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Source.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Throws.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Uses.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Var_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Version.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/Element.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-docblock/DocBlock/ExampleFinder.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/File.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/Fqsen.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/FqsenResolver.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/Location.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/Project.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-reflection-common/ProjectFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Type.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/TypeResolver.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Array_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Boolean.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Callable_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Compound.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Context.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/ContextFactory.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Float_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Integer.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Mixed.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Null_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Object_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Resource.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Scalar.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Self_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Static_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/String_.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/This.php';
-require 'phar://phpunit-5.4.6.phar' . '/phpdocumentor-type-resolver/Types/Void_.php';
-
-if ($execute) {
-    if (isset($_SERVER['argv'][1]) && $_SERVER['argv'][1] == '--manifest') {
-        print file_get_contents(__PHPUNIT_PHAR_ROOT__ . '/manifest.txt');
-        exit;
-    }
-
-    PHPUnit_TextUI_Command::main();
-}
-
-__HALT_COMPILER(); ?>
-'���Y���������phpunit-5.4.6.phar�������manifest.txt(���@bW(��M��ض���������ca.pem����@bW����by����������php-code-coverage/LICENSE���@bW��ЉxZ�������"���php-code-coverage/CodeCoverage.php�s���@bW�s�����W�������#���php-code-coverage/Driver/Driver.php���@bW������������!���php-code-coverage/Driver/HHVM.php����@bW���Ն7�������#���php-code-coverage/Driver/PHPDBG.php]���@bW]��ӔӶ������#���php-code-coverage/Driver/Xdebug.php�
-���@bW�
-�����������?���php-code-coverage/Exception/CoveredCodeNotExecutedException.php����@bW���/�/��������)���php-code-coverage/Exception/Exception.php~���@bW~����u�������8���php-code-coverage/Exception/InvalidArgumentException.php����@bW����N��������@���php-code-coverage/Exception/MissingCoversAnnotationException.php����@bW����fM�������0���php-code-coverage/Exception/RuntimeException.phpp���@bWp��w�C�������C���php-code-coverage/Exception/UnintentionallyCoveredCodeException.php����@bW����F�+����������php-code-coverage/Filter.php����@bW�����ʶ������'���php-code-coverage/Node/AbstractNode.php����@bW����_��������"���php-code-coverage/Node/Builder.phpb���@bWb���*�̶������$���php-code-coverage/Node/Directory.php�&���@bW�&���k����������php-code-coverage/Node/File.php�H���@bW�H���*P��������#���php-code-coverage/Node/Iterator.php����@bW���9��Q�������#���php-code-coverage/Report/Clover.php�&���@bW�&���$촶������#���php-code-coverage/Report/Crap4j.php����@bW���qro��������(���php-code-coverage/Report/Html/Facade.php����@bW����;Ƕ������*���php-code-coverage/Report/Html/Renderer.php�"���@bW�"��JN#X�������4���php-code-coverage/Report/Html/Renderer/Dashboard.phpm&���@bWm&��!mu�������4���php-code-coverage/Report/Html/Renderer/Directory.php����@bW���;$��������/���php-code-coverage/Report/Html/Renderer/File.php(I���@bW(I���Q���������F���php-code-coverage/Report/Html/Renderer/Template/coverage_bar.html.dist1���@bW1��itL�������E���php-code-coverage/Report/Html/Renderer/Template/css/bootstrap.min.css����@bW���n�8��������A���php-code-coverage/Report/Html/Renderer/Template/css/nv.d3.min.cssX%���@bWX%���0,�������=���php-code-coverage/Report/Html/Renderer/Template/css/style.css+���@bW+��Y`�g�������C���php-code-coverage/Report/Html/Renderer/Template/dashboard.html.dist����@bW�����"�������C���php-code-coverage/Report/Html/Renderer/Template/directory.html.dist!���@bW!��!_�������H���php-code-coverage/Report/Html/Renderer/Template/directory_item.html.dist5���@bW5���Z�]�������>���php-code-coverage/Report/Html/Renderer/Template/file.html.dist�
-���@bW�
-���(ﷶ������C���php-code-coverage/Report/Html/Renderer/Template/file_item.html.distg���@bWg��V�
P�������V���php-code-coverage/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.eot�N���@bW�N��XDZ��������V���php-code-coverage/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.svg¨��@bW¨�|��ɶ������V���php-code-coverage/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.ttf\����@bW\����<��������W���php-code-coverage/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff�[���@bW�[���{��������X���php-code-coverage/Report/Html/Renderer/Template/fonts/glyphicons-halflings-regular.woff2lF���@bWlF��v��a�������C���php-code-coverage/Report/Html/Renderer/Template/js/bootstrap.min.js����@bW���::�ڶ������<���php-code-coverage/Report/Html/Renderer/Template/js/d3.min.js�P��@bW�P��h�b�������@���php-code-coverage/Report/Html/Renderer/Template/js/holder.min.js�m���@bW�m��J�sѶ������C���php-code-coverage/Report/Html/Renderer/Template/js/html5shiv.min.js[(���@bW[(��ü,�������@���php-code-coverage/Report/Html/Renderer/Template/js/jquery.min.js�{��@bW�{� ��l�������?���php-code-coverage/Report/Html/Renderer/Template/js/nv.d3.min.js�R��@bW�R�<Ms�������A���php-code-coverage/Report/Html/Renderer/Template/js/respond.min.js���@bW���{�������E���php-code-coverage/Report/Html/Renderer/Template/method_item.html.distx���@bWx��*��������� ���php-code-coverage/Report/PHP.php����@bW���DP��������!���php-code-coverage/Report/Text.php"���@bW"��l���������)���php-code-coverage/Report/Xml/Coverage.phpC���@bWC��dȶ������*���php-code-coverage/Report/Xml/Directory.phpR���@bWR��&�a�������'���php-code-coverage/Report/Xml/Facade.php����@bW���&*��������%���php-code-coverage/Report/Xml/File.php����@bW���e�5j�������'���php-code-coverage/Report/Xml/Method.phpW���@bWW���	\�������%���php-code-coverage/Report/Xml/Node.php����@bW���;�#P�������(���php-code-coverage/Report/Xml/Project.php���@bW��ă�J�������'���php-code-coverage/Report/Xml/Report.php����@bW���@�wS�������&���php-code-coverage/Report/Xml/Tests.php����@bW������Z�������'���php-code-coverage/Report/Xml/Totals.php����@bW���酮��������%���php-code-coverage/Report/Xml/Unit.php
-���@bW
-��-5�^����������php-code-coverage/Util.php����@bW���������������php-file-iterator/LICENSE���@bW����s�����������php-file-iterator/Facade.php����@bW�����0�����������php-file-iterator/Factory.php�	���@bW�	���y������������php-file-iterator/Iterator.phpa���@bWa���������������php-text-template/LICENSE���@bW��S�:�����������php-text-template/Template.php����@bW����w4�����������php-timer/LICENSE���@bW��ǨAE����������php-timer/Timer.phpE	���@bWE	����6����������php-token-stream/LICENSE���@bW���-& ����������php-token-stream/Token.php:b���@bW:b���#0!�������!���php-token-stream/Token/Stream.php�@���@bW�@����ܜ�������0���php-token-stream/Token/Stream/CachingFactory.php���@bW��_����������phpunit-mock-objects/LICENSE���@bW��C>��������>���phpunit-mock-objects/Framework/MockObject/Builder/Identity.php����@bW���w[�������F���phpunit-mock-objects/Framework/MockObject/Builder/InvocationMocker.php����@bW������϶������;���phpunit-mock-objects/Framework/MockObject/Builder/Match.php���@bW��jZ��������E���phpunit-mock-objects/Framework/MockObject/Builder/MethodNameMatch.php����@bW���$����������?���phpunit-mock-objects/Framework/MockObject/Builder/Namespace.php���@bW����AF�������E���phpunit-mock-objects/Framework/MockObject/Builder/ParametersMatch.php���@bW��w2�������:���phpunit-mock-objects/Framework/MockObject/Builder/Stub.phpX���@bWX��ѕ�������N���phpunit-mock-objects/Framework/MockObject/Exception/BadMethodCallException.php����@bW�����).�������A���phpunit-mock-objects/Framework/MockObject/Exception/Exception.php����@bW���]�T�������H���phpunit-mock-objects/Framework/MockObject/Exception/RuntimeException.php����@bW���Y�n4�������7���phpunit-mock-objects/Framework/MockObject/Generator.php�����@bW�����'���������H���phpunit-mock-objects/Framework/MockObject/Generator/deprecation.tpl.dist;����@bW;���O5�s�������I���phpunit-mock-objects/Framework/MockObject/Generator/mocked_class.tpl.dist����@bW����z�Q�������P���phpunit-mock-objects/Framework/MockObject/Generator/mocked_class_method.tpl.dist�����@bW�����4޶������I���phpunit-mock-objects/Framework/MockObject/Generator/mocked_clone.tpl.dist�����@bW�����aT�������J���phpunit-mock-objects/Framework/MockObject/Generator/mocked_method.tpl.dist����@bW��������������Q���phpunit-mock-objects/Framework/MockObject/Generator/mocked_static_method.tpl.dist�����@bW����Ϫ^b�������K���phpunit-mock-objects/Framework/MockObject/Generator/proxied_method.tpl.dist����@bW�������������H���phpunit-mock-objects/Framework/MockObject/Generator/trait_class.tpl.dist7����@bW7����[$~�������K���phpunit-mock-objects/Framework/MockObject/Generator/unmocked_clone.tpl.dist�����@bW����8W}ض������G���phpunit-mock-objects/Framework/MockObject/Generator/wsdl_class.tpl.dist�����@bW����w&S�������H���phpunit-mock-objects/Framework/MockObject/Generator/wsdl_method.tpl.dist<����@bW<�����i��������8���phpunit-mock-objects/Framework/MockObject/Invocation.php����@bW���9T���������?���phpunit-mock-objects/Framework/MockObject/Invocation/Object.php����@bW���8����������?���phpunit-mock-objects/Framework/MockObject/Invocation/Static.phpf���@bWf����%�������>���phpunit-mock-objects/Framework/MockObject/InvocationMocker.php����@bW���`8��������7���phpunit-mock-objects/Framework/MockObject/Invokable.php����@bW��������������5���phpunit-mock-objects/Framework/MockObject/Matcher.phpi!���@bWi!��7ZRж������E���phpunit-mock-objects/Framework/MockObject/Matcher/AnyInvokedCount.php����@bW����Ds$�������C���phpunit-mock-objects/Framework/MockObject/Matcher/AnyParameters.phpI���@bWI��U��@�������K���phpunit-mock-objects/Framework/MockObject/Matcher/ConsecutiveParameters.php����@bW���o"ī�������@���phpunit-mock-objects/Framework/MockObject/Matcher/Invocation.php���@bW��@⸩�������D���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtIndex.php	���@bW	��7y�{�������I���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtLeastCount.php����@bW���0�8�������H���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtLeastOnce.php����@bW���E�@G�������H���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedAtMostCount.php����@bW���̈́-�������B���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedCount.php����@bW���q��������E���phpunit-mock-objects/Framework/MockObject/Matcher/InvokedRecorder.phpb���@bWb��i����������@���phpunit-mock-objects/Framework/MockObject/Matcher/MethodName.php-���@bW-���=R�������@���phpunit-mock-objects/Framework/MockObject/Matcher/Parameters.php���@bW���	}(�������I���phpunit-mock-objects/Framework/MockObject/Matcher/StatelessInvocation.phpi���@bWi������������9���phpunit-mock-objects/Framework/MockObject/MockBuilder.phpI#���@bWI#��y��������8���phpunit-mock-objects/Framework/MockObject/MockObject.php����@bW�������������2���phpunit-mock-objects/Framework/MockObject/Stub.php����@bW�������������C���phpunit-mock-objects/Framework/MockObject/Stub/ConsecutiveCalls.php����@bW���2	�
�������<���phpunit-mock-objects/Framework/MockObject/Stub/Exception.php&���@bW&��_,
-�������D���phpunit-mock-objects/Framework/MockObject/Stub/MatcherCollection.php����@bW�����v�������9���phpunit-mock-objects/Framework/MockObject/Stub/Return.php����@bW���L�f+�������A���phpunit-mock-objects/Framework/MockObject/Stub/ReturnArgument.php����@bW���9)�`�������A���phpunit-mock-objects/Framework/MockObject/Stub/ReturnCallback.php����@bW���g��`�������B���phpunit-mock-objects/Framework/MockObject/Stub/ReturnReference.php;���@bW;��l���������=���phpunit-mock-objects/Framework/MockObject/Stub/ReturnSelf.php����@bW���fk�k�������A���phpunit-mock-objects/Framework/MockObject/Stub/ReturnValueMap.php|���@bW|��uB	�������8���phpunit-mock-objects/Framework/MockObject/Verifiable.php����@bW����'L�������*���sebastian-code-unit-reverse-lookup/LICENSE���@bW��<�P��������-���sebastian-code-unit-reverse-lookup/Wizard.phpe���@bWe���������������sebastian-comparator/LICENSE	���@bW	���:�������(���sebastian-comparator/ArrayComparator.php����@bW���v�x�������#���sebastian-comparator/Comparator.phpP���@bWP��!P�=�������*���sebastian-comparator/ComparisonFailure.php����@bW���
�V�������*���sebastian-comparator/DOMNodeComparator.php�
���@bW�
����>%�������+���sebastian-comparator/DateTimeComparator.php����@bW�����������)���sebastian-comparator/DoubleComparator.php7���@bW7��S�tٶ������,���sebastian-comparator/ExceptionComparator.php����@bW����kf�������� ���sebastian-comparator/Factory.phpd���@bWd��ه1�������-���sebastian-comparator/MockObjectComparator.php����@bW������O�������*���sebastian-comparator/NumericComparator.php~
-���@bW~
-���7��������)���sebastian-comparator/ObjectComparator.php����@bW������w�������+���sebastian-comparator/ResourceComparator.php����@bW���&�w�������)���sebastian-comparator/ScalarComparator.php>���@bW>����B(�������3���sebastian-comparator/SplObjectStorageComparator.php�
-���@bW�
-���M�Q�������'���sebastian-comparator/TypeComparator.php����@bW����Q����������sebastian-diff/LICENSE���@bW��vEvö���������sebastian-diff/Chunk.php����@bW���-*�����������sebastian-diff/Diff.php����@bW���˾�����������sebastian-diff/Differ.php����@bW�����`�������/���sebastian-diff/LCS/LongestCommonSubsequence.phpl���@bWl���l�1�������L���sebastian-diff/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php�	���@bW�	���_�������J���sebastian-diff/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php����@bW���f#5/����������sebastian-diff/Line.php����@bW����:;����������sebastian-diff/Parser.php'���@bW'���Z�K����������sebastian-environment/LICENSE
-���@bW
-�����߶������!���sebastian-environment/Console.php����@bW����?."�������!���sebastian-environment/Runtime.phpH���@bWH��8������������sebastian-exporter/LICENSE���@bW��A�e)����������sebastian-exporter/Exporter.php["���@bW["���T��������#���sebastian-recursion-context/LICENSE���@bW������������'���sebastian-recursion-context/Context.php����@bW����qP��������)���sebastian-recursion-context/Exception.phpJ���@bWJ������������8���sebastian-recursion-context/InvalidArgumentException.php����@bW���mH�������%���sebastian-resource-operations/LICENSE
���@bW
��I���������4���sebastian-resource-operations/ResourceOperations.php�U���@bW�U���hն���������sebastian-global-state/LICENSE
-���@bW
-���`�������$���sebastian-global-state/Blacklist.php[���@bW[��:��������'���sebastian-global-state/CodeExporter.php����@bW���`�(C�������$���sebastian-global-state/Exception.php?���@bW?����������#���sebastian-global-state/Restorer.php����@bW���ӓ;\�������+���sebastian-global-state/RuntimeException.phpq���@bWq���~]!�������#���sebastian-global-state/Snapshot.php�%���@bW�%��ÖSݶ���������object-enumerator/LICENSE���@bW���Y�u�������*���sebastian-object-enumerator/Enumerator.php����@bW����=��������)���sebastian-object-enumerator/Exception.php6���@bW6��n$*a�������8���sebastian-object-enumerator/InvalidArgumentException.phpx���@bWx����'�����������sebastian-version/LICENSE���@bW��n����������sebastian-version/Version.php����@bW���N\Ƕ���������doctrine-instantiator/LICENSE$���@bW$��
-͂�������L���doctrine-instantiator/Doctrine/Instantiator/Exception/ExceptionInterface.php����@bW����.�ö������R���doctrine-instantiator/Doctrine/Instantiator/Exception/InvalidArgumentException.php����@bW���h�7I�������R���doctrine-instantiator/Doctrine/Instantiator/Exception/UnexpectedValueException.php�
-���@bW�
-��"�� �������<���doctrine-instantiator/Doctrine/Instantiator/Instantiator.php� ���@bW� ���&�������E���doctrine-instantiator/Doctrine/Instantiator/InstantiatorInterface.php~���@bW~�����:����������symfony/LICENSE)���@bW)��������������symfony/yaml/Dumper.php����@bW����쇶���������symfony/yaml/Escaper.php ���@bW ��+�oö������(���symfony/yaml/Exception/DumpException.php����@bW�����������-���symfony/yaml/Exception/ExceptionInterface.php����@bW����^KA�������)���symfony/yaml/Exception/ParseException.php]
���@bW]
��A��������+���symfony/yaml/Exception/RuntimeException.php����@bW����_q�����������symfony/yaml/Inline.phpka���@bWka��=�^����������symfony/yaml/Parser.php�~���@bW�~��D���������symfony/yaml/Unescaper.phpU���@bWU���őU����������symfony/yaml/Yaml.php����@bW�����;ٶ������-���dbunit/Extensions/Database/AbstractTester.php���@bW��C�Y�������8���dbunit/Extensions/Database/Constraint/DataSetIsEqual.php����@bW���M���������6���dbunit/Extensions/Database/Constraint/TableIsEqual.php���@bW��7�
-�������7���dbunit/Extensions/Database/Constraint/TableRowCount.php����@bW���I�XӶ������)���dbunit/Extensions/Database/DB/DataSet.phpC���@bWC��ԍ�������;���dbunit/Extensions/Database/DB/DefaultDatabaseConnection.php}���@bW}�������������1���dbunit/Extensions/Database/DB/FilteredDataSet.phpF���@bWF�� (�e�������5���dbunit/Extensions/Database/DB/IDatabaseConnection.php���@bW���dʶ������+���dbunit/Extensions/Database/DB/IMetaData.php3���@bW3��@G���������*���dbunit/Extensions/Database/DB/MetaData.php����@bW����Pp�������0���dbunit/Extensions/Database/DB/MetaData/Dblib.php�
-���@bW�
-��#j*-�������3���dbunit/Extensions/Database/DB/MetaData/Firebird.php����@bW����]Y�������<���dbunit/Extensions/Database/DB/MetaData/InformationSchema.phpA���@bWA��4�C"�������0���dbunit/Extensions/Database/DB/MetaData/MySQL.php����@bW�������������.���dbunit/Extensions/Database/DB/MetaData/Oci.phpI���@bWI��UWK��������0���dbunit/Extensions/Database/DB/MetaData/PgSQL.php����@bW���A�.��������1���dbunit/Extensions/Database/DB/MetaData/SqlSrv.php�
���@bW�
��y�D�������1���dbunit/Extensions/Database/DB/MetaData/Sqlite.php
-���@bW
-������������0���dbunit/Extensions/Database/DB/ResultSetTable.php����@bW����O&�������'���dbunit/Extensions/Database/DB/Table.php����@bW���8k8o�������/���dbunit/Extensions/Database/DB/TableIterator.php}
-���@bW}
-��0W�6�������/���dbunit/Extensions/Database/DB/TableMetaData.php���@bW���;Е�������6���dbunit/Extensions/Database/DataSet/AbstractDataSet.php���@bW���^��������4���dbunit/Extensions/Database/DataSet/AbstractTable.phpS���@bWS��Xl�ٶ������<���dbunit/Extensions/Database/DataSet/AbstractTableMetaData.php����@bW���;�c��������9���dbunit/Extensions/Database/DataSet/AbstractXmlDataSet.php����@bW����F!�������3���dbunit/Extensions/Database/DataSet/ArrayDataSet.phpo���@bWo����||�������7���dbunit/Extensions/Database/DataSet/CompositeDataSet.php5
-���@bW5
-����4O�������1���dbunit/Extensions/Database/DataSet/CsvDataSet.php����@bW���l���������4���dbunit/Extensions/Database/DataSet/DataSetFilter.phpG���@bWG��1�������5���dbunit/Extensions/Database/DataSet/DefaultDataSet.php����@bW�����w��������3���dbunit/Extensions/Database/DataSet/DefaultTable.phpt���@bWt����϶������;���dbunit/Extensions/Database/DataSet/DefaultTableIterator.php�	���@bW�	��4��������;���dbunit/Extensions/Database/DataSet/DefaultTableMetaData.php����@bW���.�F�������5���dbunit/Extensions/Database/DataSet/FlatXmlDataSet.php@���@bW@���耀�������/���dbunit/Extensions/Database/DataSet/IDataSet.php���@bW���Z߶������3���dbunit/Extensions/Database/DataSet/IPersistable.php����@bW��������������,���dbunit/Extensions/Database/DataSet/ISpec.php����@bW���݂������-���dbunit/Extensions/Database/DataSet/ITable.php���@bW��ȃN��������5���dbunit/Extensions/Database/DataSet/ITableIterator.php���@bW���!-�������5���dbunit/Extensions/Database/DataSet/ITableMetaData.php1���@bW1��,�+;�������2���dbunit/Extensions/Database/DataSet/IYamlParser.php���@bW��@ۈ[�������6���dbunit/Extensions/Database/DataSet/MysqlXmlDataSet.php���@bW��Ʊ�¶������:���dbunit/Extensions/Database/DataSet/Persistors/Abstract.php
-���@bW
-��D:�������9���dbunit/Extensions/Database/DataSet/Persistors/Factory.php���@bW���(��������9���dbunit/Extensions/Database/DataSet/Persistors/FlatXml.php����@bW���T�Z,�������:���dbunit/Extensions/Database/DataSet/Persistors/MysqlXml.php�
���@bW�
���O�Ӷ������5���dbunit/Extensions/Database/DataSet/Persistors/Xml.php5���@bW5����.��������6���dbunit/Extensions/Database/DataSet/Persistors/Yaml.php����@bW���*�勇������3���dbunit/Extensions/Database/DataSet/QueryDataSet.php�	���@bW�	��'�7u�������1���dbunit/Extensions/Database/DataSet/QueryTable.phpV���@bWV��lN���������9���dbunit/Extensions/Database/DataSet/ReplacementDataSet.php�
-���@bW�
-����O�������7���dbunit/Extensions/Database/DataSet/ReplacementTable.phph���@bWh��/��w�������?���dbunit/Extensions/Database/DataSet/ReplacementTableIterator.php�
���@bW�
����Ns�������0���dbunit/Extensions/Database/DataSet/Specs/Csv.php�
-���@bW�
-��:�d=�������4���dbunit/Extensions/Database/DataSet/Specs/DbQuery.php����@bW�����Ķ������4���dbunit/Extensions/Database/DataSet/Specs/DbTable.php����@bW�����v�������4���dbunit/Extensions/Database/DataSet/Specs/Factory.php����@bW���A�̶������4���dbunit/Extensions/Database/DataSet/Specs/FlatXml.php����@bW����߆�������5���dbunit/Extensions/Database/DataSet/Specs/IFactory.phpl���@bWl��՗�+�������0���dbunit/Extensions/Database/DataSet/Specs/Xml.php����@bW����TZ�������1���dbunit/Extensions/Database/DataSet/Specs/Yaml.php����@bW���{;>�������8���dbunit/Extensions/Database/DataSet/SymfonyYamlParser.phpO���@bWO���PW��������2���dbunit/Extensions/Database/DataSet/TableFilter.php�
���@bW�
��)Ŷ������:���dbunit/Extensions/Database/DataSet/TableMetaDataFilter.php9
���@bW9
��52P�������1���dbunit/Extensions/Database/DataSet/XmlDataSet.phpt���@bWt�����D�������2���dbunit/Extensions/Database/DataSet/YamlDataSet.php|���@bW|��I�K�������,���dbunit/Extensions/Database/DefaultTester.php����@bW����X`��������(���dbunit/Extensions/Database/Exception.php���@bW��m�-`�������4���dbunit/Extensions/Database/IDatabaseListConsumer.php;���@bW;��4o�������&���dbunit/Extensions/Database/ITester.php����@bW�����#��������2���dbunit/Extensions/Database/Operation/Composite.php����@bW�����M�������/���dbunit/Extensions/Database/Operation/Delete.php���@bW���Z>0�������2���dbunit/Extensions/Database/Operation/DeleteAll.php����@bW����}^
�������2���dbunit/Extensions/Database/Operation/Exception.php/���@bW/���J��������0���dbunit/Extensions/Database/Operation/Factory.php���@bW��p{U��������;���dbunit/Extensions/Database/Operation/IDatabaseOperation.php����@bW���"��������/���dbunit/Extensions/Database/Operation/Insert.php����@bW���
td�������-���dbunit/Extensions/Database/Operation/Null.php����@bW�����0Ӷ������0���dbunit/Extensions/Database/Operation/Replace.php`���@bW`���d綶������1���dbunit/Extensions/Database/Operation/RowBased.php+���@bW+���c�X�������1���dbunit/Extensions/Database/Operation/Truncate.php�	���@bW�	���;�i�������/���dbunit/Extensions/Database/Operation/Update.php����@bW���W":˶������'���dbunit/Extensions/Database/TestCase.php���@bW����[i�������,���dbunit/Extensions/Database/TestCaseTrait.php6!���@bW6!��X#�K�������)���dbunit/Extensions/Database/UI/Command.phpI���@bWI���T��������)���dbunit/Extensions/Database/UI/Context.php���@bW���G�������)���dbunit/Extensions/Database/UI/IMedium.phpP���@bWP����Ԛ�������0���dbunit/Extensions/Database/UI/IMediumPrinter.php����@bW����}�0�������'���dbunit/Extensions/Database/UI/IMode.php����@bW�����d�������.���dbunit/Extensions/Database/UI/IModeFactory.php
-���@bW
-�������������6���dbunit/Extensions/Database/UI/InvalidModeException.php���@bW���*,�������.���dbunit/Extensions/Database/UI/Mediums/Text.php�	���@bW�	��o4�a�������-���dbunit/Extensions/Database/UI/ModeFactory.php=
-���@bW=
-���t�=�������5���dbunit/Extensions/Database/UI/Modes/ExportDataSet.php����@bW����X�q�������?���dbunit/Extensions/Database/UI/Modes/ExportDataSet/Arguments.php�
-���@bW�
-���:Y�����������php-invoker/Invoker.php����@bW���w�������� ���php-invoker/TimeoutException.phpp���@bWp��~���������'���phpdocumentor-reflection-common/LICENSE9���@bW9��*2Ȑ�������+���phpdocumentor-reflection-common/Element.php1���@bW1���iUҶ������(���phpdocumentor-reflection-common/File.php7���@bW7���3"�������)���phpdocumentor-reflection-common/Fqsen.php����@bW���C���������,���phpdocumentor-reflection-common/Location.phpH���@bWH��?-��������+���phpdocumentor-reflection-common/Project.php���@bW��/H� �������2���phpdocumentor-reflection-common/ProjectFactory.php���@bW��Q�"ܶ������)���phpdocumentor-reflection-docblock/LICENSE8���@bW8����ʶ������.���phpdocumentor-reflection-docblock/DocBlock.php����@bW����/呶������:���phpdocumentor-reflection-docblock/DocBlock/Description.php�
���@bW�
������������A���phpdocumentor-reflection-docblock/DocBlock/DescriptionFactory.php0���@bW0���MD�������<���phpdocumentor-reflection-docblock/DocBlock/ExampleFinder.php����@bW�����+�������9���phpdocumentor-reflection-docblock/DocBlock/Serializer.php7���@bW7���@]D�������A���phpdocumentor-reflection-docblock/DocBlock/StandardTagFactory.phpx-���@bWx-���,K�������2���phpdocumentor-reflection-docblock/DocBlock/Tag.phpu���@bWu��⹰�������9���phpdocumentor-reflection-docblock/DocBlock/TagFactory.php���@bW��P;Ͷ������:���phpdocumentor-reflection-docblock/DocBlock/Tags/Author.php�	���@bW�	���tc�������;���phpdocumentor-reflection-docblock/DocBlock/Tags/BaseTag.php����@bW���X�
-c�������:���phpdocumentor-reflection-docblock/DocBlock/Tags/Covers.phpJ���@bWJ���XL�������>���phpdocumentor-reflection-docblock/DocBlock/Tags/Deprecated.php	
-���@bW	
-��B�w$�������;���phpdocumentor-reflection-docblock/DocBlock/Tags/Example.phpQ���@bWQ����������H���phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/StaticMethod.php����@bW����2i��������D���phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/Strategy.php����@bW�����R�������=���phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter.php����@bW���Dy7�������R���phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter/PassthroughFormatter.php%���@bW%��I`��������;���phpdocumentor-reflection-docblock/DocBlock/Tags/Generic.phpX
-���@bWX
-��D� �������8���phpdocumentor-reflection-docblock/DocBlock/Tags/Link.phpN���@bWN��V���������:���phpdocumentor-reflection-docblock/DocBlock/Tags/Method.phpd���@bWd��iY&�������9���phpdocumentor-reflection-docblock/DocBlock/Tags/Param.php{���@bW{���v�O�������<���phpdocumentor-reflection-docblock/DocBlock/Tags/Property.php����@bW���T��̶������@���phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyRead.php����@bW����ѝݶ������A���phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyWrite.php����@bW������������;���phpdocumentor-reflection-docblock/DocBlock/Tags/Return_.php����@bW���•�R�������7���phpdocumentor-reflection-docblock/DocBlock/Tags/See.phpd���@bWd����O�������9���phpdocumentor-reflection-docblock/DocBlock/Tags/Since.php�	���@bW�	���P�������:���phpdocumentor-reflection-docblock/DocBlock/Tags/Source.phpm���@bWm���d%�������:���phpdocumentor-reflection-docblock/DocBlock/Tags/Throws.php����@bW����Ȉض������8���phpdocumentor-reflection-docblock/DocBlock/Tags/Uses.phpP���@bWP��T,��������8���phpdocumentor-reflection-docblock/DocBlock/Tags/Var_.php����@bW����L&�������;���phpdocumentor-reflection-docblock/DocBlock/Tags/Version.php�	���@bW�	��d�8�������5���phpdocumentor-reflection-docblock/DocBlockFactory.php�$���@bW�$��Jl�2�������>���phpdocumentor-reflection-docblock/DocBlockFactoryInterface.php!���@bW!����}�������#���phpdocumentor-type-resolver/LICENSE8���@bW8����ʶ������-���phpdocumentor-type-resolver/FqsenResolver.php����@bW���]Y��������$���phpdocumentor-type-resolver/Type.php����@bW�����[L�������,���phpdocumentor-type-resolver/TypeResolver.php�"���@bW�"��W.�������,���phpdocumentor-type-resolver/Types/Array_.phpN���@bWN��]ɤv�������-���phpdocumentor-type-resolver/Types/Boolean.php����@bW����f��������/���phpdocumentor-type-resolver/Types/Callable_.php����@bW���4ɿ�������.���phpdocumentor-type-resolver/Types/Compound.php
���@bW
��kd4b�������-���phpdocumentor-type-resolver/Types/Context.php]���@bW]���X�������4���phpdocumentor-type-resolver/Types/ContextFactory.php����@bW�����;�������,���phpdocumentor-type-resolver/Types/Float_.php����@bW����w,�������-���phpdocumentor-type-resolver/Types/Integer.php����@bW���"s��������+���phpdocumentor-type-resolver/Types/Mixed.php����@bW�����Z�������+���phpdocumentor-type-resolver/Types/Null_.php����@bW���@�%��������-���phpdocumentor-type-resolver/Types/Object_.phpk���@bWk�����������.���phpdocumentor-type-resolver/Types/Resource.php����@bW�����/�������,���phpdocumentor-type-resolver/Types/Scalar.php���@bW��U����������+���phpdocumentor-type-resolver/Types/Self_.php���@bW����9'�������-���phpdocumentor-type-resolver/Types/Static_.phpU���@bWU���ޟ�������-���phpdocumentor-type-resolver/Types/String_.php����@bW������������*���phpdocumentor-type-resolver/Types/This.php����@bW����h²�������+���phpdocumentor-type-resolver/Types/Void_.phpW���@bWW����ֶ���������phpspec-prophecy/LICENSE}���@bW}����6�������&���phpspec-prophecy/Prophecy/Argument.php����@bW���AT�������8���phpspec-prophecy/Prophecy/Argument/ArgumentsWildcard.php4	���@bW4	��A;K2�������:���phpspec-prophecy/Prophecy/Argument/Token/AnyValueToken.php����@bW���F�h�������;���phpspec-prophecy/Prophecy/Argument/Token/AnyValuesToken.php����@bW����bN/�������B���phpspec-prophecy/Prophecy/Argument/Token/ApproximateValueToken.php����@bW���#I��������<���phpspec-prophecy/Prophecy/Argument/Token/ArrayCountToken.php����@bW����4�̶������<���phpspec-prophecy/Prophecy/Argument/Token/ArrayEntryToken.php����@bW����J�:�������A���phpspec-prophecy/Prophecy/Argument/Token/ArrayEveryEntryToken.php����@bW���pb���������:���phpspec-prophecy/Prophecy/Argument/Token/CallbackToken.php,���@bW,��cR�̶������<���phpspec-prophecy/Prophecy/Argument/Token/ExactValueToken.php����@bW�����3��������@���phpspec-prophecy/Prophecy/Argument/Token/IdenticalValueToken.php����@bW��������������<���phpspec-prophecy/Prophecy/Argument/Token/LogicalAndToken.php����@bW��� N�v�������<���phpspec-prophecy/Prophecy/Argument/Token/LogicalNotToken.php���@bW����r�������=���phpspec-prophecy/Prophecy/Argument/Token/ObjectStateToken.php9
-���@bW9
-��_�Jg�������@���phpspec-prophecy/Prophecy/Argument/Token/StringContainsToken.php����@bW������>�������;���phpspec-prophecy/Prophecy/Argument/Token/TokenInterface.php����@bW���ٰ���������6���phpspec-prophecy/Prophecy/Argument/Token/TypeToken.php����@bW����n�\�������'���phpspec-prophecy/Prophecy/Call/Call.php�	���@bW�	��{:�%�������-���phpspec-prophecy/Prophecy/Call/CallCenter.php����@bW����|��������:���phpspec-prophecy/Prophecy/Comparator/ClosureComparator.phpK���@bWK��)RQ�������0���phpspec-prophecy/Prophecy/Comparator/Factory.php����@bW���ֈi��������;���phpspec-prophecy/Prophecy/Comparator/ProphecyComparator.phps���@bWs����hǶ������3���phpspec-prophecy/Prophecy/Doubler/CachedDoubler.php����@bW���̇g�������D���phpspec-prophecy/Prophecy/Doubler/ClassPatch/ClassPatchInterface.phpl���@bWl��)�5:�������H���phpspec-prophecy/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php����@bW���:0`�������C���phpspec-prophecy/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php����@bW���x��^�������=���phpspec-prophecy/Prophecy/Doubler/ClassPatch/KeywordPatch.php����@bW����/@ȶ������?���phpspec-prophecy/Prophecy/Doubler/ClassPatch/MagicCallPatch.php����@bW�����|��������E���phpspec-prophecy/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php�
-���@bW�
-���n�i�������P���phpspec-prophecy/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.phpp���@bWp��x����������A���phpspec-prophecy/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.phpQ
-���@bWQ
-����[��������A���phpspec-prophecy/Prophecy/Doubler/ClassPatch/TraversablePatch.php	���@bW	����jN�������5���phpspec-prophecy/Prophecy/Doubler/DoubleInterface.php����@bW���8d�j�������-���phpspec-prophecy/Prophecy/Doubler/Doubler.php����@bW���8]�^�������B���phpspec-prophecy/Prophecy/Doubler/Generator/ClassCodeGenerator.php7
���@bW7
���О��������<���phpspec-prophecy/Prophecy/Doubler/Generator/ClassCreator.php����@bW����?Br�������;���phpspec-prophecy/Prophecy/Doubler/Generator/ClassMirror.php����@bW���Օ�c�������A���phpspec-prophecy/Prophecy/Doubler/Generator/Node/ArgumentNode.php����@bW����>�X�������>���phpspec-prophecy/Prophecy/Doubler/Generator/Node/ClassNode.phpI���@bWI���)Uݶ������?���phpspec-prophecy/Prophecy/Doubler/Generator/Node/MethodNode.php����@bW���'�׶������C���phpspec-prophecy/Prophecy/Doubler/Generator/ReflectionInterface.php����@bW�������������0���phpspec-prophecy/Prophecy/Doubler/LazyDouble.phpF
���@bWF
����l��������3���phpspec-prophecy/Prophecy/Doubler/NameGenerator.php����@bW�����7�������D���phpspec-prophecy/Prophecy/Exception/Call/UnexpectedCallException.php����@bW������������E���phpspec-prophecy/Prophecy/Exception/Doubler/ClassCreatorException.php����@bW���77/%�������D���phpspec-prophecy/Prophecy/Exception/Doubler/ClassMirrorException.php����@bW���ۉ?�������F���phpspec-prophecy/Prophecy/Exception/Doubler/ClassNotFoundException.php����@bW���h+������?���phpspec-prophecy/Prophecy/Exception/Doubler/DoubleException.php����@bW���z�F��������@���phpspec-prophecy/Prophecy/Exception/Doubler/DoublerException.php����@bW����Z^�������J���phpspec-prophecy/Prophecy/Exception/Doubler/InterfaceNotFoundException.php����@bW��������������L���phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotExtendableException.phpD���@bWD���p��������G���phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotFoundException.php����@bW���i�h�������J���phpspec-prophecy/Prophecy/Exception/Doubler/ReturnByReferenceException.php����@bW������������1���phpspec-prophecy/Prophecy/Exception/Exception.php+���@bW+������������@���phpspec-prophecy/Prophecy/Exception/InvalidArgumentException.php����@bW����g��������E���phpspec-prophecy/Prophecy/Exception/Prediction/AggregateException.php����@bW���?D<ζ������L���phpspec-prophecy/Prophecy/Exception/Prediction/FailedPredictionException.phpJ���@bWJ��~��D�������C���phpspec-prophecy/Prophecy/Exception/Prediction/NoCallsException.php����@bW����l<��������F���phpspec-prophecy/Prophecy/Exception/Prediction/PredictionException.php����@bW���2T�Ѷ������P���phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php���@bW���	ƶ������K���phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsException.php,���@bW,�����a�������H���phpspec-prophecy/Prophecy/Exception/Prophecy/MethodProphecyException.php)���@bW)��F��4�������H���phpspec-prophecy/Prophecy/Exception/Prophecy/ObjectProphecyException.php���@bW���:�F�������B���phpspec-prophecy/Prophecy/Exception/Prophecy/ProphecyException.php����@bW�����$϶������I���phpspec-prophecy/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.phpx���@bWx��rЬ�������=���phpspec-prophecy/Prophecy/PhpDocumentor/ClassTagRetriever.phpD���@bWD��d9�϶������C���phpspec-prophecy/Prophecy/PhpDocumentor/LegacyClassTagRetriever.phpo���@bWo��u9��������G���phpspec-prophecy/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php����@bW����;��������7���phpspec-prophecy/Prophecy/Prediction/CallPrediction.phpQ	���@bWQ	��I��������<���phpspec-prophecy/Prophecy/Prediction/CallTimesPrediction.php����@bW���X���������;���phpspec-prophecy/Prophecy/Prediction/CallbackPrediction.php����@bW���Vb{ζ������:���phpspec-prophecy/Prophecy/Prediction/NoCallsPrediction.php����@bW���L9%�������<���phpspec-prophecy/Prophecy/Prediction/PredictionInterface.php����@bW���`IE�������5���phpspec-prophecy/Prophecy/Promise/CallbackPromise.php����@bW���[���������6���phpspec-prophecy/Prophecy/Promise/PromiseInterface.phpK���@bWK������������;���phpspec-prophecy/Prophecy/Promise/ReturnArgumentPromise.php'���@bW'���(���������3���phpspec-prophecy/Prophecy/Promise/ReturnPromise.php���@bW���؏�������2���phpspec-prophecy/Prophecy/Promise/ThrowPromise.php`
-���@bW`
-��+��,�������5���phpspec-prophecy/Prophecy/Prophecy/MethodProphecy.php�,���@bW�,���?�������5���phpspec-prophecy/Prophecy/Prophecy/ObjectProphecy.php����@bW����5D�������8���phpspec-prophecy/Prophecy/Prophecy/ProphecyInterface.php,���@bW,���W�������?���phpspec-prophecy/Prophecy/Prophecy/ProphecySubjectInterface.php����@bW���i��������/���phpspec-prophecy/Prophecy/Prophecy/Revealer.php����@bW���j�ɸ�������8���phpspec-prophecy/Prophecy/Prophecy/RevealerInterface.phpH���@bWH���gZ��������%���phpspec-prophecy/Prophecy/Prophet.php���@bW���vq��������-���phpspec-prophecy/Prophecy/Util/ExportUtil.php2���@bW2���W��������-���phpspec-prophecy/Prophecy/Util/StringUtil.php�	���@bW�	��%�����������myclabs-deep-copy/LICENSE5���@bW5��ʭ˄�������'���myclabs-deep-copy/DeepCopy/DeepCopy.php+���@bW+���Q	��������7���myclabs-deep-copy/DeepCopy/Exception/CloneException.php`����@bW`���.ڝ��������G���myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php����@bW����xkж������L���myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.phpe���@bWe��+�ֶ������,���myclabs-deep-copy/DeepCopy/Filter/Filter.phpS���@bWS��ks�k�������0���myclabs-deep-copy/DeepCopy/Filter/KeepFilter.php�����@bW�����ߝ��������3���myclabs-deep-copy/DeepCopy/Filter/ReplaceFilter.php���@bW��̎|��������3���myclabs-deep-copy/DeepCopy/Filter/SetNullFilter.php����@bW����M䧶������.���myclabs-deep-copy/DeepCopy/Matcher/Matcher.php�����@bW����(�(��������6���myclabs-deep-copy/DeepCopy/Matcher/PropertyMatcher.php����@bW���u�օ�������:���myclabs-deep-copy/DeepCopy/Matcher/PropertyNameMatcher.php����@bW���y㻞�������:���myclabs-deep-copy/DeepCopy/Matcher/PropertyTypeMatcher.php����@bW���o����������:���myclabs-deep-copy/DeepCopy/Reflection/ReflectionHelper.php���@bW��&ԋ�������7���myclabs-deep-copy/DeepCopy/TypeFilter/ReplaceFilter.php����@bW����;If�������;���myclabs-deep-copy/DeepCopy/TypeFilter/ShallowCopyFilter.php�����@bW����ت���������4���myclabs-deep-copy/DeepCopy/TypeFilter/TypeFilter.php�����@bW����9�4�������6���myclabs-deep-copy/DeepCopy/TypeMatcher/TypeMatcher.php����@bW���ʨ������������webmozart-assert/LICENSE<���@bW<��t�}�����������webmozart-assert/Assert.php�l���@bW�l����=����������phpunit/Exception.phps���@bWs��y:�۶������%���phpunit/Extensions/GroupTestSuite.php����@bW���0����������#���phpunit/Extensions/PhptTestCase.php�.���@bW�.������������$���phpunit/Extensions/PhptTestSuite.php���@bW��	��ܶ������#���phpunit/Extensions/RepeatedTest.php����@bW�������������$���phpunit/Extensions/TestDecorator.php@	���@bW@	����9�������%���phpunit/Extensions/TicketListener.php"���@bW"��]N�������)���phpunit/ForwardCompatibility/TestCase.phpZ���@bWZ���9�����������phpunit/Framework/Assert.php�[��@bW�[�H��1�������&���phpunit/Framework/Assert/Functions.php�����@bW�����i���������*���phpunit/Framework/AssertionFailedError.php{���@bW{��+���������&���phpunit/Framework/BaseTestListener.php����@bW���_03�������+���phpunit/Framework/CodeCoverageException.phpq���@bWq��E���������� ���phpunit/Framework/Constraint.php9���@bW9��z}��������$���phpunit/Framework/Constraint/And.php+���@bW+��\����������,���phpunit/Framework/Constraint/ArrayHasKey.php����@bW���V���������,���phpunit/Framework/Constraint/ArraySubset.phpI���@bWI���c��������*���phpunit/Framework/Constraint/Attribute.php�	���@bW�	��l���������)���phpunit/Framework/Constraint/Callback.php3���@bW3������������2���phpunit/Framework/Constraint/ClassHasAttribute.php����@bW����b�������8���phpunit/Framework/Constraint/ClassHasStaticAttribute.php����@bW�����-��������*���phpunit/Framework/Constraint/Composite.php����@bW����4~)�������&���phpunit/Framework/Constraint/Count.php�	���@bW�	��u���������*���phpunit/Framework/Constraint/Exception.php����@bW����+��������.���phpunit/Framework/Constraint/ExceptionCode.php[���@bW[�����������1���phpunit/Framework/Constraint/ExceptionMessage.phpC���@bWC�������������7���phpunit/Framework/Constraint/ExceptionMessageRegExp.php`���@bW`����0}�������+���phpunit/Framework/Constraint/FileExists.php����@bW���+�2�������,���phpunit/Framework/Constraint/GreaterThan.php����@bW����O�R�������+���phpunit/Framework/Constraint/IsAnything.phpo���@bWo��*�KT�������(���phpunit/Framework/Constraint/IsEmpty.php&���@bW&�����v�������(���phpunit/Framework/Constraint/IsEqual.php!���@bW!��	(Q�������(���phpunit/Framework/Constraint/IsFalse.phpu���@bWu��ֻ�	�������)���phpunit/Framework/Constraint/IsFinite.php~���@bW~��@h�.�������,���phpunit/Framework/Constraint/IsIdentical.php����@bW���Fy�;�������+���phpunit/Framework/Constraint/IsInfinite.php����@bW�������������-���phpunit/Framework/Constraint/IsInstanceOf.php����@bW�����`Ѷ������'���phpunit/Framework/Constraint/IsJson.php5���@bW5��C7�F�������&���phpunit/Framework/Constraint/IsNan.phpr���@bWr����}��������'���phpunit/Framework/Constraint/IsNull.phpq���@bWq���^�`�������'���phpunit/Framework/Constraint/IsTrue.phpq���@bWq��*%���������'���phpunit/Framework/Constraint/IsType.phpo
���@bWo
��F&�{�������,���phpunit/Framework/Constraint/JsonMatches.php ���@bW ����Ҷ������A���phpunit/Framework/Constraint/JsonMatches/ErrorMessageProvider.php����@bW���d˜��������)���phpunit/Framework/Constraint/LessThan.php����@bW���4�w϶������$���phpunit/Framework/Constraint/Not.php����@bW���+�,�������3���phpunit/Framework/Constraint/ObjectHasAttribute.php����@bW�����/�������#���phpunit/Framework/Constraint/Or.php[���@bW[��N?�G�������*���phpunit/Framework/Constraint/PCREMatch.php����@bW��������������)���phpunit/Framework/Constraint/SameSize.phpS���@bWS��/#�S�������/���phpunit/Framework/Constraint/StringContains.php2���@bW2���]�.�������/���phpunit/Framework/Constraint/StringEndsWith.php����@bW���v�>g�������.���phpunit/Framework/Constraint/StringMatches.php	���@bW	���;R-�������1���phpunit/Framework/Constraint/StringStartsWith.php����@bW�����[�������4���phpunit/Framework/Constraint/TraversableContains.php�
���@bW�
��:Z5׶������8���phpunit/Framework/Constraint/TraversableContainsOnly.php�	���@bW�	��g|s�������$���phpunit/Framework/Constraint/Xor.php����@bW����{����������phpunit/Framework/Error.php$���@bW$��X%yW�������&���phpunit/Framework/Error/Deprecated.phpF���@bWF����V�������"���phpunit/Framework/Error/Notice.php0���@bW0���I���������#���phpunit/Framework/Error/Warning.php3���@bW3��mO������������phpunit/Framework/Exception.php	���@bW	���~b��������&���phpunit/Framework/ExceptionWrapper.php����@bW������������0���phpunit/Framework/ExpectationFailedException.php����@bW���_S�;�������$���phpunit/Framework/IncompleteTest.php����@bW����J�������(���phpunit/Framework/IncompleteTestCase.php5���@bW5��.�S��������)���phpunit/Framework/IncompleteTestError.php���@bW��Ht��������2���phpunit/Framework/InvalidCoversTargetException.php����@bW���%M��������!���phpunit/Framework/OutputError.php����@bW���j�̶������G���phpunit/Framework/PHPUnit_Framework_CoveredCodeNotExecutedException.php���@bW���ϡǶ������H���phpunit/Framework/PHPUnit_Framework_MissingCoversAnnotationException.php���@bW����ö���������phpunit/Framework/RiskyTest.php����@bW����\�������$���phpunit/Framework/RiskyTestError.php���@bW��?�v�������$���phpunit/Framework/SelfDescribing.php���@bW��:�|�������!���phpunit/Framework/SkippedTest.php����@bW����_ $�������%���phpunit/Framework/SkippedTestCase.php����@bW���`�u�������&���phpunit/Framework/SkippedTestError.php	���@bW	���T�������+���phpunit/Framework/SkippedTestSuiteError.php���@bW����7<�������$���phpunit/Framework/SyntheticError.php	���@bW	���K����������phpunit/Framework/Test.php����@bW�����%����������phpunit/Framework/TestCase.php3��@bW3�E����������!���phpunit/Framework/TestFailure.php����@bW���ai�ʶ������"���phpunit/Framework/TestListener.php]���@bW]������������ ���phpunit/Framework/TestResult.php)����@bW)������j����������phpunit/Framework/TestSuite.php�s���@bW�s��Cۖ��������,���phpunit/Framework/TestSuite/DataProvider.php����@bW����<Us�������5���phpunit/Framework/UnintentionallyCoveredCodeError.php���@bW���摢����������phpunit/Framework/Warning.phpp���@bWp��t�d�������%���phpunit/Framework/WarningTestCase.php����@bW���rJ@ö������!���phpunit/Runner/BaseTestRunner.php{���@bW{��DJ�{����������phpunit/Runner/Exception.phpt���@bWt���d���������!���phpunit/Runner/Filter/Factory.php����@bW����ἕ����������phpunit/Runner/Filter/Group.php����@bW���km1��������'���phpunit/Runner/Filter/Group/Exclude.php����@bW�����PF�������'���phpunit/Runner/Filter/Group/Include.php����@bW���Ve����������phpunit/Runner/Filter/Test.php���@bW��a���������*���phpunit/Runner/StandardTestSuiteLoader.php�
���@bW�
�����	�������"���phpunit/Runner/TestSuiteLoader.php����@bW���������������phpunit/Runner/Version.php����@bW����/7�����������phpunit/TextUI/Command.phph����@bWh����4Զ������ ���phpunit/TextUI/ResultPrinter.phphI���@bWhI��|銶���������phpunit/TextUI/TestRunner.php����@bW���ݬ�{����������phpunit/Util/Blacklist.php�
���@bW�
���YW����������phpunit/Util/Configuration.phpX����@bWX�����K�������'���phpunit/Util/ConfigurationGenerator.php|���@bW|���0������������phpunit/Util/ErrorHandler.php}
���@bW}
��*��z����������phpunit/Util/Fileloader.php����@bW������>����������phpunit/Util/Filesystem.php����@bW�����{����������phpunit/Util/Filter.php����@bW���i�����������phpunit/Util/Getopt.php����@bW����������������phpunit/Util/GlobalState.php%���@bW%���ޫ�������&���phpunit/Util/InvalidArgumentHelper.phpS���@bWS��(Qϩ����������phpunit/Util/Log/JSON.phpa���@bWa���L�x����������phpunit/Util/Log/JUnit.php�3���@bW�3����蒶���������phpunit/Util/Log/TAP.php����@bW������?����������phpunit/Util/Log/TeamCity.php�+���@bW�+��H�uֶ���������phpunit/Util/PHP.phpi)���@bWi)����U:����������phpunit/Util/PHP/Default.phpa���@bWa��r��?�������1���phpunit/Util/PHP/Template/TestCaseMethod.tpl.dist�
-���@bW�
-���S������������phpunit/Util/PHP/Windows.php$���@bW$��5�1I����������phpunit/Util/PHP/eval-stdin.php6����@bW6�����G����������phpunit/Util/Printer.phpl���@bWl��4[�����������phpunit/Util/Regex.php����@bW����P�d����������phpunit/Util/String.php���@bW�����d����������phpunit/Util/Test.php�����@bW������"��������'���phpunit/Util/TestDox/NamePrettifier.phpt���@bWt��׊��������&���phpunit/Util/TestDox/ResultPrinter.php�&���@bW�&���X�,�������+���phpunit/Util/TestDox/ResultPrinter/HTML.php-���@bW-���&�޶������+���phpunit/Util/TestDox/ResultPrinter/Text.phpw���@bWw��	;���������*���phpunit/Util/TestDox/ResultPrinter/XML.php����@bW�����i�������"���phpunit/Util/TestSuiteIterator.php����@bW����⍘����������phpunit/Util/Type.php3���@bW3����N����������phpunit/Util/XML.php����@bW���a�¶������phpunit/phpunit: 5.4.6
-doctrine/instantiator: 1.0.5
-myclabs/deep-copy: 1.5.1
-phpdocumentor/reflection-common: 1.0
-phpdocumentor/reflection-docblock: 3.1.0
-phpdocumentor/type-resolver: 0.2
-phpspec/prophecy: v1.6.1
-phpunit/dbunit: 2.0.2
-phpunit/php-code-coverage: 4.0.0
-phpunit/php-file-iterator: 1.4.1
-phpunit/php-invoker: 1.1.4
-phpunit/php-text-template: 1.2.1
-phpunit/php-timer: 1.0.8
-phpunit/php-token-stream: 1.4.8
-phpunit/phpunit-mock-objects: 3.2.3
-sebastian/code-unit-reverse-lookup: 1.0.0
-sebastian/comparator: 1.2.0
-sebastian/diff: 1.4.1
-sebastian/environment: 1.3.7
-sebastian/exporter: 1.2.1
-sebastian/global-state: 1.1.1
-sebastian/object-enumerator: 1.0.0
-sebastian/recursion-context: 1.0.2
-sebastian/resource-operations: 1.0.0
-sebastian/version: 2.0.0
-symfony/yaml: v3.1.1
-webmozart/assert: 1.0.2
------BEGIN CERTIFICATE-----
-MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
-MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
-IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
-MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
-FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
-bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
-dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
-H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
-uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
-mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
-a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
-E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
-WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
-VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
-Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
-cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
-IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
-AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
-YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
-6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
-Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
-c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
-mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
------END CERTIFICATE-----
-PHP_CodeCoverage
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-use SebastianBergmann\CodeCoverage\Driver\Driver;
-use SebastianBergmann\CodeCoverage\Driver\Xdebug;
-use SebastianBergmann\CodeCoverage\Driver\HHVM;
-use SebastianBergmann\CodeCoverage\Driver\PHPDBG;
-use SebastianBergmann\CodeCoverage\Node\Builder;
-use SebastianBergmann\CodeCoverage\Node\Directory;
-use SebastianBergmann\CodeUnitReverseLookup\Wizard;
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Provides collection functionality for PHP code coverage information.
- */
-class CodeCoverage
-{
-    /**
-     * @var Driver
-     */
-    private $driver;
-
-    /**
-     * @var Filter
-     */
-    private $filter;
-
-    /**
-     * @var Wizard
-     */
-    private $wizard;
-
-    /**
-     * @var bool
-     */
-    private $cacheTokens = false;
-
-    /**
-     * @var bool
-     */
-    private $checkForUnintentionallyCoveredCode = false;
-
-    /**
-     * @var bool
-     */
-    private $forceCoversAnnotation = false;
-
-    /**
-     * @var bool
-     */
-    private $checkForUnexecutedCoveredCode = false;
-
-    /**
-     * @var bool
-     */
-    private $checkForMissingCoversAnnotation = false;
-
-    /**
-     * @var bool
-     */
-    private $addUncoveredFilesFromWhitelist = true;
-
-    /**
-     * @var bool
-     */
-    private $processUncoveredFilesFromWhitelist = false;
-
-    /**
-     * @var bool
-     */
-    private $ignoreDeprecatedCode = false;
-
-    /**
-     * @var mixed
-     */
-    private $currentId;
-
-    /**
-     * Code coverage data.
-     *
-     * @var array
-     */
-    private $data = [];
-
-    /**
-     * @var array
-     */
-    private $ignoredLines = [];
-
-    /**
-     * @var bool
-     */
-    private $disableIgnoredLines = false;
-
-    /**
-     * Test data.
-     *
-     * @var array
-     */
-    private $tests = [];
-
-    /**
-     * @var string[]
-     */
-    private $unintentionallyCoveredSubclassesWhitelist = [];
-
-    /**
-     * Determine if the data has been initialized or not
-     *
-     * @var bool
-     */
-    private $isInitialized = false;
-
-    /**
-     * Determine whether we need to check for dead and unused code on each test
-     *
-     * @var bool
-     */
-    private $shouldCheckForDeadAndUnused = true;
-
-    /**
-     * Constructor.
-     *
-     * @param Driver $driver
-     * @param Filter $filter
-     *
-     * @throws RuntimeException
-     */
-    public function __construct(Driver $driver = null, Filter $filter = null)
-    {
-        if ($driver === null) {
-            $driver = $this->selectDriver();
-        }
-
-        if ($filter === null) {
-            $filter = new Filter;
-        }
-
-        $this->driver = $driver;
-        $this->filter = $filter;
-
-        $this->wizard = new Wizard;
-    }
-
-    /**
-     * Returns the code coverage information as a graph of node objects.
-     *
-     * @return Directory
-     */
-    public function getReport()
-    {
-        $builder = new Builder;
-
-        return $builder->build($this);
-    }
-
-    /**
-     * Clears collected code coverage data.
-     */
-    public function clear()
-    {
-        $this->isInitialized = false;
-        $this->currentId     = null;
-        $this->data          = [];
-        $this->tests         = [];
-    }
-
-    /**
-     * Returns the filter object used.
-     *
-     * @return Filter
-     */
-    public function filter()
-    {
-        return $this->filter;
-    }
-
-    /**
-     * Returns the collected code coverage data.
-     * Set $raw = true to bypass all filters.
-     *
-     * @param bool $raw
-     *
-     * @return array
-     */
-    public function getData($raw = false)
-    {
-        if (!$raw && $this->addUncoveredFilesFromWhitelist) {
-            $this->addUncoveredFilesFromWhitelist();
-        }
-
-        return $this->data;
-    }
-
-    /**
-     * Sets the coverage data.
-     *
-     * @param array $data
-     */
-    public function setData(array $data)
-    {
-        $this->data = $data;
-    }
-
-    /**
-     * Returns the test data.
-     *
-     * @return array
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * Sets the test data.
-     *
-     * @param array $tests
-     */
-    public function setTests(array $tests)
-    {
-        $this->tests = $tests;
-    }
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param mixed $id
-     * @param bool  $clear
-     *
-     * @throws InvalidArgumentException
-     */
-    public function start($id, $clear = false)
-    {
-        if (!is_bool($clear)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        if ($clear) {
-            $this->clear();
-        }
-
-        if ($this->isInitialized === false) {
-            $this->initializeData();
-        }
-
-        $this->currentId = $id;
-
-        $this->driver->start($this->shouldCheckForDeadAndUnused);
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @param bool  $append
-     * @param mixed $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @return array
-     *
-     * @throws InvalidArgumentException
-     */
-    public function stop($append = true, $linesToBeCovered = [], array $linesToBeUsed = [])
-    {
-        if (!is_bool($append)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        if (!is_array($linesToBeCovered) && $linesToBeCovered !== false) {
-            throw InvalidArgumentException::create(
-                2,
-                'array or false'
-            );
-        }
-
-        $data = $this->driver->stop();
-        $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed);
-
-        $this->currentId = null;
-
-        return $data;
-    }
-
-    /**
-     * Appends code coverage data.
-     *
-     * @param array $data
-     * @param mixed $id
-     * @param bool  $append
-     * @param mixed $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @throws RuntimeException
-     */
-    public function append(array $data, $id = null, $append = true, $linesToBeCovered = [], array $linesToBeUsed = [])
-    {
-        if ($id === null) {
-            $id = $this->currentId;
-        }
-
-        if ($id === null) {
-            throw new RuntimeException;
-        }
-
-        $this->applyListsFilter($data);
-        $this->applyIgnoredLinesFilter($data);
-        $this->initializeFilesThatAreSeenTheFirstTime($data);
-
-        if (!$append) {
-            return;
-        }
-
-        if ($id != 'UNCOVERED_FILES_FROM_WHITELIST') {
-            $this->applyCoversAnnotationFilter(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        if (empty($data)) {
-            return;
-        }
-
-        $size   = 'unknown';
-        $status = null;
-
-        if ($id instanceof \PHPUnit_Framework_TestCase) {
-            $_size = $id->getSize();
-
-            if ($_size == \PHPUnit_Util_Test::SMALL) {
-                $size = 'small';
-            } elseif ($_size == \PHPUnit_Util_Test::MEDIUM) {
-                $size = 'medium';
-            } elseif ($_size == \PHPUnit_Util_Test::LARGE) {
-                $size = 'large';
-            }
-
-            $status = $id->getStatus();
-            $id     = get_class($id) . '::' . $id->getName();
-        } elseif ($id instanceof \PHPUnit_Extensions_PhptTestCase) {
-            $size = 'large';
-            $id   = $id->getName();
-        }
-
-        $this->tests[$id] = ['size' => $size, 'status' => $status];
-
-        foreach ($data as $file => $lines) {
-            if (!$this->filter->isFile($file)) {
-                continue;
-            }
-
-            foreach ($lines as $k => $v) {
-                if ($v == Driver::LINE_EXECUTED) {
-                    if (empty($this->data[$file][$k]) || !in_array($id, $this->data[$file][$k])) {
-                        $this->data[$file][$k][] = $id;
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Merges the data from another instance.
-     *
-     * @param CodeCoverage $that
-     */
-    public function merge(CodeCoverage $that)
-    {
-        $this->filter->setWhitelistedFiles(
-            array_merge($this->filter->getWhitelistedFiles(), $that->filter()->getWhitelistedFiles())
-        );
-
-        foreach ($that->data as $file => $lines) {
-            if (!isset($this->data[$file])) {
-                if (!$this->filter->isFiltered($file)) {
-                    $this->data[$file] = $lines;
-                }
-
-                continue;
-            }
-
-            foreach ($lines as $line => $data) {
-                if ($data !== null) {
-                    if (!isset($this->data[$file][$line])) {
-                        $this->data[$file][$line] = $data;
-                    } else {
-                        $this->data[$file][$line] = array_unique(
-                            array_merge($this->data[$file][$line], $data)
-                        );
-                    }
-                }
-            }
-        }
-
-        $this->tests = array_merge($this->tests, $that->getTests());
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setCacheTokens($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->cacheTokens = $flag;
-    }
-
-    /**
-     * @return bool
-     */
-    public function getCacheTokens()
-    {
-        return $this->cacheTokens;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setCheckForUnintentionallyCoveredCode($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->checkForUnintentionallyCoveredCode = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setForceCoversAnnotation($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->forceCoversAnnotation = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setCheckForMissingCoversAnnotation($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->checkForMissingCoversAnnotation = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setCheckForUnexecutedCoveredCode($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->checkForUnexecutedCoveredCode = $flag;
-    }
-
-    /**
-     * @deprecated
-     *
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setMapTestClassNameToCoveredClassName($flag)
-    {
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setAddUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->addUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setProcessUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->processUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setDisableIgnoredLines($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->disableIgnoredLines = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws InvalidArgumentException
-     */
-    public function setIgnoreDeprecatedCode($flag)
-    {
-        if (!is_bool($flag)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->ignoreDeprecatedCode = $flag;
-    }
-
-    /**
-     * @param array $whitelist
-     */
-    public function setUnintentionallyCoveredSubclassesWhitelist(array $whitelist)
-    {
-        $this->unintentionallyCoveredSubclassesWhitelist = $whitelist;
-    }
-
-    /**
-     * Applies the @covers annotation filtering.
-     *
-     * @param array $data
-     * @param mixed $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @throws MissingCoversAnnotationException
-     * @throws UnintentionallyCoveredCodeException
-     */
-    private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed)
-    {
-        if ($linesToBeCovered === false ||
-            ($this->forceCoversAnnotation && empty($linesToBeCovered))) {
-            if ($this->checkForMissingCoversAnnotation) {
-                throw new MissingCoversAnnotationException;
-            }
-
-            $data = [];
-
-            return;
-        }
-
-        if (empty($linesToBeCovered)) {
-            return;
-        }
-
-        if ($this->checkForUnintentionallyCoveredCode) {
-            $this->performUnintentionallyCoveredCodeCheck(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        if ($this->checkForUnexecutedCoveredCode) {
-            $this->performUnexecutedCoveredCodeCheck($data, $linesToBeCovered, $linesToBeUsed);
-        }
-
-        $data = array_intersect_key($data, $linesToBeCovered);
-
-        foreach (array_keys($data) as $filename) {
-            $_linesToBeCovered = array_flip($linesToBeCovered[$filename]);
-
-            $data[$filename] = array_intersect_key(
-                $data[$filename],
-                $_linesToBeCovered
-            );
-        }
-    }
-
-    /**
-     * Applies the whitelist filtering.
-     *
-     * @param array $data
-     */
-    private function applyListsFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if ($this->filter->isFiltered($filename)) {
-                unset($data[$filename]);
-            }
-        }
-    }
-
-    /**
-     * Applies the "ignored lines" filtering.
-     *
-     * @param array $data
-     */
-    private function applyIgnoredLinesFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if (!$this->filter->isFile($filename)) {
-                continue;
-            }
-
-            foreach ($this->getLinesToBeIgnored($filename) as $line) {
-                unset($data[$filename][$line]);
-            }
-        }
-    }
-
-    /**
-     * @param array $data
-     */
-    private function initializeFilesThatAreSeenTheFirstTime(array $data)
-    {
-        foreach ($data as $file => $lines) {
-            if ($this->filter->isFile($file) && !isset($this->data[$file])) {
-                $this->data[$file] = [];
-
-                foreach ($lines as $k => $v) {
-                    $this->data[$file][$k] = $v == -2 ? null : [];
-                }
-            }
-        }
-    }
-
-    /**
-     * Processes whitelisted files that are not covered.
-     */
-    private function addUncoveredFilesFromWhitelist()
-    {
-        $data           = [];
-        $uncoveredFiles = array_diff(
-            $this->filter->getWhitelist(),
-            array_keys($this->data)
-        );
-
-        foreach ($uncoveredFiles as $uncoveredFile) {
-            if (!file_exists($uncoveredFile)) {
-                continue;
-            }
-
-            if (!$this->processUncoveredFilesFromWhitelist) {
-                $data[$uncoveredFile] = [];
-
-                $lines = count(file($uncoveredFile));
-
-                for ($i = 1; $i <= $lines; $i++) {
-                    $data[$uncoveredFile][$i] = Driver::LINE_NOT_EXECUTED;
-                }
-            }
-        }
-
-        $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST');
-    }
-
-    /**
-     * Returns the lines of a source file that should be ignored.
-     *
-     * @param string $filename
-     *
-     * @return array
-     *
-     * @throws InvalidArgumentException
-     */
-    private function getLinesToBeIgnored($filename)
-    {
-        if (!is_string($filename)) {
-            throw InvalidArgumentException::create(
-                1,
-                'string'
-            );
-        }
-
-        if (!isset($this->ignoredLines[$filename])) {
-            $this->ignoredLines[$filename] = [];
-
-            if ($this->disableIgnoredLines) {
-                return $this->ignoredLines[$filename];
-            }
-
-            $ignore   = false;
-            $stop     = false;
-            $lines    = file($filename);
-            $numLines = count($lines);
-
-            foreach ($lines as $index => $line) {
-                if (!trim($line)) {
-                    $this->ignoredLines[$filename][] = $index + 1;
-                }
-            }
-
-            if ($this->cacheTokens) {
-                $tokens = \PHP_Token_Stream_CachingFactory::get($filename);
-            } else {
-                $tokens = new \PHP_Token_Stream($filename);
-            }
-
-            $classes = array_merge($tokens->getClasses(), $tokens->getTraits());
-            $tokens  = $tokens->tokens();
-
-            foreach ($tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_COMMENT':
-                    case 'PHP_Token_DOC_COMMENT':
-                        $_token = trim($token);
-                        $_line  = trim($lines[$token->getLine() - 1]);
-
-                        if ($_token == '// @codeCoverageIgnore' ||
-                            $_token == '//@codeCoverageIgnore') {
-                            $ignore = true;
-                            $stop   = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreStart' ||
-                            $_token == '//@codeCoverageIgnoreStart') {
-                            $ignore = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreEnd' ||
-                            $_token == '//@codeCoverageIgnoreEnd') {
-                            $stop = true;
-                        }
-
-                        if (!$ignore) {
-                            $start = $token->getLine();
-                            $end   = $start + substr_count($token, "\n");
-
-                            // Do not ignore the first line when there is a token
-                            // before the comment
-                            if (0 !== strpos($_token, $_line)) {
-                                $start++;
-                            }
-
-                            for ($i = $start; $i < $end; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-
-                            // A DOC_COMMENT token or a COMMENT token starting with "/*"
-                            // does not contain the final \n character in its text
-                            if (isset($lines[$i-1]) && 0 === strpos($_token, '/*') && '*/' === substr(trim($lines[$i-1]), -2)) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_INTERFACE':
-                    case 'PHP_Token_TRAIT':
-                    case 'PHP_Token_CLASS':
-                    case 'PHP_Token_FUNCTION':
-                        /* @var \PHP_Token_Interface $token */
-
-                        $docblock = $token->getDocblock();
-
-                        $this->ignoredLines[$filename][] = $token->getLine();
-
-                        if (strpos($docblock, '@codeCoverageIgnore') || ($this->ignoreDeprecatedCode && strpos($docblock, '@deprecated'))) {
-                            $endLine = $token->getEndLine();
-
-                            for ($i = $token->getLine(); $i <= $endLine; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        } elseif ($token instanceof \PHP_Token_INTERFACE ||
-                            $token instanceof \PHP_Token_TRAIT ||
-                            $token instanceof \PHP_Token_CLASS) {
-                            if (empty($classes[$token->getName()]['methods'])) {
-                                for ($i = $token->getLine();
-                                     $i <= $token->getEndLine();
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            } else {
-                                $firstMethod = array_shift(
-                                    $classes[$token->getName()]['methods']
-                                );
-
-                                do {
-                                    $lastMethod = array_pop(
-                                        $classes[$token->getName()]['methods']
-                                    );
-                                } while ($lastMethod !== null &&
-                                    substr($lastMethod['signature'], 0, 18) == 'anonymous function');
-
-                                if ($lastMethod === null) {
-                                    $lastMethod = $firstMethod;
-                                }
-
-                                for ($i = $token->getLine();
-                                     $i < $firstMethod['startLine'];
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-
-                                for ($i = $token->getEndLine();
-                                     $i > $lastMethod['endLine'];
-                                     $i--) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_NAMESPACE':
-                        $this->ignoredLines[$filename][] = $token->getEndLine();
-
-                    // Intentional fallthrough
-                    case 'PHP_Token_DECLARE':
-                    case 'PHP_Token_OPEN_TAG':
-                    case 'PHP_Token_CLOSE_TAG':
-                    case 'PHP_Token_USE':
-                        $this->ignoredLines[$filename][] = $token->getLine();
-                        break;
-                }
-
-                if ($ignore) {
-                    $this->ignoredLines[$filename][] = $token->getLine();
-
-                    if ($stop) {
-                        $ignore = false;
-                        $stop   = false;
-                    }
-                }
-            }
-
-            $this->ignoredLines[$filename][] = $numLines + 1;
-
-            $this->ignoredLines[$filename] = array_unique(
-                $this->ignoredLines[$filename]
-            );
-
-            sort($this->ignoredLines[$filename]);
-        }
-
-        return $this->ignoredLines[$filename];
-    }
-
-    /**
-     * @param array $data
-     * @param array $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @throws UnintentionallyCoveredCodeException
-     */
-    private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = $this->getAllowedLines(
-            $linesToBeCovered,
-            $linesToBeUsed
-        );
-
-        $unintentionallyCoveredUnits = [];
-
-        foreach ($data as $file => $_data) {
-            foreach ($_data as $line => $flag) {
-                if ($flag == 1 && !isset($allowedLines[$file][$line])) {
-                    $unintentionallyCoveredUnits[] = $this->wizard->lookup($file, $line);
-                }
-            }
-        }
-
-        $unintentionallyCoveredUnits = $this->processUnintentionallyCoveredUnits($unintentionallyCoveredUnits);
-
-        if (!empty($unintentionallyCoveredUnits)) {
-            throw new UnintentionallyCoveredCodeException(
-                $unintentionallyCoveredUnits
-            );
-        }
-    }
-
-    /**
-     * @param array $data
-     * @param array $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @throws CoveredCodeNotExecutedException
-     */
-    private function performUnexecutedCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $expectedLines = $this->getAllowedLines(
-            $linesToBeCovered,
-            $linesToBeUsed
-        );
-
-        foreach ($data as $file => $_data) {
-            foreach (array_keys($_data) as $line) {
-                if (!isset($expectedLines[$file][$line])) {
-                    continue;
-                }
-
-                unset($expectedLines[$file][$line]);
-            }
-        }
-
-        $message = '';
-
-        foreach ($expectedLines as $file => $lines) {
-            if (empty($lines)) {
-                continue;
-            }
-
-            foreach (array_keys($lines) as $line) {
-                $message .= sprintf('- %s:%d' . PHP_EOL, $file, $line);
-            }
-        }
-
-        if (!empty($message)) {
-            throw new CoveredCodeNotExecutedException($message);
-        }
-    }
-
-    /**
-     * @param array $linesToBeCovered
-     * @param array $linesToBeUsed
-     *
-     * @return array
-     */
-    private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = [];
-
-        foreach (array_keys($linesToBeCovered) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = [];
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeCovered[$file]
-            );
-        }
-
-        foreach (array_keys($linesToBeUsed) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = [];
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeUsed[$file]
-            );
-        }
-
-        foreach (array_keys($allowedLines) as $file) {
-            $allowedLines[$file] = array_flip(
-                array_unique($allowedLines[$file])
-            );
-        }
-
-        return $allowedLines;
-    }
-
-    /**
-     * @return Driver
-     *
-     * @throws RuntimeException
-     */
-    private function selectDriver()
-    {
-        $runtime = new Runtime;
-
-        if (!$runtime->canCollectCodeCoverage()) {
-            throw new RuntimeException('No code coverage driver available');
-        }
-
-        if ($runtime->isHHVM()) {
-            return new HHVM;
-        } elseif ($runtime->isPHPDBG()) {
-            return new PHPDBG;
-        } else {
-            return new Xdebug;
-        }
-    }
-
-    /**
-     * @param array $unintentionallyCoveredUnits
-     *
-     * @return array
-     */
-    private function processUnintentionallyCoveredUnits(array $unintentionallyCoveredUnits)
-    {
-        $unintentionallyCoveredUnits = array_unique($unintentionallyCoveredUnits);
-        sort($unintentionallyCoveredUnits);
-
-        foreach (array_keys($unintentionallyCoveredUnits) as $k => $v) {
-            $unit = explode('::', $unintentionallyCoveredUnits[$k]);
-
-            if (count($unit) != 2) {
-                continue;
-            }
-
-            $class = new \ReflectionClass($unit[0]);
-
-            foreach ($this->unintentionallyCoveredSubclassesWhitelist as $whitelisted) {
-                if ($class->isSubclassOf($whitelisted)) {
-                    unset($unintentionallyCoveredUnits[$k]);
-                    break;
-                }
-            }
-        }
-
-        return array_values($unintentionallyCoveredUnits);
-    }
-
-    /**
-     * If we are processing uncovered files from whitelist,
-     * we can initialize the data before we start to speed up the tests
-     */
-    protected function initializeData()
-    {
-        $this->isInitialized = true;
-
-        if ($this->processUncoveredFilesFromWhitelist) {
-            $this->shouldCheckForDeadAndUnused = false;
-
-            $this->driver->start(true);
-
-            foreach ($this->filter->getWhitelist() as $file) {
-                if ($this->filter->isFile($file)) {
-                    include_once($file);
-                }
-            }
-
-            $data     = [];
-            $coverage = $this->driver->stop();
-
-            foreach ($coverage as $file => $fileCoverage) {
-                if ($this->filter->isFiltered($file)) {
-                    continue;
-                }
-
-                foreach (array_keys($fileCoverage) as $key) {
-                    if ($fileCoverage[$key] == Driver::LINE_EXECUTED) {
-                        $fileCoverage[$key] = Driver::LINE_NOT_EXECUTED;
-                    }
-                }
-
-                $data[$file] = $fileCoverage;
-            }
-
-            $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST');
-        }
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Driver;
-
-/**
- * Interface for code coverage drivers.
- */
-interface Driver
-{
-    /**
-     * @var int
-     *
-     * @see http://xdebug.org/docs/code_coverage
-     */
-    const LINE_EXECUTED = 1;
-
-    /**
-     * @var int
-     *
-     * @see http://xdebug.org/docs/code_coverage
-     */
-    const LINE_NOT_EXECUTED = -1;
-
-    /**
-     * @var int
-     *
-     * @see http://xdebug.org/docs/code_coverage
-     */
-    const LINE_NOT_EXECUTABLE = -2;
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param bool $determineUnusedAndDead
-     */
-    public function start($determineUnusedAndDead = true);
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop();
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Driver;
-
-/**
- * Driver for HHVM's code coverage functionality.
- *
- * @codeCoverageIgnore
- */
-class HHVM extends Xdebug
-{
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param bool $determineUnusedAndDead
-     */
-    public function start($determineUnusedAndDead = true)
-    {
-        xdebug_start_code_coverage();
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Driver;
-
-use SebastianBergmann\CodeCoverage\RuntimeException;
-
-/**
- * Driver for PHPDBG's code coverage functionality.
- *
- * @codeCoverageIgnore
- */
-class PHPDBG implements Driver
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        if (PHP_SAPI !== 'phpdbg') {
-            throw new RuntimeException(
-                'This driver requires the PHPDBG SAPI'
-            );
-        }
-
-        if (!function_exists('phpdbg_start_oplog')) {
-            throw new RuntimeException(
-                'This build of PHPDBG does not support code coverage'
-            );
-        }
-    }
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param bool $determineUnusedAndDead
-     */
-    public function start($determineUnusedAndDead = true)
-    {
-        phpdbg_start_oplog();
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop()
-    {
-        static $fetchedLines = [];
-
-        $dbgData = phpdbg_end_oplog();
-
-        if ($fetchedLines == []) {
-            $sourceLines = phpdbg_get_executable();
-        } else {
-            $newFiles = array_diff(
-                get_included_files(),
-                array_keys($fetchedLines)
-            );
-
-            if ($newFiles) {
-                $sourceLines = phpdbg_get_executable(
-                    ['files' => $newFiles]
-                );
-            } else {
-                $sourceLines = [];
-            }
-        }
-
-        foreach ($sourceLines as $file => $lines) {
-            foreach ($lines as $lineNo => $numExecuted) {
-                $sourceLines[$file][$lineNo] = self::LINE_NOT_EXECUTED;
-            }
-        }
-
-        $fetchedLines = array_merge($fetchedLines, $sourceLines);
-
-        return $this->detectExecutedLines($fetchedLines, $dbgData);
-    }
-
-    /**
-     * Convert phpdbg based data into the format CodeCoverage expects
-     *
-     * @param array $sourceLines
-     * @param array $dbgData
-     *
-     * @return array
-     */
-    private function detectExecutedLines(array $sourceLines, array $dbgData)
-    {
-        foreach ($dbgData as $file => $coveredLines) {
-            foreach ($coveredLines as $lineNo => $numExecuted) {
-                // phpdbg also reports $lineNo=0 when e.g. exceptions get thrown.
-                // make sure we only mark lines executed which are actually executable.
-                if (isset($sourceLines[$file][$lineNo])) {
-                    $sourceLines[$file][$lineNo] = self::LINE_EXECUTED;
-                }
-            }
-        }
-
-        return $sourceLines;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Driver;
-
-use SebastianBergmann\CodeCoverage\RuntimeException;
-
-/**
- * Driver for Xdebug's code coverage functionality.
- *
- * @codeCoverageIgnore
- */
-class Xdebug implements Driver
-{
-    /**
-     * Cache the number of lines for each file
-     *
-     * @var array
-     */
-    private $cacheNumLines = [];
-
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        if (!extension_loaded('xdebug')) {
-            throw new RuntimeException('This driver requires Xdebug');
-        }
-
-        if (version_compare(phpversion('xdebug'), '2.2.1', '>=') &&
-            !ini_get('xdebug.coverage_enable')) {
-            throw new RuntimeException(
-                'xdebug.coverage_enable=On has to be set in php.ini'
-            );
-        }
-    }
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param bool $determineUnusedAndDead
-     */
-    public function start($determineUnusedAndDead = true)
-    {
-        if ($determineUnusedAndDead) {
-            xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
-        } else {
-            xdebug_start_code_coverage();
-        }
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @return array
-     */
-    public function stop()
-    {
-        $data = xdebug_get_code_coverage();
-        xdebug_stop_code_coverage();
-
-        return $this->cleanup($data);
-    }
-
-    /**
-     * @param array $data
-     *
-     * @return array
-     */
-    private function cleanup(array $data)
-    {
-        foreach (array_keys($data) as $file) {
-            unset($data[$file][0]);
-
-            if (strpos($file, 'xdebug://debug-eval') !== 0 && file_exists($file)) {
-                $numLines = $this->getNumberOfLinesInFile($file);
-
-                foreach (array_keys($data[$file]) as $line) {
-                    if ($line > $numLines) {
-                        unset($data[$file][$line]);
-                    }
-                }
-            }
-        }
-
-        return $data;
-    }
-
-    /**
-     * @param string $file
-     *
-     * @return int
-     */
-    private function getNumberOfLinesInFile($file)
-    {
-        if (!isset($this->cacheNumLines[$file])) {
-            $buffer = file_get_contents($file);
-            $lines  = substr_count($buffer, "\n");
-
-            if (substr($buffer, -1) !== "\n") {
-                $lines++;
-            }
-
-            $this->cacheNumLines[$file] = $lines;
-        }
-
-        return $this->cacheNumLines[$file];
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Exception that is raised when covered code is not executed.
- */
-class CoveredCodeNotExecutedException extends RuntimeException
-{
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Exception interface for php-code-coverage component.
- */
-interface Exception
-{
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-    /**
-     * @param int    $argument
-     * @param string $type
-     * @param mixed  $value
-     *
-     * @return InvalidArgumentException
-     */
-    public static function create($argument, $type, $value = null)
-    {
-        $stack = debug_backtrace(0);
-
-        return new self(
-            sprintf(
-                'Argument #%d%sof %s::%s() must be a %s',
-                $argument,
-                $value !== null ? ' (' . gettype($value) . '#' . $value . ')' : ' (No Value) ',
-                $stack[1]['class'],
-                $stack[1]['function'],
-                $type
-            )
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Exception that is raised when @covers must be used but is not.
- */
-class MissingCoversAnnotationException extends RuntimeException
-{
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-class RuntimeException extends \RuntimeException implements Exception
-{
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Exception that is raised when code is unintentionally covered.
- */
-class UnintentionallyCoveredCodeException extends RuntimeException
-{
-    /**
-     * @var array
-     */
-    private $unintentionallyCoveredUnits = [];
-
-    /**
-     * @param array $unintentionallyCoveredUnits
-     */
-    public function __construct(array $unintentionallyCoveredUnits)
-    {
-        $this->unintentionallyCoveredUnits = $unintentionallyCoveredUnits;
-
-        parent::__construct($this->toString());
-    }
-
-    /**
-     * @return array
-     */
-    public function getUnintentionallyCoveredUnits()
-    {
-        return $this->unintentionallyCoveredUnits;
-    }
-
-    /**
-     * @return string
-     */
-    private function toString()
-    {
-        $message = '';
-
-        foreach ($this->unintentionallyCoveredUnits as $unit) {
-            $message .= '- ' . $unit . "\n";
-        }
-
-        return $message;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Filter for whitelisting of code coverage information.
- */
-class Filter
-{
-    /**
-     * Source files that are whitelisted.
-     *
-     * @var array
-     */
-    private $whitelistedFiles = [];
-
-    /**
-     * Adds a directory to the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new \File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Adds a file to the whitelist.
-     *
-     * @param string $filename
-     */
-    public function addFileToWhitelist($filename)
-    {
-        $this->whitelistedFiles[realpath($filename)] = true;
-    }
-
-    /**
-     * Adds files to the whitelist.
-     *
-     * @param array $files
-     */
-    public function addFilesToWhitelist(array $files)
-    {
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a directory from the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new \File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->removeFileFromWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a file from the whitelist.
-     *
-     * @param string $filename
-     */
-    public function removeFileFromWhitelist($filename)
-    {
-        $filename = realpath($filename);
-
-        unset($this->whitelistedFiles[$filename]);
-    }
-
-    /**
-     * Checks whether a filename is a real filename.
-     *
-     * @param string $filename
-     *
-     * @return bool
-     */
-    public function isFile($filename)
-    {
-        if ($filename == '-' ||
-            strpos($filename, 'vfs://') === 0 ||
-            strpos($filename, 'xdebug://debug-eval') !== false ||
-            strpos($filename, 'eval()\'d code') !== false ||
-            strpos($filename, 'runtime-created function') !== false ||
-            strpos($filename, 'runkit created function') !== false ||
-            strpos($filename, 'assert code') !== false ||
-            strpos($filename, 'regexp code') !== false) {
-            return false;
-        }
-
-        return file_exists($filename);
-    }
-
-    /**
-     * Checks whether or not a file is filtered.
-     *
-     * @param string $filename
-     *
-     * @return bool
-     */
-    public function isFiltered($filename)
-    {
-        if (!$this->isFile($filename)) {
-            return true;
-        }
-
-        $filename = realpath($filename);
-
-        return !isset($this->whitelistedFiles[$filename]);
-    }
-
-    /**
-     * Returns the list of whitelisted files.
-     *
-     * @return array
-     */
-    public function getWhitelist()
-    {
-        return array_keys($this->whitelistedFiles);
-    }
-
-    /**
-     * Returns whether this filter has a whitelist.
-     *
-     * @return bool
-     */
-    public function hasWhitelist()
-    {
-        return !empty($this->whitelistedFiles);
-    }
-
-    /**
-     * Returns the whitelisted files.
-     *
-     * @return array
-     */
-    public function getWhitelistedFiles()
-    {
-        return $this->whitelistedFiles;
-    }
-
-    /**
-     * Sets the whitelisted files.
-     *
-     * @param array $whitelistedFiles
-     */
-    public function setWhitelistedFiles($whitelistedFiles)
-    {
-        $this->whitelistedFiles = $whitelistedFiles;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Node;
-
-use SebastianBergmann\CodeCoverage\Util;
-
-/**
- * Base class for nodes in the code coverage information tree.
- */
-abstract class AbstractNode implements \Countable
-{
-    /**
-     * @var string
-     */
-    private $name;
-
-    /**
-     * @var string
-     */
-    private $path;
-
-    /**
-     * @var array
-     */
-    private $pathArray;
-
-    /**
-     * @var AbstractNode
-     */
-    private $parent;
-
-    /**
-     * @var string
-     */
-    private $id;
-
-    /**
-     * Constructor.
-     *
-     * @param string       $name
-     * @param AbstractNode $parent
-     */
-    public function __construct($name, AbstractNode $parent = null)
-    {
-        if (substr($name, -1) == '/') {
-            $name = substr($name, 0, -1);
-        }
-
-        $this->name   = $name;
-        $this->parent = $parent;
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * @return string
-     */
-    public function getId()
-    {
-        if ($this->id === null) {
-            $parent = $this->getParent();
-
-            if ($parent === null) {
-                $this->id = 'index';
-            } else {
-                $parentId = $parent->getId();
-
-                if ($parentId == 'index') {
-                    $this->id = str_replace(':', '_', $this->name);
-                } else {
-                    $this->id = $parentId . '/' . $this->name;
-                }
-            }
-        }
-
-        return $this->id;
-    }
-
-    /**
-     * @return string
-     */
-    public function getPath()
-    {
-        if ($this->path === null) {
-            if ($this->parent === null || $this->parent->getPath() === null || $this->parent->getPath() === false) {
-                $this->path = $this->name;
-            } else {
-                $this->path = $this->parent->getPath() . '/' . $this->name;
-            }
-        }
-
-        return $this->path;
-    }
-
-    /**
-     * @return array
-     */
-    public function getPathAsArray()
-    {
-        if ($this->pathArray === null) {
-            if ($this->parent === null) {
-                $this->pathArray = [];
-            } else {
-                $this->pathArray = $this->parent->getPathAsArray();
-            }
-
-            $this->pathArray[] = $this;
-        }
-
-        return $this->pathArray;
-    }
-
-    /**
-     * @return AbstractNode
-     */
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    /**
-     * Returns the percentage of classes that has been tested.
-     *
-     * @param bool $asString
-     *
-     * @return int
-     */
-    public function getTestedClassesPercent($asString = true)
-    {
-        return Util::percent(
-            $this->getNumTestedClasses(),
-            $this->getNumClasses(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of traits that has been tested.
-     *
-     * @param bool $asString
-     *
-     * @return int
-     */
-    public function getTestedTraitsPercent($asString = true)
-    {
-        return Util::percent(
-            $this->getNumTestedTraits(),
-            $this->getNumTraits(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of traits that has been tested.
-     *
-     * @param bool $asString
-     *
-     * @return int
-     */
-    public function getTestedClassesAndTraitsPercent($asString = true)
-    {
-        return Util::percent(
-            $this->getNumTestedClassesAndTraits(),
-            $this->getNumClassesAndTraits(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of methods that has been tested.
-     *
-     * @param bool $asString
-     *
-     * @return int
-     */
-    public function getTestedMethodsPercent($asString = true)
-    {
-        return Util::percent(
-            $this->getNumTestedMethods(),
-            $this->getNumMethods(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the percentage of executed lines.
-     *
-     * @param bool $asString
-     *
-     * @return int
-     */
-    public function getLineExecutedPercent($asString = true)
-    {
-        return Util::percent(
-            $this->getNumExecutedLines(),
-            $this->getNumExecutableLines(),
-            $asString
-        );
-    }
-
-    /**
-     * Returns the number of classes and traits.
-     *
-     * @return int
-     */
-    public function getNumClassesAndTraits()
-    {
-        return $this->getNumClasses() + $this->getNumTraits();
-    }
-
-    /**
-     * Returns the number of tested classes and traits.
-     *
-     * @return int
-     */
-    public function getNumTestedClassesAndTraits()
-    {
-        return $this->getNumTestedClasses() + $this->getNumTestedTraits();
-    }
-
-    /**
-     * Returns the classes and traits of this node.
-     *
-     * @return array
-     */
-    public function getClassesAndTraits()
-    {
-        return array_merge($this->getClasses(), $this->getTraits());
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    abstract public function getClasses();
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    abstract public function getTraits();
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    abstract public function getFunctions();
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    abstract public function getLinesOfCode();
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return int
-     */
-    abstract public function getNumExecutableLines();
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return int
-     */
-    abstract public function getNumExecutedLines();
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return int
-     */
-    abstract public function getNumClasses();
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return int
-     */
-    abstract public function getNumTestedClasses();
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return int
-     */
-    abstract public function getNumTraits();
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return int
-     */
-    abstract public function getNumTestedTraits();
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return int
-     */
-    abstract public function getNumMethods();
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return int
-     */
-    abstract public function getNumTestedMethods();
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return int
-     */
-    abstract public function getNumFunctions();
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return int
-     */
-    abstract public function getNumTestedFunctions();
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Node;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-
-class Builder
-{
-    /**
-     * @param CodeCoverage $coverage
-     *
-     * @return Directory
-     */
-    public function build(CodeCoverage $coverage)
-    {
-        $files      = $coverage->getData();
-        $commonPath = $this->reducePaths($files);
-        $root       = new Directory(
-            $commonPath,
-            null
-        );
-
-        $this->addItems(
-            $root,
-            $this->buildDirectoryStructure($files),
-            $coverage->getTests(),
-            $coverage->getCacheTokens()
-        );
-
-        return $root;
-    }
-
-    /**
-     * @param Directory $root
-     * @param array     $items
-     * @param array     $tests
-     * @param bool      $cacheTokens
-     */
-    private function addItems(Directory $root, array $items, array $tests, $cacheTokens)
-    {
-        foreach ($items as $key => $value) {
-            if (substr($key, -2) == '/f') {
-                $key = substr($key, 0, -2);
-
-                if (file_exists($root->getPath() . DIRECTORY_SEPARATOR . $key)) {
-                    $root->addFile($key, $value, $tests, $cacheTokens);
-                }
-            } else {
-                $child = $root->addDirectory($key);
-                $this->addItems($child, $value, $tests, $cacheTokens);
-            }
-        }
-    }
-
-    /**
-     * Builds an array representation of the directory structure.
-     *
-     * For instance,
-     *
-     * <code>
-     * Array
-     * (
-     *     [Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * is transformed into
-     *
-     * <code>
-     * Array
-     * (
-     *     [.] => Array
-     *         (
-     *             [Money.php] => Array
-     *                 (
-     *                     ...
-     *                 )
-     *
-     *             [MoneyBag.php] => Array
-     *                 (
-     *                     ...
-     *                 )
-     *         )
-     * )
-     * </code>
-     *
-     * @param array $files
-     *
-     * @return array
-     */
-    private function buildDirectoryStructure($files)
-    {
-        $result = [];
-
-        foreach ($files as $path => $file) {
-            $path    = explode('/', $path);
-            $pointer = &$result;
-            $max     = count($path);
-
-            for ($i = 0; $i < $max; $i++) {
-                if ($i == ($max - 1)) {
-                    $type = '/f';
-                } else {
-                    $type = '';
-                }
-
-                $pointer = &$pointer[$path[$i] . $type];
-            }
-
-            $pointer = $file;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Reduces the paths by cutting the longest common start path.
-     *
-     * For instance,
-     *
-     * <code>
-     * Array
-     * (
-     *     [/home/sb/Money/Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [/home/sb/Money/MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * is reduced to
-     *
-     * <code>
-     * Array
-     * (
-     *     [Money.php] => Array
-     *         (
-     *             ...
-     *         )
-     *
-     *     [MoneyBag.php] => Array
-     *         (
-     *             ...
-     *         )
-     * )
-     * </code>
-     *
-     * @param array $files
-     *
-     * @return string
-     */
-    private function reducePaths(&$files)
-    {
-        if (empty($files)) {
-            return '.';
-        }
-
-        $commonPath = '';
-        $paths      = array_keys($files);
-
-        if (count($files) == 1) {
-            $commonPath                 = dirname($paths[0]) . '/';
-            $files[basename($paths[0])] = $files[$paths[0]];
-
-            unset($files[$paths[0]]);
-
-            return $commonPath;
-        }
-
-        $max = count($paths);
-
-        for ($i = 0; $i < $max; $i++) {
-            // strip phar:// prefixes
-            if (strpos($paths[$i], 'phar://') === 0) {
-                $paths[$i] = substr($paths[$i], 7);
-                $paths[$i] = strtr($paths[$i], '/', DIRECTORY_SEPARATOR);
-            }
-            $paths[$i] = explode(DIRECTORY_SEPARATOR, $paths[$i]);
-
-            if (empty($paths[$i][0])) {
-                $paths[$i][0] = DIRECTORY_SEPARATOR;
-            }
-        }
-
-        $done = false;
-        $max  = count($paths);
-
-        while (!$done) {
-            for ($i = 0; $i < $max - 1; $i++) {
-                if (!isset($paths[$i][0]) ||
-                    !isset($paths[$i+1][0]) ||
-                    $paths[$i][0] != $paths[$i+1][0]) {
-                    $done = true;
-                    break;
-                }
-            }
-
-            if (!$done) {
-                $commonPath .= $paths[0][0];
-
-                if ($paths[0][0] != DIRECTORY_SEPARATOR) {
-                    $commonPath .= DIRECTORY_SEPARATOR;
-                }
-
-                for ($i = 0; $i < $max; $i++) {
-                    array_shift($paths[$i]);
-                }
-            }
-        }
-
-        $original = array_keys($files);
-        $max      = count($original);
-
-        for ($i = 0; $i < $max; $i++) {
-            $files[implode('/', $paths[$i])] = $files[$original[$i]];
-            unset($files[$original[$i]]);
-        }
-
-        ksort($files);
-
-        return substr($commonPath, 0, -1);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Node;
-
-use SebastianBergmann\CodeCoverage\InvalidArgumentException;
-
-/**
- * Represents a directory in the code coverage information tree.
- */
-class Directory extends AbstractNode implements \IteratorAggregate
-{
-    /**
-     * @var AbstractNode[]
-     */
-    private $children = [];
-
-    /**
-     * @var Directory[]
-     */
-    private $directories = [];
-
-    /**
-     * @var File[]
-     */
-    private $files = [];
-
-    /**
-     * @var array
-     */
-    private $classes;
-
-    /**
-     * @var array
-     */
-    private $traits;
-
-    /**
-     * @var array
-     */
-    private $functions;
-
-    /**
-     * @var array
-     */
-    private $linesOfCode = null;
-
-    /**
-     * @var int
-     */
-    private $numFiles = -1;
-
-    /**
-     * @var int
-     */
-    private $numExecutableLines = -1;
-
-    /**
-     * @var int
-     */
-    private $numExecutedLines = -1;
-
-    /**
-     * @var int
-     */
-    private $numClasses = -1;
-
-    /**
-     * @var int
-     */
-    private $numTestedClasses = -1;
-
-    /**
-     * @var int
-     */
-    private $numTraits = -1;
-
-    /**
-     * @var int
-     */
-    private $numTestedTraits = -1;
-
-    /**
-     * @var int
-     */
-    private $numMethods = -1;
-
-    /**
-     * @var int
-     */
-    private $numTestedMethods = -1;
-
-    /**
-     * @var int
-     */
-    private $numFunctions = -1;
-
-    /**
-     * @var int
-     */
-    private $numTestedFunctions = -1;
-
-    /**
-     * Returns the number of files in/under this node.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        if ($this->numFiles == -1) {
-            $this->numFiles = 0;
-
-            foreach ($this->children as $child) {
-                $this->numFiles += count($child);
-            }
-        }
-
-        return $this->numFiles;
-    }
-
-    /**
-     * Returns an iterator for this node.
-     *
-     * @return \RecursiveIteratorIterator
-     */
-    public function getIterator()
-    {
-        return new \RecursiveIteratorIterator(
-            new Iterator($this),
-            \RecursiveIteratorIterator::SELF_FIRST
-        );
-    }
-
-    /**
-     * Adds a new directory.
-     *
-     * @param string $name
-     *
-     * @return Directory
-     */
-    public function addDirectory($name)
-    {
-        $directory = new self($name, $this);
-
-        $this->children[]    = $directory;
-        $this->directories[] = &$this->children[count($this->children) - 1];
-
-        return $directory;
-    }
-
-    /**
-     * Adds a new file.
-     *
-     * @param string $name
-     * @param array  $coverageData
-     * @param array  $testData
-     * @param bool   $cacheTokens
-     *
-     * @return File
-     *
-     * @throws InvalidArgumentException
-     */
-    public function addFile($name, array $coverageData, array $testData, $cacheTokens)
-    {
-        $file = new File(
-            $name,
-            $this,
-            $coverageData,
-            $testData,
-            $cacheTokens
-        );
-
-        $this->children[] = $file;
-        $this->files[]    = &$this->children[count($this->children) - 1];
-
-        $this->numExecutableLines = -1;
-        $this->numExecutedLines   = -1;
-
-        return $file;
-    }
-
-    /**
-     * Returns the directories in this directory.
-     *
-     * @return array
-     */
-    public function getDirectories()
-    {
-        return $this->directories;
-    }
-
-    /**
-     * Returns the files in this directory.
-     *
-     * @return array
-     */
-    public function getFiles()
-    {
-        return $this->files;
-    }
-
-    /**
-     * Returns the child nodes of this node.
-     *
-     * @return array
-     */
-    public function getChildNodes()
-    {
-        return $this->children;
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    public function getClasses()
-    {
-        if ($this->classes === null) {
-            $this->classes = [];
-
-            foreach ($this->children as $child) {
-                $this->classes = array_merge(
-                    $this->classes,
-                    $child->getClasses()
-                );
-            }
-        }
-
-        return $this->classes;
-    }
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    public function getTraits()
-    {
-        if ($this->traits === null) {
-            $this->traits = [];
-
-            foreach ($this->children as $child) {
-                $this->traits = array_merge(
-                    $this->traits,
-                    $child->getTraits()
-                );
-            }
-        }
-
-        return $this->traits;
-    }
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    public function getFunctions()
-    {
-        if ($this->functions === null) {
-            $this->functions = [];
-
-            foreach ($this->children as $child) {
-                $this->functions = array_merge(
-                    $this->functions,
-                    $child->getFunctions()
-                );
-            }
-        }
-
-        return $this->functions;
-    }
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        if ($this->linesOfCode === null) {
-            $this->linesOfCode = ['loc' => 0, 'cloc' => 0, 'ncloc' => 0];
-
-            foreach ($this->children as $child) {
-                $linesOfCode = $child->getLinesOfCode();
-
-                $this->linesOfCode['loc']   += $linesOfCode['loc'];
-                $this->linesOfCode['cloc']  += $linesOfCode['cloc'];
-                $this->linesOfCode['ncloc'] += $linesOfCode['ncloc'];
-            }
-        }
-
-        return $this->linesOfCode;
-    }
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return int
-     */
-    public function getNumExecutableLines()
-    {
-        if ($this->numExecutableLines == -1) {
-            $this->numExecutableLines = 0;
-
-            foreach ($this->children as $child) {
-                $this->numExecutableLines += $child->getNumExecutableLines();
-            }
-        }
-
-        return $this->numExecutableLines;
-    }
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return int
-     */
-    public function getNumExecutedLines()
-    {
-        if ($this->numExecutedLines == -1) {
-            $this->numExecutedLines = 0;
-
-            foreach ($this->children as $child) {
-                $this->numExecutedLines += $child->getNumExecutedLines();
-            }
-        }
-
-        return $this->numExecutedLines;
-    }
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return int
-     */
-    public function getNumClasses()
-    {
-        if ($this->numClasses == -1) {
-            $this->numClasses = 0;
-
-            foreach ($this->children as $child) {
-                $this->numClasses += $child->getNumClasses();
-            }
-        }
-
-        return $this->numClasses;
-    }
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return int
-     */
-    public function getNumTestedClasses()
-    {
-        if ($this->numTestedClasses == -1) {
-            $this->numTestedClasses = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedClasses += $child->getNumTestedClasses();
-            }
-        }
-
-        return $this->numTestedClasses;
-    }
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return int
-     */
-    public function getNumTraits()
-    {
-        if ($this->numTraits == -1) {
-            $this->numTraits = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTraits += $child->getNumTraits();
-            }
-        }
-
-        return $this->numTraits;
-    }
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return int
-     */
-    public function getNumTestedTraits()
-    {
-        if ($this->numTestedTraits == -1) {
-            $this->numTestedTraits = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedTraits += $child->getNumTestedTraits();
-            }
-        }
-
-        return $this->numTestedTraits;
-    }
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return int
-     */
-    public function getNumMethods()
-    {
-        if ($this->numMethods == -1) {
-            $this->numMethods = 0;
-
-            foreach ($this->children as $child) {
-                $this->numMethods += $child->getNumMethods();
-            }
-        }
-
-        return $this->numMethods;
-    }
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return int
-     */
-    public function getNumTestedMethods()
-    {
-        if ($this->numTestedMethods == -1) {
-            $this->numTestedMethods = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedMethods += $child->getNumTestedMethods();
-            }
-        }
-
-        return $this->numTestedMethods;
-    }
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return int
-     */
-    public function getNumFunctions()
-    {
-        if ($this->numFunctions == -1) {
-            $this->numFunctions = 0;
-
-            foreach ($this->children as $child) {
-                $this->numFunctions += $child->getNumFunctions();
-            }
-        }
-
-        return $this->numFunctions;
-    }
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return int
-     */
-    public function getNumTestedFunctions()
-    {
-        if ($this->numTestedFunctions == -1) {
-            $this->numTestedFunctions = 0;
-
-            foreach ($this->children as $child) {
-                $this->numTestedFunctions += $child->getNumTestedFunctions();
-            }
-        }
-
-        return $this->numTestedFunctions;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Node;
-
-use SebastianBergmann\CodeCoverage\InvalidArgumentException;
-
-/**
- * Represents a file in the code coverage information tree.
- */
-class File extends AbstractNode
-{
-    /**
-     * @var array
-     */
-    private $coverageData;
-
-    /**
-     * @var array
-     */
-    private $testData;
-
-    /**
-     * @var int
-     */
-    private $numExecutableLines = 0;
-
-    /**
-     * @var int
-     */
-    private $numExecutedLines = 0;
-
-    /**
-     * @var array
-     */
-    private $classes = [];
-
-    /**
-     * @var array
-     */
-    private $traits = [];
-
-    /**
-     * @var array
-     */
-    private $functions = [];
-
-    /**
-     * @var array
-     */
-    private $linesOfCode = [];
-
-    /**
-     * @var int
-     */
-    private $numTestedTraits = 0;
-
-    /**
-     * @var int
-     */
-    private $numTestedClasses = 0;
-
-    /**
-     * @var int
-     */
-    private $numMethods = null;
-
-    /**
-     * @var int
-     */
-    private $numTestedMethods = null;
-
-    /**
-     * @var int
-     */
-    private $numTestedFunctions = null;
-
-    /**
-     * @var array
-     */
-    private $startLines = [];
-
-    /**
-     * @var array
-     */
-    private $endLines = [];
-
-    /**
-     * @var bool
-     */
-    private $cacheTokens;
-
-    /**
-     * Constructor.
-     *
-     * @param string       $name
-     * @param AbstractNode $parent
-     * @param array        $coverageData
-     * @param array        $testData
-     * @param bool         $cacheTokens
-     *
-     * @throws InvalidArgumentException
-     */
-    public function __construct($name, AbstractNode $parent, array $coverageData, array $testData, $cacheTokens)
-    {
-        if (!is_bool($cacheTokens)) {
-            throw InvalidArgumentException::create(
-                1,
-                'boolean'
-            );
-        }
-
-        parent::__construct($name, $parent);
-
-        $this->coverageData = $coverageData;
-        $this->testData     = $testData;
-        $this->cacheTokens  = $cacheTokens;
-
-        $this->calculateStatistics();
-    }
-
-    /**
-     * Returns the number of files in/under this node.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Returns the code coverage data of this node.
-     *
-     * @return array
-     */
-    public function getCoverageData()
-    {
-        return $this->coverageData;
-    }
-
-    /**
-     * Returns the test data of this node.
-     *
-     * @return array
-     */
-    public function getTestData()
-    {
-        return $this->testData;
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    public function getClasses()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    public function getTraits()
-    {
-        return $this->traits;
-    }
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return int
-     */
-    public function getNumExecutableLines()
-    {
-        return $this->numExecutableLines;
-    }
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return int
-     */
-    public function getNumExecutedLines()
-    {
-        return $this->numExecutedLines;
-    }
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return int
-     */
-    public function getNumClasses()
-    {
-        return count($this->classes);
-    }
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return int
-     */
-    public function getNumTestedClasses()
-    {
-        return $this->numTestedClasses;
-    }
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return int
-     */
-    public function getNumTraits()
-    {
-        return count($this->traits);
-    }
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return int
-     */
-    public function getNumTestedTraits()
-    {
-        return $this->numTestedTraits;
-    }
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return int
-     */
-    public function getNumMethods()
-    {
-        if ($this->numMethods === null) {
-            $this->numMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numMethods;
-    }
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return int
-     */
-    public function getNumTestedMethods()
-    {
-        if ($this->numTestedMethods === null) {
-            $this->numTestedMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numTestedMethods;
-    }
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return int
-     */
-    public function getNumFunctions()
-    {
-        return count($this->functions);
-    }
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return int
-     */
-    public function getNumTestedFunctions()
-    {
-        if ($this->numTestedFunctions === null) {
-            $this->numTestedFunctions = 0;
-
-            foreach ($this->functions as $function) {
-                if ($function['executableLines'] > 0 &&
-                    $function['coverage'] == 100) {
-                    $this->numTestedFunctions++;
-                }
-            }
-        }
-
-        return $this->numTestedFunctions;
-    }
-
-    /**
-     * Calculates coverage statistics for the file.
-     */
-    protected function calculateStatistics()
-    {
-        $classStack = $functionStack = [];
-
-        if ($this->cacheTokens) {
-            $tokens = \PHP_Token_Stream_CachingFactory::get($this->getPath());
-        } else {
-            $tokens = new \PHP_Token_Stream($this->getPath());
-        }
-
-        $this->processClasses($tokens);
-        $this->processTraits($tokens);
-        $this->processFunctions($tokens);
-        $this->linesOfCode = $tokens->getLinesOfCode();
-        unset($tokens);
-
-        for ($lineNumber = 1; $lineNumber <= $this->linesOfCode['loc']; $lineNumber++) {
-            if (isset($this->startLines[$lineNumber])) {
-                // Start line of a class.
-                if (isset($this->startLines[$lineNumber]['className'])) {
-                    if (isset($currentClass)) {
-                        $classStack[] = &$currentClass;
-                    }
-
-                    $currentClass = &$this->startLines[$lineNumber];
-                } // Start line of a trait.
-                elseif (isset($this->startLines[$lineNumber]['traitName'])) {
-                    $currentTrait = &$this->startLines[$lineNumber];
-                } // Start line of a method.
-                elseif (isset($this->startLines[$lineNumber]['methodName'])) {
-                    $currentMethod = &$this->startLines[$lineNumber];
-                } // Start line of a function.
-                elseif (isset($this->startLines[$lineNumber]['functionName'])) {
-                    if (isset($currentFunction)) {
-                        $functionStack[] = &$currentFunction;
-                    }
-
-                    $currentFunction = &$this->startLines[$lineNumber];
-                }
-            }
-
-            if (isset($this->coverageData[$lineNumber])) {
-                if (isset($currentClass)) {
-                    $currentClass['executableLines']++;
-                }
-
-                if (isset($currentTrait)) {
-                    $currentTrait['executableLines']++;
-                }
-
-                if (isset($currentMethod)) {
-                    $currentMethod['executableLines']++;
-                }
-
-                if (isset($currentFunction)) {
-                    $currentFunction['executableLines']++;
-                }
-
-                $this->numExecutableLines++;
-
-                if (count($this->coverageData[$lineNumber]) > 0) {
-                    if (isset($currentClass)) {
-                        $currentClass['executedLines']++;
-                    }
-
-                    if (isset($currentTrait)) {
-                        $currentTrait['executedLines']++;
-                    }
-
-                    if (isset($currentMethod)) {
-                        $currentMethod['executedLines']++;
-                    }
-
-                    if (isset($currentFunction)) {
-                        $currentFunction['executedLines']++;
-                    }
-
-                    $this->numExecutedLines++;
-                }
-            }
-
-            if (isset($this->endLines[$lineNumber])) {
-                // End line of a class.
-                if (isset($this->endLines[$lineNumber]['className'])) {
-                    unset($currentClass);
-
-                    if ($classStack) {
-                        end($classStack);
-                        $key          = key($classStack);
-                        $currentClass = &$classStack[$key];
-                        unset($classStack[$key]);
-                    }
-                } // End line of a trait.
-                elseif (isset($this->endLines[$lineNumber]['traitName'])) {
-                    unset($currentTrait);
-                } // End line of a method.
-                elseif (isset($this->endLines[$lineNumber]['methodName'])) {
-                    unset($currentMethod);
-                } // End line of a function.
-                elseif (isset($this->endLines[$lineNumber]['functionName'])) {
-                    unset($currentFunction);
-
-                    if ($functionStack) {
-                        end($functionStack);
-                        $key             = key($functionStack);
-                        $currentFunction = &$functionStack[$key];
-                        unset($functionStack[$key]);
-                    }
-                }
-            }
-        }
-
-        foreach ($this->traits as &$trait) {
-            foreach ($trait['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $trait['ccn'] += $method['ccn'];
-            }
-
-            if ($trait['executableLines'] > 0) {
-                $trait['coverage'] = ($trait['executedLines'] /
-                        $trait['executableLines']) * 100;
-            } else {
-                $trait['coverage'] = 100;
-            }
-
-            if ($trait['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $trait['crap'] = $this->crap(
-                $trait['ccn'],
-                $trait['coverage']
-            );
-        }
-
-        foreach ($this->classes as &$class) {
-            foreach ($class['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $class['ccn'] += $method['ccn'];
-            }
-
-            if ($class['executableLines'] > 0) {
-                $class['coverage'] = ($class['executedLines'] /
-                        $class['executableLines']) * 100;
-            } else {
-                $class['coverage'] = 100;
-            }
-
-            if ($class['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $class['crap'] = $this->crap(
-                $class['ccn'],
-                $class['coverage']
-            );
-        }
-    }
-
-    /**
-     * @param \PHP_Token_Stream $tokens
-     */
-    protected function processClasses(\PHP_Token_Stream $tokens)
-    {
-        $classes = $tokens->getClasses();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($classes as $className => $class) {
-            $this->classes[$className] = [
-                'className'       => $className,
-                'methods'         => [],
-                'startLine'       => $class['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $class['package'],
-                'link'            => $link . $class['startLine']
-            ];
-
-            $this->startLines[$class['startLine']] = &$this->classes[$className];
-            $this->endLines[$class['endLine']]     = &$this->classes[$className];
-
-            foreach ($class['methods'] as $methodName => $method) {
-                $this->classes[$className]['methods'][$methodName] = $this->newMethod($methodName, $method, $link);
-
-                $this->startLines[$method['startLine']] = &$this->classes[$className]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->classes[$className]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param \PHP_Token_Stream $tokens
-     */
-    protected function processTraits(\PHP_Token_Stream $tokens)
-    {
-        $traits = $tokens->getTraits();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($traits as $traitName => $trait) {
-            $this->traits[$traitName] = [
-                'traitName'       => $traitName,
-                'methods'         => [],
-                'startLine'       => $trait['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $trait['package'],
-                'link'            => $link . $trait['startLine']
-            ];
-
-            $this->startLines[$trait['startLine']] = &$this->traits[$traitName];
-            $this->endLines[$trait['endLine']]     = &$this->traits[$traitName];
-
-            foreach ($trait['methods'] as $methodName => $method) {
-                $this->traits[$traitName]['methods'][$methodName] = $this->newMethod($methodName, $method, $link);
-
-                $this->startLines[$method['startLine']] = &$this->traits[$traitName]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->traits[$traitName]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param \PHP_Token_Stream $tokens
-     */
-    protected function processFunctions(\PHP_Token_Stream $tokens)
-    {
-        $functions = $tokens->getFunctions();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($functions as $functionName => $function) {
-            $this->functions[$functionName] = [
-                'functionName'    => $functionName,
-                'signature'       => $function['signature'],
-                'startLine'       => $function['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => $function['ccn'],
-                'coverage'        => 0,
-                'crap'            => 0,
-                'link'            => $link . $function['startLine']
-            ];
-
-            $this->startLines[$function['startLine']] = &$this->functions[$functionName];
-            $this->endLines[$function['endLine']]     = &$this->functions[$functionName];
-        }
-    }
-
-    /**
-     * Calculates the Change Risk Anti-Patterns (CRAP) index for a unit of code
-     * based on its cyclomatic complexity and percentage of code coverage.
-     *
-     * @param int   $ccn
-     * @param float $coverage
-     *
-     * @return string
-     */
-    protected function crap($ccn, $coverage)
-    {
-        if ($coverage == 0) {
-            return (string) (pow($ccn, 2) + $ccn);
-        }
-
-        if ($coverage >= 95) {
-            return (string) $ccn;
-        }
-
-        return sprintf(
-            '%01.2F',
-            pow($ccn, 2) * pow(1 - $coverage/100, 3) + $ccn
-        );
-    }
-
-    /**
-     * @param string $methodName
-     * @param array  $method
-     * @param string $link
-     *
-     * @return array
-     */
-    private function newMethod($methodName, array $method, $link)
-    {
-        return [
-            'methodName'      => $methodName,
-            'visibility'      => $method['visibility'],
-            'signature'       => $method['signature'],
-            'startLine'       => $method['startLine'],
-            'endLine'         => $method['endLine'],
-            'executableLines' => 0,
-            'executedLines'   => 0,
-            'ccn'             => $method['ccn'],
-            'coverage'        => 0,
-            'crap'            => 0,
-            'link'            => $link . $method['startLine'],
-        ];
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Node;
-
-/**
- * Recursive iterator for node object graphs.
- */
-class Iterator implements \RecursiveIterator
-{
-    /**
-     * @var int
-     */
-    private $position;
-
-    /**
-     * @var AbstractNode[]
-     */
-    private $nodes;
-
-    /**
-     * @param Directory $node
-     */
-    public function __construct(Directory $node)
-    {
-        $this->nodes = $node->getChildNodes();
-    }
-
-    /**
-     * Rewinds the Iterator to the first element.
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * Checks if there is a current element after calls to rewind() or next().
-     *
-     * @return bool
-     */
-    public function valid()
-    {
-        return $this->position < count($this->nodes);
-    }
-
-    /**
-     * Returns the key of the current element.
-     *
-     * @return int
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * Returns the current element.
-     *
-     * @return \PHPUnit_Framework_Test
-     */
-    public function current()
-    {
-        return $this->valid() ? $this->nodes[$this->position] : null;
-    }
-
-    /**
-     * Moves forward to next element.
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * Returns the sub iterator for the current element.
-     *
-     * @return Iterator
-     */
-    public function getChildren()
-    {
-        return new self(
-            $this->nodes[$this->position]
-        );
-    }
-
-    /**
-     * Checks whether the current element has children.
-     *
-     * @return bool
-     */
-    public function hasChildren()
-    {
-        return $this->nodes[$this->position] instanceof Directory;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Node\File;
-
-/**
- * Generates a Clover XML logfile from a code coverage object.
- */
-class Clover
-{
-    /**
-     * @param CodeCoverage $coverage
-     * @param string       $target
-     * @param string       $name
-     *
-     * @return string
-     */
-    public function process(CodeCoverage $coverage, $target = null, $name = null)
-    {
-        $xmlDocument               = new \DOMDocument('1.0', 'UTF-8');
-        $xmlDocument->formatOutput = true;
-
-        $xmlCoverage = $xmlDocument->createElement('coverage');
-        $xmlCoverage->setAttribute('generated', (int) $_SERVER['REQUEST_TIME']);
-        $xmlDocument->appendChild($xmlCoverage);
-
-        $xmlProject = $xmlDocument->createElement('project');
-        $xmlProject->setAttribute('timestamp', (int) $_SERVER['REQUEST_TIME']);
-
-        if (is_string($name)) {
-            $xmlProject->setAttribute('name', $name);
-        }
-
-        $xmlCoverage->appendChild($xmlProject);
-
-        $packages = [];
-        $report   = $coverage->getReport();
-        unset($coverage);
-
-        foreach ($report as $item) {
-            if (!$item instanceof File) {
-                continue;
-            }
-
-            /* @var File $item */
-
-            $xmlFile = $xmlDocument->createElement('file');
-            $xmlFile->setAttribute('name', $item->getPath());
-
-            $classes   = $item->getClassesAndTraits();
-            $coverage  = $item->getCoverageData();
-            $lines     = [];
-            $namespace = 'global';
-
-            foreach ($classes as $className => $class) {
-                $classStatements        = 0;
-                $coveredClassStatements = 0;
-                $coveredMethods         = 0;
-                $classMethods           = 0;
-
-                foreach ($class['methods'] as $methodName => $method) {
-                    if ($method['executableLines']  == 0) {
-                        continue;
-                    }
-
-                    $classMethods++;
-                    $classStatements        += $method['executableLines'];
-                    $coveredClassStatements += $method['executedLines'];
-
-                    if ($method['coverage'] == 100) {
-                        $coveredMethods++;
-                    }
-
-                    $methodCount = 0;
-
-                    foreach (range($method['startLine'], $method['endLine']) as $line) {
-                        if (isset($coverage[$line]) && ($coverage[$line] !== null)) {
-                            $methodCount = max($methodCount, count($coverage[$line]));
-                        }
-                    }
-
-                    $lines[$method['startLine']] = [
-                        'ccn'         => $method['ccn'],
-                        'count'       => $methodCount,
-                        'crap'        => $method['crap'],
-                        'type'        => 'method',
-                        'visibility'  => $method['visibility'],
-                        'name'        => $methodName
-                    ];
-                }
-
-                if (!empty($class['package']['namespace'])) {
-                    $namespace = $class['package']['namespace'];
-                }
-
-                $xmlClass = $xmlDocument->createElement('class');
-                $xmlClass->setAttribute('name', $className);
-                $xmlClass->setAttribute('namespace', $namespace);
-
-                if (!empty($class['package']['fullPackage'])) {
-                    $xmlClass->setAttribute(
-                        'fullPackage',
-                        $class['package']['fullPackage']
-                    );
-                }
-
-                if (!empty($class['package']['category'])) {
-                    $xmlClass->setAttribute(
-                        'category',
-                        $class['package']['category']
-                    );
-                }
-
-                if (!empty($class['package']['package'])) {
-                    $xmlClass->setAttribute(
-                        'package',
-                        $class['package']['package']
-                    );
-                }
-
-                if (!empty($class['package']['subpackage'])) {
-                    $xmlClass->setAttribute(
-                        'subpackage',
-                        $class['package']['subpackage']
-                    );
-                }
-
-                $xmlFile->appendChild($xmlClass);
-
-                $xmlMetrics = $xmlDocument->createElement('metrics');
-                $xmlMetrics->setAttribute('complexity', $class['ccn']);
-                $xmlMetrics->setAttribute('methods', $classMethods);
-                $xmlMetrics->setAttribute('coveredmethods', $coveredMethods);
-                $xmlMetrics->setAttribute('conditionals', 0);
-                $xmlMetrics->setAttribute('coveredconditionals', 0);
-                $xmlMetrics->setAttribute('statements', $classStatements);
-                $xmlMetrics->setAttribute('coveredstatements', $coveredClassStatements);
-                $xmlMetrics->setAttribute('elements', $classMethods + $classStatements /* + conditionals */);
-                $xmlMetrics->setAttribute('coveredelements', $coveredMethods + $coveredClassStatements /* + coveredconditionals */);
-                $xmlClass->appendChild($xmlMetrics);
-            }
-
-            foreach ($coverage as $line => $data) {
-                if ($data === null || isset($lines[$line])) {
-                    continue;
-                }
-
-                $lines[$line] = [
-                    'count' => count($data), 'type' => 'stmt'
-                ];
-            }
-
-            ksort($lines);
-
-            foreach ($lines as $line => $data) {
-                $xmlLine = $xmlDocument->createElement('line');
-                $xmlLine->setAttribute('num', $line);
-                $xmlLine->setAttribute('type', $data['type']);
-
-                if (isset($data['name'])) {
-                    $xmlLine->setAttribute('name', $data['name']);
-                }
-
-                if (isset($data['visibility'])) {
-                    $xmlLine->setAttribute('visibility', $data['visibility']);
-                }
-
-                if (isset($data['ccn'])) {
-                    $xmlLine->setAttribute('complexity', $data['ccn']);
-                }
-
-                if (isset($data['crap'])) {
-                    $xmlLine->setAttribute('crap', $data['crap']);
-                }
-
-                $xmlLine->setAttribute('count', $data['count']);
-                $xmlFile->appendChild($xmlLine);
-            }
-
-            $linesOfCode = $item->getLinesOfCode();
-
-            $xmlMetrics = $xmlDocument->createElement('metrics');
-            $xmlMetrics->setAttribute('loc', $linesOfCode['loc']);
-            $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']);
-            $xmlMetrics->setAttribute('classes', $item->getNumClassesAndTraits());
-            $xmlMetrics->setAttribute('methods', $item->getNumMethods());
-            $xmlMetrics->setAttribute('coveredmethods', $item->getNumTestedMethods());
-            $xmlMetrics->setAttribute('conditionals', 0);
-            $xmlMetrics->setAttribute('coveredconditionals', 0);
-            $xmlMetrics->setAttribute('statements', $item->getNumExecutableLines());
-            $xmlMetrics->setAttribute('coveredstatements', $item->getNumExecutedLines());
-            $xmlMetrics->setAttribute('elements', $item->getNumMethods() + $item->getNumExecutableLines() /* + conditionals */);
-            $xmlMetrics->setAttribute('coveredelements', $item->getNumTestedMethods() + $item->getNumExecutedLines() /* + coveredconditionals */);
-            $xmlFile->appendChild($xmlMetrics);
-
-            if ($namespace == 'global') {
-                $xmlProject->appendChild($xmlFile);
-            } else {
-                if (!isset($packages[$namespace])) {
-                    $packages[$namespace] = $xmlDocument->createElement(
-                        'package'
-                    );
-
-                    $packages[$namespace]->setAttribute('name', $namespace);
-                    $xmlProject->appendChild($packages[$namespace]);
-                }
-
-                $packages[$namespace]->appendChild($xmlFile);
-            }
-        }
-
-        $linesOfCode = $report->getLinesOfCode();
-
-        $xmlMetrics = $xmlDocument->createElement('metrics');
-        $xmlMetrics->setAttribute('files', count($report));
-        $xmlMetrics->setAttribute('loc', $linesOfCode['loc']);
-        $xmlMetrics->setAttribute('ncloc', $linesOfCode['ncloc']);
-        $xmlMetrics->setAttribute('classes', $report->getNumClassesAndTraits());
-        $xmlMetrics->setAttribute('methods', $report->getNumMethods());
-        $xmlMetrics->setAttribute('coveredmethods', $report->getNumTestedMethods());
-        $xmlMetrics->setAttribute('conditionals', 0);
-        $xmlMetrics->setAttribute('coveredconditionals', 0);
-        $xmlMetrics->setAttribute('statements', $report->getNumExecutableLines());
-        $xmlMetrics->setAttribute('coveredstatements', $report->getNumExecutedLines());
-        $xmlMetrics->setAttribute('elements', $report->getNumMethods() + $report->getNumExecutableLines() /* + conditionals */);
-        $xmlMetrics->setAttribute('coveredelements', $report->getNumTestedMethods() + $report->getNumExecutedLines() /* + coveredconditionals */);
-        $xmlProject->appendChild($xmlMetrics);
-
-        $buffer = $xmlDocument->saveXML();
-
-        if ($target !== null) {
-            if (!is_dir(dirname($target))) {
-                mkdir(dirname($target), 0777, true);
-            }
-
-            file_put_contents($target, $buffer);
-        }
-
-        return $buffer;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Node\File;
-use SebastianBergmann\CodeCoverage\InvalidArgumentException;
-
-class Crap4j
-{
-    /**
-     * @var int
-     */
-    private $threshold;
-
-    /**
-     * @param int $threshold
-     */
-    public function __construct($threshold = 30)
-    {
-        if (!is_int($threshold)) {
-            throw InvalidArgumentException::create(
-                1,
-                'integer'
-            );
-        }
-
-        $this->threshold = $threshold;
-    }
-
-    /**
-     * @param CodeCoverage $coverage
-     * @param string       $target
-     * @param string       $name
-     *
-     * @return string
-     */
-    public function process(CodeCoverage $coverage, $target = null, $name = null)
-    {
-        $document               = new \DOMDocument('1.0', 'UTF-8');
-        $document->formatOutput = true;
-
-        $root = $document->createElement('crap_result');
-        $document->appendChild($root);
-
-        $project = $document->createElement('project', is_string($name) ? $name : '');
-        $root->appendChild($project);
-        $root->appendChild($document->createElement('timestamp', date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME'])));
-
-        $stats       = $document->createElement('stats');
-        $methodsNode = $document->createElement('methods');
-
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        $fullMethodCount     = 0;
-        $fullCrapMethodCount = 0;
-        $fullCrapLoad        = 0;
-        $fullCrap            = 0;
-
-        foreach ($report as $item) {
-            $namespace = 'global';
-
-            if (!$item instanceof File) {
-                continue;
-            }
-
-            $file = $document->createElement('file');
-            $file->setAttribute('name', $item->getPath());
-
-            $classes = $item->getClassesAndTraits();
-
-            foreach ($classes as $className => $class) {
-                foreach ($class['methods'] as $methodName => $method) {
-                    $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']);
-
-                    $fullCrap     += $method['crap'];
-                    $fullCrapLoad += $crapLoad;
-                    $fullMethodCount++;
-
-                    if ($method['crap'] >= $this->threshold) {
-                        $fullCrapMethodCount++;
-                    }
-
-                    $methodNode = $document->createElement('method');
-
-                    if (!empty($class['package']['namespace'])) {
-                        $namespace = $class['package']['namespace'];
-                    }
-
-                    $methodNode->appendChild($document->createElement('package', $namespace));
-                    $methodNode->appendChild($document->createElement('className', $className));
-                    $methodNode->appendChild($document->createElement('methodName', $methodName));
-                    $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap'])));
-                    $methodNode->appendChild($document->createElement('complexity', $method['ccn']));
-                    $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage'])));
-                    $methodNode->appendChild($document->createElement('crapLoad', round($crapLoad)));
-
-                    $methodsNode->appendChild($methodNode);
-                }
-            }
-        }
-
-        $stats->appendChild($document->createElement('name', 'Method Crap Stats'));
-        $stats->appendChild($document->createElement('methodCount', $fullMethodCount));
-        $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount));
-        $stats->appendChild($document->createElement('crapLoad', round($fullCrapLoad)));
-        $stats->appendChild($document->createElement('totalCrap', $fullCrap));
-
-        if ($fullMethodCount > 0) {
-            $crapMethodPercent = $this->roundValue((100 * $fullCrapMethodCount) / $fullMethodCount);
-        } else {
-            $crapMethodPercent = 0;
-        }
-
-        $stats->appendChild($document->createElement('crapMethodPercent', $crapMethodPercent));
-
-        $root->appendChild($stats);
-        $root->appendChild($methodsNode);
-
-        $buffer = $document->saveXML();
-
-        if ($target !== null) {
-            if (!is_dir(dirname($target))) {
-                mkdir(dirname($target), 0777, true);
-            }
-
-            file_put_contents($target, $buffer);
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param float $crapValue
-     * @param int   $cyclomaticComplexity
-     * @param float $coveragePercent
-     *
-     * @return float
-     */
-    private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent)
-    {
-        $crapLoad = 0;
-
-        if ($crapValue >= $this->threshold) {
-            $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100);
-            $crapLoad += $cyclomaticComplexity / $this->threshold;
-        }
-
-        return $crapLoad;
-    }
-
-    /**
-     * @param float $value
-     *
-     * @return float
-     */
-    private function roundValue($value)
-    {
-        return round($value, 2);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Html;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-
-/**
- * Generates an HTML report from a code coverage object.
- */
-class Facade
-{
-    /**
-     * @var string
-     */
-    private $templatePath;
-
-    /**
-     * @var string
-     */
-    private $generator;
-
-    /**
-     * @var int
-     */
-    private $lowUpperBound;
-
-    /**
-     * @var int
-     */
-    private $highLowerBound;
-
-    /**
-     * Constructor.
-     *
-     * @param int    $lowUpperBound
-     * @param int    $highLowerBound
-     * @param string $generator
-     */
-    public function __construct($lowUpperBound = 50, $highLowerBound = 90, $generator = '')
-    {
-        $this->generator      = $generator;
-        $this->highLowerBound = $highLowerBound;
-        $this->lowUpperBound  = $lowUpperBound;
-        $this->templatePath   = __DIR__ . '/Renderer/Template/';
-    }
-
-    /**
-     * @param CodeCoverage $coverage
-     * @param string       $target
-     */
-    public function process(CodeCoverage $coverage, $target)
-    {
-        $target = $this->getDirectory($target);
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        if (!isset($_SERVER['REQUEST_TIME'])) {
-            $_SERVER['REQUEST_TIME'] = time();
-        }
-
-        $date = date('D M j G:i:s T Y', $_SERVER['REQUEST_TIME']);
-
-        $dashboard = new Dashboard(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $directory = new Directory(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $file = new File(
-            $this->templatePath,
-            $this->generator,
-            $date,
-            $this->lowUpperBound,
-            $this->highLowerBound
-        );
-
-        $directory->render($report, $target . 'index.html');
-        $dashboard->render($report, $target . 'dashboard.html');
-
-        foreach ($report as $node) {
-            $id = $node->getId();
-
-            if ($node instanceof DirectoryNode) {
-                if (!file_exists($target . $id)) {
-                    mkdir($target . $id, 0777, true);
-                }
-
-                $directory->render($node, $target . $id . '/index.html');
-                $dashboard->render($node, $target . $id . '/dashboard.html');
-            } else {
-                $dir = dirname($target . $id);
-
-                if (!file_exists($dir)) {
-                    mkdir($dir, 0777, true);
-                }
-
-                $file->render($node, $target . $id . '.html');
-            }
-        }
-
-        $this->copyFiles($target);
-    }
-
-    /**
-     * @param string $target
-     */
-    private function copyFiles($target)
-    {
-        $dir = $this->getDirectory($target . 'css');
-        copy($this->templatePath . 'css/bootstrap.min.css', $dir . 'bootstrap.min.css');
-        copy($this->templatePath . 'css/nv.d3.min.css', $dir . 'nv.d3.min.css');
-        copy($this->templatePath . 'css/style.css', $dir . 'style.css');
-
-        $dir = $this->getDirectory($target . 'fonts');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.eot', $dir . 'glyphicons-halflings-regular.eot');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.svg', $dir . 'glyphicons-halflings-regular.svg');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.ttf', $dir . 'glyphicons-halflings-regular.ttf');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff', $dir . 'glyphicons-halflings-regular.woff');
-        copy($this->templatePath . 'fonts/glyphicons-halflings-regular.woff2', $dir . 'glyphicons-halflings-regular.woff2');
-
-        $dir = $this->getDirectory($target . 'js');
-        copy($this->templatePath . 'js/bootstrap.min.js', $dir . 'bootstrap.min.js');
-        copy($this->templatePath . 'js/d3.min.js', $dir . 'd3.min.js');
-        copy($this->templatePath . 'js/holder.min.js', $dir . 'holder.min.js');
-        copy($this->templatePath . 'js/html5shiv.min.js', $dir . 'html5shiv.min.js');
-        copy($this->templatePath . 'js/jquery.min.js', $dir . 'jquery.min.js');
-        copy($this->templatePath . 'js/nv.d3.min.js', $dir . 'nv.d3.min.js');
-        copy($this->templatePath . 'js/respond.min.js', $dir . 'respond.min.js');
-    }
-
-    /**
-     * @param string $directory
-     *
-     * @return string
-     *
-     * @throws RuntimeException
-     */
-    private function getDirectory($directory)
-    {
-        if (substr($directory, -1, 1) != DIRECTORY_SEPARATOR) {
-            $directory .= DIRECTORY_SEPARATOR;
-        }
-
-        if (is_dir($directory)) {
-            return $directory;
-        }
-
-        if (@mkdir($directory, 0777, true)) {
-            return $directory;
-        }
-
-        throw new RuntimeException(
-            sprintf(
-                'Directory "%s" does not exist.',
-                $directory
-            )
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Html;
-
-use SebastianBergmann\CodeCoverage\Node\AbstractNode;
-use SebastianBergmann\CodeCoverage\Node\File as FileNode;
-use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-use SebastianBergmann\Environment\Runtime;
-use SebastianBergmann\Version;
-
-/**
- * Base class for node renderers.
- */
-abstract class Renderer
-{
-    /**
-     * @var string
-     */
-    protected $templatePath;
-
-    /**
-     * @var string
-     */
-    protected $generator;
-
-    /**
-     * @var string
-     */
-    protected $date;
-
-    /**
-     * @var int
-     */
-    protected $lowUpperBound;
-
-    /**
-     * @var int
-     */
-    protected $highLowerBound;
-
-    /**
-     * @var string
-     */
-    protected $version;
-
-    /**
-     * Constructor.
-     *
-     * @param string $templatePath
-     * @param string $generator
-     * @param string $date
-     * @param int    $lowUpperBound
-     * @param int    $highLowerBound
-     */
-    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
-    {
-        $version = new Version('4.0.0', dirname(dirname(dirname(dirname(__DIR__)))));
-
-        $this->templatePath   = $templatePath;
-        $this->generator      = $generator;
-        $this->date           = $date;
-        $this->lowUpperBound  = $lowUpperBound;
-        $this->highLowerBound = $highLowerBound;
-        $this->version        = $version->getVersion();
-    }
-
-    /**
-     * @param \Text_Template $template
-     * @param array          $data
-     *
-     * @return string
-     */
-    protected function renderItemTemplate(\Text_Template $template, array $data)
-    {
-        $numSeparator  = '&nbsp;/&nbsp;';
-
-        if (isset($data['numClasses']) && $data['numClasses'] > 0) {
-            $classesLevel = $this->getColorLevel($data['testedClassesPercent']);
-
-            $classesNumber = $data['numTestedClasses'] . $numSeparator .
-                $data['numClasses'];
-
-            $classesBar = $this->getCoverageBar(
-                $data['testedClassesPercent']
-            );
-        } else {
-            $classesLevel  = 'success';
-            $classesNumber = '0' . $numSeparator . '0';
-            $classesBar    = $this->getCoverageBar(100);
-        }
-
-        if ($data['numMethods'] > 0) {
-            $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']);
-
-            $methodsNumber = $data['numTestedMethods'] . $numSeparator .
-                $data['numMethods'];
-
-            $methodsBar = $this->getCoverageBar(
-                $data['testedMethodsPercent']
-            );
-        } else {
-            $methodsLevel                         = 'success';
-            $methodsNumber                        = '0' . $numSeparator . '0';
-            $methodsBar                           = $this->getCoverageBar(100);
-            $data['testedMethodsPercentAsString'] = '100.00%';
-        }
-
-        if ($data['numExecutableLines'] > 0) {
-            $linesLevel = $this->getColorLevel($data['linesExecutedPercent']);
-
-            $linesNumber = $data['numExecutedLines'] . $numSeparator .
-                $data['numExecutableLines'];
-
-            $linesBar = $this->getCoverageBar(
-                $data['linesExecutedPercent']
-            );
-        } else {
-            $linesLevel                           = 'success';
-            $linesNumber                          = '0' . $numSeparator . '0';
-            $linesBar                             = $this->getCoverageBar(100);
-            $data['linesExecutedPercentAsString'] = '100.00%';
-        }
-
-        $template->setVar(
-            [
-                'icon'                   => isset($data['icon']) ? $data['icon'] : '',
-                'crap'                   => isset($data['crap']) ? $data['crap'] : '',
-                'name'                   => $data['name'],
-                'lines_bar'              => $linesBar,
-                'lines_executed_percent' => $data['linesExecutedPercentAsString'],
-                'lines_level'            => $linesLevel,
-                'lines_number'           => $linesNumber,
-                'methods_bar'            => $methodsBar,
-                'methods_tested_percent' => $data['testedMethodsPercentAsString'],
-                'methods_level'          => $methodsLevel,
-                'methods_number'         => $methodsNumber,
-                'classes_bar'            => $classesBar,
-                'classes_tested_percent' => isset($data['testedClassesPercentAsString']) ? $data['testedClassesPercentAsString'] : '',
-                'classes_level'          => $classesLevel,
-                'classes_number'         => $classesNumber
-            ]
-        );
-
-        return $template->render();
-    }
-
-    /**
-     * @param \Text_Template $template
-     * @param AbstractNode   $node
-     */
-    protected function setCommonTemplateVariables(\Text_Template $template, AbstractNode $node)
-    {
-        $template->setVar(
-            [
-                'id'               => $node->getId(),
-                'full_path'        => $node->getPath(),
-                'path_to_root'     => $this->getPathToRoot($node),
-                'breadcrumbs'      => $this->getBreadcrumbs($node),
-                'date'             => $this->date,
-                'version'          => $this->version,
-                'runtime'          => $this->getRuntimeString(),
-                'generator'        => $this->generator,
-                'low_upper_bound'  => $this->lowUpperBound,
-                'high_lower_bound' => $this->highLowerBound
-            ]
-        );
-    }
-
-    protected function getBreadcrumbs(AbstractNode $node)
-    {
-        $breadcrumbs = '';
-        $path        = $node->getPathAsArray();
-        $pathToRoot  = [];
-        $max         = count($path);
-
-        if ($node instanceof FileNode) {
-            $max--;
-        }
-
-        for ($i = 0; $i < $max; $i++) {
-            $pathToRoot[] = str_repeat('../', $i);
-        }
-
-        foreach ($path as $step) {
-            if ($step !== $node) {
-                $breadcrumbs .= $this->getInactiveBreadcrumb(
-                    $step,
-                    array_pop($pathToRoot)
-                );
-            } else {
-                $breadcrumbs .= $this->getActiveBreadcrumb($step);
-            }
-        }
-
-        return $breadcrumbs;
-    }
-
-    protected function getActiveBreadcrumb(AbstractNode $node)
-    {
-        $buffer = sprintf(
-            '        <li class="active">%s</li>' . "\n",
-            $node->getName()
-        );
-
-        if ($node instanceof DirectoryNode) {
-            $buffer .= '        <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n";
-        }
-
-        return $buffer;
-    }
-
-    protected function getInactiveBreadcrumb(AbstractNode $node, $pathToRoot)
-    {
-        return sprintf(
-            '        <li><a href="%sindex.html">%s</a></li>' . "\n",
-            $pathToRoot,
-            $node->getName()
-        );
-    }
-
-    protected function getPathToRoot(AbstractNode $node)
-    {
-        $id    = $node->getId();
-        $depth = substr_count($id, '/');
-
-        if ($id != 'index' &&
-            $node instanceof DirectoryNode) {
-            $depth++;
-        }
-
-        return str_repeat('../', $depth);
-    }
-
-    protected function getCoverageBar($percent)
-    {
-        $level = $this->getColorLevel($percent);
-
-        $template = new \Text_Template(
-            $this->templatePath . 'coverage_bar.html',
-            '{{',
-            '}}'
-        );
-
-        $template->setVar(['level' => $level, 'percent' => sprintf('%.2F', $percent)]);
-
-        return $template->render();
-    }
-
-    /**
-     * @param int $percent
-     *
-     * @return string
-     */
-    protected function getColorLevel($percent)
-    {
-        if ($percent <= $this->lowUpperBound) {
-            return 'danger';
-        } elseif ($percent > $this->lowUpperBound &&
-            $percent <  $this->highLowerBound) {
-            return 'warning';
-        } else {
-            return 'success';
-        }
-    }
-
-    /**
-     * @return string
-     */
-    private function getRuntimeString()
-    {
-        $runtime = new Runtime;
-
-        $buffer = sprintf(
-            '<a href="%s" target="_top">%s %s</a>',
-            $runtime->getVendorUrl(),
-            $runtime->getName(),
-            $runtime->getVersion()
-        );
-
-        if ($runtime->hasXdebug() && !$runtime->hasPHPDBGCodeCoverage()) {
-            $buffer .= sprintf(
-                ' with <a href="https://xdebug.org/">Xdebug %s</a>',
-                phpversion('xdebug')
-            );
-        }
-
-        return $buffer;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Html;
-
-use SebastianBergmann\CodeCoverage\Node\AbstractNode;
-use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-
-/**
- * Renders the dashboard for a directory node.
- */
-class Dashboard extends Renderer
-{
-    /**
-     * @param DirectoryNode $node
-     * @param string        $file
-     */
-    public function render(DirectoryNode $node, $file)
-    {
-        $classes  = $node->getClassesAndTraits();
-        $template = new \Text_Template(
-            $this->templatePath . 'dashboard.html',
-            '{{',
-            '}}'
-        );
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $baseLink             = $node->getId() . '/';
-        $complexity           = $this->complexity($classes, $baseLink);
-        $coverageDistribution = $this->coverageDistribution($classes);
-        $insufficientCoverage = $this->insufficientCoverage($classes, $baseLink);
-        $projectRisks         = $this->projectRisks($classes, $baseLink);
-
-        $template->setVar(
-            [
-                'insufficient_coverage_classes' => $insufficientCoverage['class'],
-                'insufficient_coverage_methods' => $insufficientCoverage['method'],
-                'project_risks_classes'         => $projectRisks['class'],
-                'project_risks_methods'         => $projectRisks['method'],
-                'complexity_class'              => $complexity['class'],
-                'complexity_method'             => $complexity['method'],
-                'class_coverage_distribution'   => $coverageDistribution['class'],
-                'method_coverage_distribution'  => $coverageDistribution['method']
-            ]
-        );
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * Returns the data for the Class/Method Complexity charts.
-     *
-     * @param array  $classes
-     * @param string $baseLink
-     *
-     * @return array
-     */
-    protected function complexity(array $classes, $baseLink)
-    {
-        $result = ['class' => [], 'method' => []];
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($className != '*') {
-                    $methodName = $className . '::' . $methodName;
-                }
-
-                $result['method'][] = [
-                    $method['coverage'],
-                    $method['ccn'],
-                    sprintf(
-                        '<a href="%s">%s</a>',
-                        str_replace($baseLink, '', $method['link']),
-                        $methodName
-                    )
-                ];
-            }
-
-            $result['class'][] = [
-                $class['coverage'],
-                $class['ccn'],
-                sprintf(
-                    '<a href="%s">%s</a>',
-                    str_replace($baseLink, '', $class['link']),
-                    $className
-                )
-            ];
-        }
-
-        return [
-            'class'  => json_encode($result['class']),
-            'method' => json_encode($result['method'])
-        ];
-    }
-
-    /**
-     * Returns the data for the Class / Method Coverage Distribution chart.
-     *
-     * @param array $classes
-     *
-     * @return array
-     */
-    protected function coverageDistribution(array $classes)
-    {
-        $result = [
-            'class' => [
-                '0%'      => 0,
-                '0-10%'   => 0,
-                '10-20%'  => 0,
-                '20-30%'  => 0,
-                '30-40%'  => 0,
-                '40-50%'  => 0,
-                '50-60%'  => 0,
-                '60-70%'  => 0,
-                '70-80%'  => 0,
-                '80-90%'  => 0,
-                '90-100%' => 0,
-                '100%'    => 0
-            ],
-            'method' => [
-                '0%'      => 0,
-                '0-10%'   => 0,
-                '10-20%'  => 0,
-                '20-30%'  => 0,
-                '30-40%'  => 0,
-                '40-50%'  => 0,
-                '50-60%'  => 0,
-                '60-70%'  => 0,
-                '70-80%'  => 0,
-                '80-90%'  => 0,
-                '90-100%' => 0,
-                '100%'    => 0
-            ]
-        ];
-
-        foreach ($classes as $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] == 0) {
-                    $result['method']['0%']++;
-                } elseif ($method['coverage'] == 100) {
-                    $result['method']['100%']++;
-                } else {
-                    $key = floor($method['coverage'] / 10) * 10;
-                    $key = $key . '-' . ($key + 10) . '%';
-                    $result['method'][$key]++;
-                }
-            }
-
-            if ($class['coverage'] == 0) {
-                $result['class']['0%']++;
-            } elseif ($class['coverage'] == 100) {
-                $result['class']['100%']++;
-            } else {
-                $key = floor($class['coverage'] / 10) * 10;
-                $key = $key . '-' . ($key + 10) . '%';
-                $result['class'][$key]++;
-            }
-        }
-
-        return [
-            'class'  => json_encode(array_values($result['class'])),
-            'method' => json_encode(array_values($result['method']))
-        ];
-    }
-
-    /**
-     * Returns the classes / methods with insufficient coverage.
-     *
-     * @param array  $classes
-     * @param string $baseLink
-     *
-     * @return array
-     */
-    protected function insufficientCoverage(array $classes, $baseLink)
-    {
-        $leastTestedClasses = [];
-        $leastTestedMethods = [];
-        $result             = ['class' => '', 'method' => ''];
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] < $this->highLowerBound) {
-                    if ($className != '*') {
-                        $key = $className . '::' . $methodName;
-                    } else {
-                        $key = $methodName;
-                    }
-
-                    $leastTestedMethods[$key] = $method['coverage'];
-                }
-            }
-
-            if ($class['coverage'] < $this->highLowerBound) {
-                $leastTestedClasses[$className] = $class['coverage'];
-            }
-        }
-
-        asort($leastTestedClasses);
-        asort($leastTestedMethods);
-
-        foreach ($leastTestedClasses as $className => $coverage) {
-            $result['class'] .= sprintf(
-                '       <tr><td><a href="%s">%s</a></td><td class="text-right">%d%%</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$className]['link']),
-                $className,
-                $coverage
-            );
-        }
-
-        foreach ($leastTestedMethods as $methodName => $coverage) {
-            list($class, $method) = explode('::', $methodName);
-
-            $result['method'] .= sprintf(
-                '       <tr><td><a href="%s"><abbr title="%s">%s</abbr></a></td><td class="text-right">%d%%</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']),
-                $methodName,
-                $method,
-                $coverage
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the project risks according to the CRAP index.
-     *
-     * @param array  $classes
-     * @param string $baseLink
-     *
-     * @return array
-     */
-    protected function projectRisks(array $classes, $baseLink)
-    {
-        $classRisks  = [];
-        $methodRisks = [];
-        $result      = ['class' => '', 'method' => ''];
-
-        foreach ($classes as $className => $class) {
-            foreach ($class['methods'] as $methodName => $method) {
-                if ($method['coverage'] < $this->highLowerBound &&
-                    $method['ccn'] > 1) {
-                    if ($className != '*') {
-                        $key = $className . '::' . $methodName;
-                    } else {
-                        $key = $methodName;
-                    }
-
-                    $methodRisks[$key] = $method['crap'];
-                }
-            }
-
-            if ($class['coverage'] < $this->highLowerBound &&
-                $class['ccn'] > count($class['methods'])) {
-                $classRisks[$className] = $class['crap'];
-            }
-        }
-
-        arsort($classRisks);
-        arsort($methodRisks);
-
-        foreach ($classRisks as $className => $crap) {
-            $result['class'] .= sprintf(
-                '       <tr><td><a href="%s">%s</a></td><td class="text-right">%d</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$className]['link']),
-                $className,
-                $crap
-            );
-        }
-
-        foreach ($methodRisks as $methodName => $crap) {
-            list($class, $method) = explode('::', $methodName);
-
-            $result['method'] .= sprintf(
-                '       <tr><td><a href="%s"><abbr title="%s">%s</abbr></a></td><td class="text-right">%d</td></tr>' . "\n",
-                str_replace($baseLink, '', $classes[$class]['methods'][$method]['link']),
-                $methodName,
-                $method,
-                $crap
-            );
-        }
-
-        return $result;
-    }
-
-    protected function getActiveBreadcrumb(AbstractNode $node)
-    {
-        return sprintf(
-            '        <li><a href="index.html">%s</a></li>' . "\n" .
-            '        <li class="active">(Dashboard)</li>' . "\n",
-            $node->getName()
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Html;
-
-use SebastianBergmann\CodeCoverage\Node\AbstractNode as Node;
-use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-
-/**
- * Renders a directory node.
- */
-class Directory extends Renderer
-{
-    /**
-     * @param DirectoryNode $node
-     * @param string        $file
-     */
-    public function render(DirectoryNode $node, $file)
-    {
-        $template = new \Text_Template($this->templatePath . 'directory.html', '{{', '}}');
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $items = $this->renderItem($node, true);
-
-        foreach ($node->getDirectories() as $item) {
-            $items .= $this->renderItem($item);
-        }
-
-        foreach ($node->getFiles() as $item) {
-            $items .= $this->renderItem($item);
-        }
-
-        $template->setVar(
-            [
-                'id'    => $node->getId(),
-                'items' => $items
-            ]
-        );
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * @param Node $node
-     * @param bool $total
-     *
-     * @return string
-     */
-    protected function renderItem(Node $node, $total = false)
-    {
-        $data = [
-            'numClasses'                   => $node->getNumClassesAndTraits(),
-            'numTestedClasses'             => $node->getNumTestedClassesAndTraits(),
-            'numMethods'                   => $node->getNumMethods(),
-            'numTestedMethods'             => $node->getNumTestedMethods(),
-            'linesExecutedPercent'         => $node->getLineExecutedPercent(false),
-            'linesExecutedPercentAsString' => $node->getLineExecutedPercent(),
-            'numExecutedLines'             => $node->getNumExecutedLines(),
-            'numExecutableLines'           => $node->getNumExecutableLines(),
-            'testedMethodsPercent'         => $node->getTestedMethodsPercent(false),
-            'testedMethodsPercentAsString' => $node->getTestedMethodsPercent(),
-            'testedClassesPercent'         => $node->getTestedClassesAndTraitsPercent(false),
-            'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent()
-        ];
-
-        if ($total) {
-            $data['name'] = 'Total';
-        } else {
-            if ($node instanceof DirectoryNode) {
-                $data['name'] = sprintf(
-                    '<a href="%s/index.html">%s</a>',
-                    $node->getName(),
-                    $node->getName()
-                );
-
-                $data['icon'] = '<span class="glyphicon glyphicon-folder-open"></span> ';
-            } else {
-                $data['name'] = sprintf(
-                    '<a href="%s.html">%s</a>',
-                    $node->getName(),
-                    $node->getName()
-                );
-
-                $data['icon'] = '<span class="glyphicon glyphicon-file"></span> ';
-            }
-        }
-
-        return $this->renderItemTemplate(
-            new \Text_Template($this->templatePath . 'directory_item.html', '{{', '}}'),
-            $data
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Html;
-
-use SebastianBergmann\CodeCoverage\Node\File as FileNode;
-use SebastianBergmann\CodeCoverage\Util;
-
-/**
- * Renders a file node.
- */
-class File extends Renderer
-{
-    /**
-     * @var int
-     */
-    private $htmlspecialcharsFlags;
-
-    /**
-     * Constructor.
-     *
-     * @param string $templatePath
-     * @param string $generator
-     * @param string $date
-     * @param int    $lowUpperBound
-     * @param int    $highLowerBound
-     */
-    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
-    {
-        parent::__construct(
-            $templatePath,
-            $generator,
-            $date,
-            $lowUpperBound,
-            $highLowerBound
-        );
-
-        $this->htmlspecialcharsFlags = ENT_COMPAT;
-
-        $this->htmlspecialcharsFlags = $this->htmlspecialcharsFlags | ENT_HTML401 | ENT_SUBSTITUTE;
-    }
-
-    /**
-     * @param FileNode $node
-     * @param string   $file
-     */
-    public function render(FileNode $node, $file)
-    {
-        $template = new \Text_Template($this->templatePath . 'file.html', '{{', '}}');
-
-        $template->setVar(
-            [
-                'items' => $this->renderItems($node),
-                'lines' => $this->renderSource($node)
-            ]
-        );
-
-        $this->setCommonTemplateVariables($template, $node);
-
-        $template->renderTo($file);
-    }
-
-    /**
-     * @param FileNode $node
-     *
-     * @return string
-     */
-    protected function renderItems(FileNode $node)
-    {
-        $template = new \Text_Template($this->templatePath . 'file_item.html', '{{', '}}');
-
-        $methodItemTemplate = new \Text_Template(
-            $this->templatePath . 'method_item.html',
-            '{{',
-            '}}'
-        );
-
-        $items = $this->renderItemTemplate(
-            $template,
-            [
-                'name'                         => 'Total',
-                'numClasses'                   => $node->getNumClassesAndTraits(),
-                'numTestedClasses'             => $node->getNumTestedClassesAndTraits(),
-                'numMethods'                   => $node->getNumMethods(),
-                'numTestedMethods'             => $node->getNumTestedMethods(),
-                'linesExecutedPercent'         => $node->getLineExecutedPercent(false),
-                'linesExecutedPercentAsString' => $node->getLineExecutedPercent(),
-                'numExecutedLines'             => $node->getNumExecutedLines(),
-                'numExecutableLines'           => $node->getNumExecutableLines(),
-                'testedMethodsPercent'         => $node->getTestedMethodsPercent(false),
-                'testedMethodsPercentAsString' => $node->getTestedMethodsPercent(),
-                'testedClassesPercent'         => $node->getTestedClassesAndTraitsPercent(false),
-                'testedClassesPercentAsString' => $node->getTestedClassesAndTraitsPercent(),
-                'crap'                         => '<abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr>'
-            ]
-        );
-
-        $items .= $this->renderFunctionItems(
-            $node->getFunctions(),
-            $methodItemTemplate
-        );
-
-        $items .= $this->renderTraitOrClassItems(
-            $node->getTraits(),
-            $template,
-            $methodItemTemplate
-        );
-
-        $items .= $this->renderTraitOrClassItems(
-            $node->getClasses(),
-            $template,
-            $methodItemTemplate
-        );
-
-        return $items;
-    }
-
-    /**
-     * @param array          $items
-     * @param \Text_Template $template
-     * @param \Text_Template $methodItemTemplate
-     *
-     * @return string
-     */
-    protected function renderTraitOrClassItems(array $items, \Text_Template $template, \Text_Template $methodItemTemplate)
-    {
-        if (empty($items)) {
-            return '';
-        }
-
-        $buffer = '';
-
-        foreach ($items as $name => $item) {
-            $numMethods       = count($item['methods']);
-            $numTestedMethods = 0;
-
-            foreach ($item['methods'] as $method) {
-                if ($method['executedLines'] == $method['executableLines']) {
-                    $numTestedMethods++;
-                }
-            }
-
-            $buffer .= $this->renderItemTemplate(
-                $template,
-                [
-                    'name'                         => $name,
-                    'numClasses'                   => 1,
-                    'numTestedClasses'             => $numTestedMethods == $numMethods ? 1 : 0,
-                    'numMethods'                   => $numMethods,
-                    'numTestedMethods'             => $numTestedMethods,
-                    'linesExecutedPercent'         => Util::percent(
-                        $item['executedLines'],
-                        $item['executableLines'],
-                        false
-                    ),
-                    'linesExecutedPercentAsString' => Util::percent(
-                        $item['executedLines'],
-                        $item['executableLines'],
-                        true
-                    ),
-                    'numExecutedLines'             => $item['executedLines'],
-                    'numExecutableLines'           => $item['executableLines'],
-                    'testedMethodsPercent'         => Util::percent(
-                        $numTestedMethods,
-                        $numMethods,
-                        false
-                    ),
-                    'testedMethodsPercentAsString' => Util::percent(
-                        $numTestedMethods,
-                        $numMethods,
-                        true
-                    ),
-                    'testedClassesPercent'         => Util::percent(
-                        $numTestedMethods == $numMethods ? 1 : 0,
-                        1,
-                        false
-                    ),
-                    'testedClassesPercentAsString' => Util::percent(
-                        $numTestedMethods == $numMethods ? 1 : 0,
-                        1,
-                        true
-                    ),
-                    'crap'                         => $item['crap']
-                ]
-            );
-
-            foreach ($item['methods'] as $method) {
-                $buffer .= $this->renderFunctionOrMethodItem(
-                    $methodItemTemplate,
-                    $method,
-                    '&nbsp;'
-                );
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param array          $functions
-     * @param \Text_Template $template
-     *
-     * @return string
-     */
-    protected function renderFunctionItems(array $functions, \Text_Template $template)
-    {
-        if (empty($functions)) {
-            return '';
-        }
-
-        $buffer = '';
-
-        foreach ($functions as $function) {
-            $buffer .= $this->renderFunctionOrMethodItem(
-                $template,
-                $function
-            );
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param \Text_Template $template
-     *
-     * @return string
-     */
-    protected function renderFunctionOrMethodItem(\Text_Template $template, array $item, $indent = '')
-    {
-        $numTestedItems = $item['executedLines'] == $item['executableLines'] ? 1 : 0;
-
-        return $this->renderItemTemplate(
-            $template,
-            [
-                'name'                         => sprintf(
-                    '%s<a href="#%d"><abbr title="%s">%s</abbr></a>',
-                    $indent,
-                    $item['startLine'],
-                    htmlspecialchars($item['signature']),
-                    isset($item['functionName']) ? $item['functionName'] : $item['methodName']
-                ),
-                'numMethods'                   => 1,
-                'numTestedMethods'             => $numTestedItems,
-                'linesExecutedPercent'         => Util::percent(
-                    $item['executedLines'],
-                    $item['executableLines'],
-                    false
-                ),
-                'linesExecutedPercentAsString' => Util::percent(
-                    $item['executedLines'],
-                    $item['executableLines'],
-                    true
-                ),
-                'numExecutedLines'             => $item['executedLines'],
-                'numExecutableLines'           => $item['executableLines'],
-                'testedMethodsPercent'         => Util::percent(
-                    $numTestedItems,
-                    1,
-                    false
-                ),
-                'testedMethodsPercentAsString' => Util::percent(
-                    $numTestedItems,
-                    1,
-                    true
-                ),
-                'crap'                         => $item['crap']
-            ]
-        );
-    }
-
-    /**
-     * @param FileNode $node
-     *
-     * @return string
-     */
-    protected function renderSource(FileNode $node)
-    {
-        $coverageData = $node->getCoverageData();
-        $testData     = $node->getTestData();
-        $codeLines    = $this->loadFile($node->getPath());
-        $lines        = '';
-        $i            = 1;
-
-        foreach ($codeLines as $line) {
-            $trClass        = '';
-            $popoverContent = '';
-            $popoverTitle   = '';
-
-            if (array_key_exists($i, $coverageData)) {
-                $numTests = count($coverageData[$i]);
-
-                if ($coverageData[$i] === null) {
-                    $trClass = ' class="warning"';
-                } elseif ($numTests == 0) {
-                    $trClass = ' class="danger"';
-                } else {
-                    $lineCss        = 'covered-by-large-tests';
-                    $popoverContent = '<ul>';
-
-                    if ($numTests > 1) {
-                        $popoverTitle = $numTests . ' tests cover line ' . $i;
-                    } else {
-                        $popoverTitle = '1 test covers line ' . $i;
-                    }
-
-                    foreach ($coverageData[$i] as $test) {
-                        if ($lineCss == 'covered-by-large-tests' && $testData[$test]['size'] == 'medium') {
-                            $lineCss = 'covered-by-medium-tests';
-                        } elseif ($testData[$test]['size'] == 'small') {
-                            $lineCss = 'covered-by-small-tests';
-                        }
-
-                        switch ($testData[$test]['status']) {
-                            case 0:
-                                switch ($testData[$test]['size']) {
-                                    case 'small':
-                                        $testCSS = ' class="covered-by-small-tests"';
-                                        break;
-
-                                    case 'medium':
-                                        $testCSS = ' class="covered-by-medium-tests"';
-                                        break;
-
-                                    default:
-                                        $testCSS = ' class="covered-by-large-tests"';
-                                        break;
-                                }
-                                break;
-
-                            case 1:
-                            case 2:
-                                $testCSS = ' class="warning"';
-                                break;
-
-                            case 3:
-                                $testCSS = ' class="danger"';
-                                break;
-
-                            case 4:
-                                $testCSS = ' class="danger"';
-                                break;
-
-                            default:
-                                $testCSS = '';
-                        }
-
-                        $popoverContent .= sprintf(
-                            '<li%s>%s</li>',
-                            $testCSS,
-                            htmlspecialchars($test)
-                        );
-                    }
-
-                    $popoverContent .= '</ul>';
-                    $trClass         = ' class="' . $lineCss . ' popin"';
-                }
-            }
-
-            if (!empty($popoverTitle)) {
-                $popover = sprintf(
-                    ' data-title="%s" data-content="%s" data-placement="bottom" data-html="true"',
-                    $popoverTitle,
-                    htmlspecialchars($popoverContent)
-                );
-            } else {
-                $popover = '';
-            }
-
-            $lines .= sprintf(
-                '     <tr%s%s><td><div align="right"><a name="%d"></a><a href="#%d">%d</a></div></td><td class="codeLine">%s</td></tr>' . "\n",
-                $trClass,
-                $popover,
-                $i,
-                $i,
-                $i,
-                $line
-            );
-
-            $i++;
-        }
-
-        return $lines;
-    }
-
-    /**
-     * @param string $file
-     *
-     * @return array
-     */
-    protected function loadFile($file)
-    {
-        $buffer              = file_get_contents($file);
-        $tokens              = token_get_all($buffer);
-        $result              = [''];
-        $i                   = 0;
-        $stringFlag          = false;
-        $fileEndsWithNewLine = substr($buffer, -1) == "\n";
-
-        unset($buffer);
-
-        foreach ($tokens as $j => $token) {
-            if (is_string($token)) {
-                if ($token === '"' && $tokens[$j - 1] !== '\\') {
-                    $result[$i] .= sprintf(
-                        '<span class="string">%s</span>',
-                        htmlspecialchars($token)
-                    );
-
-                    $stringFlag = !$stringFlag;
-                } else {
-                    $result[$i] .= sprintf(
-                        '<span class="keyword">%s</span>',
-                        htmlspecialchars($token)
-                    );
-                }
-
-                continue;
-            }
-
-            list($token, $value) = $token;
-
-            $value = str_replace(
-                ["\t", ' '],
-                ['&nbsp;&nbsp;&nbsp;&nbsp;', '&nbsp;'],
-                htmlspecialchars($value, $this->htmlspecialcharsFlags)
-            );
-
-            if ($value === "\n") {
-                $result[++$i] = '';
-            } else {
-                $lines = explode("\n", $value);
-
-                foreach ($lines as $jj => $line) {
-                    $line = trim($line);
-
-                    if ($line !== '') {
-                        if ($stringFlag) {
-                            $colour = 'string';
-                        } else {
-                            switch ($token) {
-                                case T_INLINE_HTML:
-                                    $colour = 'html';
-                                    break;
-
-                                case T_COMMENT:
-                                case T_DOC_COMMENT:
-                                    $colour = 'comment';
-                                    break;
-
-                                case T_ABSTRACT:
-                                case T_ARRAY:
-                                case T_AS:
-                                case T_BREAK:
-                                case T_CALLABLE:
-                                case T_CASE:
-                                case T_CATCH:
-                                case T_CLASS:
-                                case T_CLONE:
-                                case T_CONTINUE:
-                                case T_DEFAULT:
-                                case T_ECHO:
-                                case T_ELSE:
-                                case T_ELSEIF:
-                                case T_EMPTY:
-                                case T_ENDDECLARE:
-                                case T_ENDFOR:
-                                case T_ENDFOREACH:
-                                case T_ENDIF:
-                                case T_ENDSWITCH:
-                                case T_ENDWHILE:
-                                case T_EXIT:
-                                case T_EXTENDS:
-                                case T_FINAL:
-                                case T_FINALLY:
-                                case T_FOREACH:
-                                case T_FUNCTION:
-                                case T_GLOBAL:
-                                case T_IF:
-                                case T_IMPLEMENTS:
-                                case T_INCLUDE:
-                                case T_INCLUDE_ONCE:
-                                case T_INSTANCEOF:
-                                case T_INSTEADOF:
-                                case T_INTERFACE:
-                                case T_ISSET:
-                                case T_LOGICAL_AND:
-                                case T_LOGICAL_OR:
-                                case T_LOGICAL_XOR:
-                                case T_NAMESPACE:
-                                case T_NEW:
-                                case T_PRIVATE:
-                                case T_PROTECTED:
-                                case T_PUBLIC:
-                                case T_REQUIRE:
-                                case T_REQUIRE_ONCE:
-                                case T_RETURN:
-                                case T_STATIC:
-                                case T_THROW:
-                                case T_TRAIT:
-                                case T_TRY:
-                                case T_UNSET:
-                                case T_USE:
-                                case T_VAR:
-                                case T_WHILE:
-                                case T_YIELD:
-                                    $colour = 'keyword';
-                                    break;
-
-                                default:
-                                    $colour = 'default';
-                            }
-                        }
-
-                        $result[$i] .= sprintf(
-                            '<span class="%s">%s</span>',
-                            $colour,
-                            $line
-                        );
-                    }
-
-                    if (isset($lines[$jj + 1])) {
-                        $result[++$i] = '';
-                    }
-                }
-            }
-        }
-
-        if ($fileEndsWithNewLine) {
-            unset($result[count($result)-1]);
-        }
-
-        return $result;
-    }
-}
-       <div class="progress">
-         <div class="progress-bar progress-bar-{{level}}" role="progressbar" aria-valuenow="{{percent}}" aria-valuemin="0" aria-valuemax="100" style="width: {{percent}}%">
-           <span class="sr-only">{{percent}}% covered ({{level}})</span>
-         </div>
-       </div>
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */.nvd3 .nv-axis{pointer-events:none;opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:rgba(0,0,0,0)}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect,.nvd3 .nv-discretebar .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:rgba(0,0,0,0)}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover{fill-opacity:1}.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-legend .nv-disabled rect{}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-scatter .nv-groups .nv-point.hover,.nvd3 .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:400 12px Arial}.nvd3 .title{font:700 14px Arial}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.7}.nvd3.nv-pie .nv-label{pointer-events:none}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nv-noninteractive{pointer-events:none}.nv-distx,.nv-disty{pointer-events:none}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1);color:rgba(0,0,0,1);padding:1px;border:1px solid rgba(0,0,0,.2);z-index:10000;display:block;font-family:Arial;font-size:13px;text-align:left;pointer-events:none;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip{background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{margin:0;padding:4px 14px;line-height:18px;font-weight:400;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);text-align:center;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{margin:0;padding:5px 14px;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key{font-weight:400}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{width:8px;height:8px;vertical-align:middle}.nvtooltip table td.legend-color-guide div{width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 .nv-interactiveGuideLine{pointer-events:none}.nvd3 line.nv-guideline{stroke:#ccc}body {
- padding-top: 10px;
-}
-
-.popover {
- max-width: none;
-}
-
-.glyphicon {
- margin-right:.25em;
-}
-
-.table-bordered>thead>tr>td {
- border-bottom-width: 1px;
-}
-
-.table tbody>tr>td, .table thead>tr>td {
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-.table-condensed tbody>tr>td {
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.table .progress {
- margin-bottom: inherit;
-}
-
-.table-borderless th, .table-borderless td {
- border: 0 !important;
-}
-
-.table tbody tr.covered-by-large-tests, li.covered-by-large-tests, tr.success, td.success, li.success, span.success {
- background-color: #dff0d8;
-}
-
-.table tbody tr.covered-by-medium-tests, li.covered-by-medium-tests {
- background-color: #c3e3b5;
-}
-
-.table tbody tr.covered-by-small-tests, li.covered-by-small-tests {
- background-color: #99cb84;
-}
-
-.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger {
- background-color: #f2dede;
-}
-
-.table tbody td.warning, li.warning, span.warning {
- background-color: #fcf8e3;
-}
-
-.table tbody td.info {
- background-color: #d9edf7;
-}
-
-td.big {
- width: 117px;
-}
-
-td.small {
-}
-
-td.codeLine {
- font-family: monospace;
- white-space: pre;
-}
-
-td span.comment {
- color: #888a85;
-}
-
-td span.default {
- color: #2e3436;
-}
-
-td span.html {
- color: #888a85;
-}
-
-td span.keyword {
- color: #2e3436;
- font-weight: bold;
-}
-
-pre span.string {
- color: #2e3436;
-}
-
-span.success, span.warning, span.danger {
- margin-right: 2px;
- padding-left: 10px;
- padding-right: 10px;
- text-align: center;
-}
-
-#classCoverageDistribution, #classComplexity {
- height: 200px;
- width: 475px;
-}
-
-#toplink {
- position: fixed;
- left: 5px;
- bottom: 5px;
- outline: 0;
-}
-
-svg text {
- font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
- font-size: 11px;
- color: #666;
- fill: #666;
-}
-
-.scrollbox {
- height:245px;
- overflow-x:hidden;
- overflow-y:scroll;
-}
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Dashboard for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/nv.d3.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <div class="row">
-    <div class="col-md-12">
-     <h2>Classes</h2>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Coverage Distribution</h3>
-     <div id="classCoverageDistribution" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Complexity</h3>
-     <div id="classComplexity" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Insufficient Coverage</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Class</th>
-         <th class="text-right">Coverage</th>
-        </tr>
-       </thead>
-       <tbody>
-{{insufficient_coverage_classes}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Project Risks</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Class</th>
-         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
-        </tr>
-       </thead>
-       <tbody>
-{{project_risks_classes}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-12">
-     <h2>Methods</h2>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Coverage Distribution</h3>
-     <div id="methodCoverageDistribution" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Complexity</h3>
-     <div id="methodComplexity" style="height: 300px;">
-       <svg></svg>
-     </div>
-    </div>
-   </div>
-   <div class="row">
-    <div class="col-md-6">
-     <h3>Insufficient Coverage</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Method</th>
-         <th class="text-right">Coverage</th>
-        </tr>
-       </thead>
-       <tbody>
-{{insufficient_coverage_methods}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-    <div class="col-md-6">
-     <h3>Project Risks</h3>
-     <div class="scrollbox">
-      <table class="table">
-       <thead>
-        <tr>
-         <th>Method</th>
-         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
-        </tr>
-       </thead>
-       <tbody>
-{{project_risks_methods}}
-       </tbody>
-      </table>
-     </div>
-    </div>
-   </div>
-   <footer>
-    <hr/>
-    <p>
-     <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage {{version}}</a> using {{runtime}}{{generator}} at {{date}}.</small>
-    </p>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/d3.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/nv.d3.min.js" type="text/javascript"></script>
-  <script type="text/javascript">
-$(document).ready(function() {
-  nv.addGraph(function() {
-    var chart = nv.models.multiBarChart();
-    chart.tooltips(false)
-      .showControls(false)
-      .showLegend(false)
-      .reduceXTicks(false)
-      .staggerLabels(true)
-      .yAxis.tickFormat(d3.format('d'));
-
-    d3.select('#classCoverageDistribution svg')
-      .datum(getCoverageDistributionData({{class_coverage_distribution}}, "Class Coverage"))
-      .transition().duration(500).call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  nv.addGraph(function() {
-    var chart = nv.models.multiBarChart();
-    chart.tooltips(false)
-      .showControls(false)
-      .showLegend(false)
-      .reduceXTicks(false)
-      .staggerLabels(true)
-      .yAxis.tickFormat(d3.format('d'));
-
-    d3.select('#methodCoverageDistribution svg')
-      .datum(getCoverageDistributionData({{method_coverage_distribution}}, "Method Coverage"))
-      .transition().duration(500).call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  function getCoverageDistributionData(data, label) {
-    var labels = [
-      '0%',
-      '0-10%',
-      '10-20%',
-      '20-30%',
-      '30-40%',
-      '40-50%',
-      '50-60%',
-      '60-70%',
-      '70-80%',
-      '80-90%',
-      '90-100%',
-      '100%'
-    ];
-    var values = [];
-    $.each(labels, function(key) {
-      values.push({x: labels[key], y: data[key]});
-    });
-
-    return [
-      {
-        key: label,
-        values: values,
-        color: "#4572A7"
-      }
-    ];
-  }
-  nv.addGraph(function() {
-    var chart = nv.models.scatterChart()
-      .showDistX(true)
-      .showDistY(true)
-      .showLegend(false)
-      .forceX([0, 100]);
-    chart.tooltipContent(function(key, y, e, graph) {
-      return '<p>' + graph.point.class + '</p>';
-    });
-
-    chart.xAxis.axisLabel('Code Coverage (in percent)');
-    chart.yAxis.axisLabel('Cyclomatic Complexity');
-
-    d3.select('#classComplexity svg')
-      .datum(getComplexityData({{complexity_class}}, 'Class Complexity'))
-      .transition()
-      .duration(500)
-      .call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  nv.addGraph(function() {
-    var chart = nv.models.scatterChart()
-      .showDistX(true)
-      .showDistY(true)
-      .showLegend(false)
-      .forceX([0, 100]);
-    chart.tooltipContent(function(key, y, e, graph) {
-      return '<p>' + graph.point.class + '</p>';
-    });
-
-    chart.xAxis.axisLabel('Code Coverage (in percent)');
-    chart.yAxis.axisLabel('Method Complexity');
-
-    d3.select('#methodComplexity svg')
-      .datum(getComplexityData({{complexity_method}}, 'Method Complexity'))
-      .transition()
-      .duration(500)
-      .call(chart);
-
-    nv.utils.windowResize(chart.update);
-
-    return chart;
-  });
-
-  function getComplexityData(data, label) {
-    var values = [];
-    $.each(data, function(key) {
-      var value = Math.round(data[key][0]*100) / 100;
-      values.push({
-        x: value,
-        y: data[key][1],
-        class: data[key][2],
-        size: 0.05,
-        shape: 'diamond'
-      });
-    });
-
-    return [
-      {
-        key: label,
-        values: values,
-        color: "#4572A7"
-      }
-    ];
-  }
-});
-  </script>
- </body>
-</html>
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Code Coverage for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <table class="table table-bordered">
-    <thead>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
-     </tr>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
-     </tr>
-    </thead>
-    <tbody>
-{{items}}
-    </tbody>
-   </table>
-   <footer>
-    <hr/>
-    <h4>Legend</h4>
-    <p>
-     <span class="danger"><strong>Low</strong>: 0% to {{low_upper_bound}}%</span>
-     <span class="warning"><strong>Medium</strong>: {{low_upper_bound}}% to {{high_lower_bound}}%</span>
-     <span class="success"><strong>High</strong>: {{high_lower_bound}}% to 100%</span>
-    </p>
-    <p>
-     <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage {{version}}</a> using {{runtime}}{{generator}} at {{date}}.</small>
-    </p>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.min.js" type="text/javascript"></script>
- </body>
-</html>
-     <tr>
-      <td class="{{lines_level}}">{{icon}}{{name}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{classes_level}} big">{{classes_bar}}</td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td>
-     </tr>
-
-<!DOCTYPE html>
-<html lang="en">
- <head>
-  <meta charset="UTF-8">
-  <title>Code Coverage for {{full_path}}</title>
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <link href="{{path_to_root}}css/bootstrap.min.css" rel="stylesheet">
-  <link href="{{path_to_root}}css/style.css" rel="stylesheet">
-  <!--[if lt IE 9]>
-  <script src="{{path_to_root}}js/html5shiv.min.js"></script>
-  <script src="{{path_to_root}}js/respond.min.js"></script>
-  <![endif]-->
- </head>
- <body>
-  <header>
-   <div class="container">
-    <div class="row">
-     <div class="col-md-12">
-      <ol class="breadcrumb">
-{{breadcrumbs}}
-      </ol>
-     </div>
-    </div>
-   </div>
-  </header>
-  <div class="container">
-   <table class="table table-bordered">
-    <thead>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
-     </tr>
-     <tr>
-      <td>&nbsp;</td>
-      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
-      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
-      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
-     </tr>
-    </thead>
-    <tbody>
-{{items}}
-    </tbody>
-   </table>
-   <table id="code" class="table table-borderless table-condensed">
-    <tbody>
-{{lines}}
-    </tbody>
-   </table>
-   <footer>
-    <hr/>
-    <h4>Legend</h4>
-    <p>
-     <span class="success"><strong>Executed</strong></span>
-     <span class="danger"><strong>Not Executed</strong></span>
-     <span class="warning"><strong>Dead Code</strong></span>
-    </p>
-    <p>
-     <small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage {{version}}</a> using {{runtime}}{{generator}} at {{date}}.</small>
-    </p>
-    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
-   </footer>
-  </div>
-  <script src="{{path_to_root}}js/jquery.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/bootstrap.min.js" type="text/javascript"></script>
-  <script src="{{path_to_root}}js/holder.min.js" type="text/javascript"></script>
-  <script type="text/javascript">
-  $(function() {
-   var $window   = $(window)
-     , $top_link = $('#toplink')
-     , $body     = $('body, html')
-     , offset    = $('#code').offset().top;
-
-   $top_link.hide().click(function(event) {
-    event.preventDefault();
-    $body.animate({scrollTop:0}, 800);
-   });
-
-   $window.scroll(function() {
-    if($window.scrollTop() > offset) {
-     $top_link.fadeIn();
-    } else {
-     $top_link.fadeOut();
-    }
-   }).scroll();
-
-   $('.popin').popover({trigger: 'hover'});
-  });
-  </script>
- </body>
-</html>
-     <tr>
-      <td class="{{classes_level}}">{{name}}</td>
-      <td class="{{classes_level}} big">{{classes_bar}}</td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_tested_percent}}</div></td>
-      <td class="{{classes_level}} small"><div align="right">{{classes_number}}</div></td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{methods_level}} small">{{crap}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-     </tr>
-
-�N��AM���������������������LP����������������������',������������������(�G�L�Y�P�H�I�C�O�N�S� �H�a�l�f�l�i�n�g�s����R�e�g�u�l�a�r���x�V�e�r�s�i�o�n� �1�.�0�0�9�;�P�S� �0�0�1�.�0�0�9�;�h�o�t�c�o�n�v� �1�.�0�.�7�0�;�m�a�k�e�o�t�f�.�l�i�b�2�.�5�.�5�8�3�2�9���8�G�L�Y�P�H�I�C�O�N�S� �H�a�l�f�l�i�n�g�s� �R�e�g�u�l�a�r�����BSGP��������������������M�M�F�����٣(uʌ<0D�B/X
�N���CC�^�rmR2sk��PJ"5+�gl�W*i�W�/E�4#�ԣU�~�f��UD�Ĺ�����J�1�/!��/���s�7��k���(���hN��8o��d$yq��1���9�@-��HG���S"�Fj�ؠ6C3��&�����W51����B��a��QaR�U/��{*������=�@d��h$�1�Tۗnc+c��A���	�Zɀ�@Q�c�a���l��2>�K��m�' ��C�HMĬfB�X�,�Y��p�e��
-U��*Ҕz�
-m���iO1nE�.���
hx!aC
-XT�V���‹���R��%�|I�H���P�5"�b�N��=���r�/_�R����_�%҄�uz��Ҙ�5�2ġ��P�)������F�7S�q�F�{n�ia���@D�s�;�}9⬥?ź���R{�Tk�;޵ǜ�U\N�Z��Q-�^�s�7�f0���S3A�
_n��`W7Pp����i���!�g�/�_p���Z�-=�ץ~WZ#/�4 KF�`� ��z��0�|	D�ѵ����&däI����Ï�;�M�{'�om��m�I!wi9|H:�ۧ�������{�~���q���O�����,� �L]&�J0��9/�9&�Y�蓰{;��'�3`�e�@vH�yDZ$���3���Dx28�W� Cx5xw�B`�$C$'��El�y��h��Ԁ
DJ
-$(p���QA�A܉A�@'�$
hp�0�V0 `��s��e�$�4$"t2=f��4�A�{Tk�0|rH������`L&��s�h�]��A<����`R�'��!���1N�;�_�t3�#� ������V��*ve�F`E O$�{)�W=p:���F`��2��2ړC����^�.�ć�����G�<<?���~z������>�.p�Ne2��ִ��+Y�s�l:��˼�ܫu5�����t�u�^8��6��ȄTmy�Q�%�u~��%~1rҘa�wߚ^��_�Z��Z�a���0!������N�`�.�
uq����YB�\����ᨀ��[e�����:@��J'Eہ,�3ubj@�p������f����eW9(	�����ޅ���=�l�G��7gj �S�M6����0��9�Oˑ����l��B�a�݁��<����Bՙ(VRAp�f�^���+g9�q�����M�t]�ت�p�E��r@]�@��V��kV�
-u��d�^�X ���R@?E��Y2�����]#�Ǽ�4�J��K����'���d��PC|m�m�n�#��$+48u'���e&���[n[L������%{BCD�L:^!����bƙ:&����g3�-3��u�������b
iLZ�ڂW�FS��Id��6.�k5P�l7�7�Uz�T:N�N���.�"����)����['�|U"A�����I���v�w���p���t�dk���9���嫫�9�n�D�mq��7I|6�Kbc�]�M���������B�A��B�Ȫ�_�J�T��q � 6@����F�����hd`G��T��:M�7'��L,�Ih��FP	��~j�������$¡„ �3�hA�����-S�^�چ����-%qe���~��Qq���ln"i��&����Qe?FlK�"�As�(�3Y;"�L���e�t�'�Rz<MW!��S�3$rZ:��b�-^DŽ/�$Q��q�JB'Wd�GAO����`.�(	���o�3�B0���ɑ�1��p(���(*�o�^�Ǫk��J`v��[���C|9�=����#��A��Q���# ���7;.]L:��ϸc���d���i��Esr�����6?�}��e�@H-��b���ƖC�1;����.
�v.�ɾ$`T������ JW����%B�Z�I04����^:kU,��C�^�WVF����`�F�b��(�O��O��2<��@�X�u����g~�ɑ�W �t�&1\�1�L�:φ��"�!�P�����3/���^��ǰ�q��w`IA��D
-�)�q�C�f��O�� ��0�2Y29�3N��f�p�����\��C���ah��&�6�p�`�ځz�g�B
-hRf����];]�#pw_t(�pq꿏ٷ,���bdk�R��B����T?��2����2�c�F�y2��%���C�n�9����0����9E&#�l�T__�Sлg�)eh/ڷ+�#:FGot�k5Gbr;Cb˴�:���#��ɜ	&����QC��w����mxlN��q����P��)�͐3f-v5K���h��0Aכ���j�nSp�	��^H��G�F��f����H�	 "%[ѻ��� @���p �a��α��$$��͂�*��_�\��@>M��10�{=��)���K�%�$C
-���9�M����4c	�Eotj��V�GD�)l�8��,�\w���!�%$��3t�		TBz��Ҵ	iUJ��[��xgd�Br�$�!eq���"J>��	)\�~����3�(^
�R€8#>�b��H��G'7_fӫcκtD�oAA߃�(q�B<�`��`V����Ϋ��֘�*�b��u�P�4v@�+��.���Q�ԥ$V����@C0
-�R��ܐP[�z:X�H#e���s�>?�E�WO>@I�$|s��i�
-ES��)0A�?�9�ab,��@K��̩o&�����Q�%�ϞLu+�
-�+�H|�Ɛ?�NK�4����CnPt�
'OT��.j5�Ĵ8��v�w֜��I�&�+�`��yS��caO[#�g��Q�����d�[�K�I矗`�ČLP���	#���� �)2�7aT���i@c\ސ�����0n�C�p�ߖ運4͵��x�*���R�z�Y�b����T[\�kU�v�Hʈ�q�p঄I��I�ŗ)�bB
	X�P�N���tz�	2
I�==� ������;}�b���q��jiކ�a�#"	��>1����1�A��p1���P��O��O�ux�Q�����
-Fϲ(�h݄�O'MDx�L�K$ȵ�h�&
�����1���4��Si���rHJ�P�t�DM�;rM�+���
-*����ؗ5u2$�f3�K �<�P�L�r�c�I)����^�da>
-%��ѳb(���@,�2f,~"�7�R;�E��;���HX�(���4�2Z��'�T�ۿ������2J+�^!#o����Y~4�-׃�GW*�!��A�0&8�f�{`����W�=�DP8�'�= �R� g�}�iP>��#���4��E�BRY��^4e�����N8��V,[B��Ĩ�D#�X��]�,���LBsNC>
+��o��^x��
-�����jC�.4�Ya�_{e�A2=r���+�������9PO�A!!
-�}�Y�PJe���Gn��%x��1�/}RgH��a�^3-�� �5
-�|�qS���aWK{1al`I�1���Q��f_yyCZ)�L3X�]W6@DM�T�<.��u�G�K��8�Ds��бW�r��\�7Z\����V�"I����S���d��>C���U�j���e����D	�3M�tWcP����Ӊ6#3Q��nቩ��J\���7�#磱`؀K�� ��lV6&�T��	�~��l.���� <��BP
-�*�!zRZ��eљ���ٷT�#�C�LH����W�)�D����p�YU#��51{WJ���4^�f�̼Z����y6�ӑT2�d�4H=�B�Ҋ��}�&݃��,aPçv+:2�~��*0����d�ɓ��փd	‚���!"A+�r��Hn���sA���ڗU
����b�H��N6�$.�l�};�@���iK� \�҂:v�QE��:,|��Q� Y0|�%�@�� ܁�qc���dqh��諹v�C�GV�����-(��m��1���q89KF��ä
-"2��}Rrz�,j^��q�\�ݖ#p��+�`fl�����:k�t�5E�OaI�J�P
@ps�E�j1�4;6��/aH�.��ӰT�X�p�L���L8��F�ܚi�l�1��Y؊8�
%�!/��{�����霋���X���b�����N��xp���PW�����cI9g�*�����%:��L��u��CAOŒ��%�/œ�(Y��^�?����&I'��uh[x���Q�$�zҵŽ��	߳���(=V׀��
�m��U)��lΠΒ��i��d㦈���~f��jG���R{D�%>���@���6���1��`�!� ` ���wY�����k/a�0A��¹�ԁ��Yh�����d��x��k:f�����<���WL4�`8IYMB�Slc������-�E҂'�ڌ�:,�D�������Ʃ84�)~��2�j���Ǡi��B(L�|"a����4,�b8���ԓi 94�����jWщ��6*��T��c4g�̓��UM�b�R�E������C5��)j�ȴ ��1�6pb���ƎH���Fx������ģ�%4��Q��C�ʈ��	$9�:�M>�E��a��o��̟^��<Iw��Ygq�7s[���	-y�1ع5��a��MK�א�RB�Y���Fq}����8���*�Nt�'.Yb������Z��v�K
-(�]&ɜ�(�ՙ��2�:0�
��o�ΏхPKiBH4U�X,���[��$
-0�mX��ش�� �f�5�0��VR
�8�%����ާ�Dt��U��s`��-BP��z�P�s���vI�8z-�t1DiB
-��"˶��YTJ	��.�?�0�7��jL��N��[2�t��Į̎�����#�6?E׻�������:ɞ�Y;��A&q��S�IR�)�ss
-9*x��0Bj)m��H�A��hyЏh�Mm�&4Ŋ�4�����g��V�&tY����OCS0�Y��d7Mv�N�j)w��A�(��o
"͢�[��
-E`�����7ez�ď����-�Q�]�6�+Bca�@^I�:�һ����=�����sS���nc���	6
���O�B�4����L���Gp�B�q/<�zA��C��� ��A~��x�06rih��h�I�طO�N,:o��k�����/�{H�,�zЂg�fȻz���΀5��F��Tr�n/�t``l���*H6jT�tG/x��@P@(��I�p
�e�!��`wv,:A쑜�N� 4}09z�qC���$r���M`Y�Q����M�䕫���(|�B!�>���>�O	pwj A*@����J�C[h&3���B Qb�ϩ8�:�%f~�v/�l�S����0�����0a���"<TX�@�&���Jg�
3ϕ��HF��o��I8��{��:YT��b(��P�j�<za{��wX�oa�04 �3��l��GȶN��0>�B�8(f	�uGoǚ�gy���t�_�y~�͔�
-�%����m��L
-��!I$�X<T+�3��dq�
-D�M��t��2|fEV([�]�Ndb��D3Sp'R�G�m�K��<�T��ٰ�}�5iܷ�ʹ���p����#�&jF
�Z�'���2�%y9�Q#2�H]w�A�}�vf������%�����X�Ӛ��)�X_�S0�t�(���-��ⰓjHp��Ӗv��/���詵�,9�w<`�E��
-��F�agA�ٓ�Љt��)l�e
-���;���$9����{�C������()��?���p���IF����������b3���l[):�drr]�?†�Ֆ��?��Bd�i�D������7��hJ��:
-��U%n�3aƬJ.�>t0���~�e�P�z��]�U�g
Н=_�?���.j#+`li��	B���M5�� ��őG�p��7�a
-�֒�%Y[UG9����@\bD��Y��{��{��ED0��
-�$��Q�+FvC�`ݨ�3��Q�	��E\��uC9���![�$�l��������6�D�o�Dg�G�*+�X!��%#�C�q�?�8ZUB)U@o��pgީ�Z�q����8��9���|uc�cAќ����W;�@�"���>P����h_���9}.6���V/�O:�3�}��ZS���{:��~�����y�k�c���O6;O�B�=�bV�.	R�k�
-o���^�GV=�� }�oI"+
�
-]w���F��zϷ��`<����30��h���3]�Rf���859s�`K�M��8��
-X�Uq�<���\���ZO�ss�M��&j&�
���	.�%���P�BL~^����G�ˈ�3p�D���:����Z������<\�Ǡi���W̆���"(��:���z���X�~��0PG]8������RQMNT��qf�W~!�0�R%Ց�0�xvGFy/F�-��w�u�/��*�+��	\��8@�6��������c<��L�;c�[������ºnr	�QS'o�Qu�T�{qҐ�_�Ϳ���Sd��A*ð:m�8Yuz2�PB�
�Hh`l�k�p��LLh
-cEb6eۏ�ҋ ?!��>|*=V����K�@��rx�0�G`%ryr[6�Y3�7���f*�*n��%9��df��1�1ޢځ^'��]���
R���q���.����,�����^%��l���
�e��#wW��s�56!�=��!q[������%�Ԯ]�5^:��m�5�)?�Vb|�u�7f���w�����,:�Ye�R%�
-�[����
�o g�F�Az�FP������x���{���d�xí�w�8���ٔ{{L> ��d��2C��L����L�,�L��,��(�mS�������$=�|%�֝lu�&	ą�83��
-N�X�x�\Vn���J[)I��w��/�鹻���|�Gź��Y����DH���*�S������p6�0�c�J2�@�W�%Ѧc�_^�$��#*:G���6���n>�D;����~�`9�hXB �U��JB_в���ˈ�%����w'�$��v|#T<68�KM�ϑ-�5U+���'�B
-�ĪN����bJ��Ov'��|��+*M��k(d�
}�C�˱@���q���&�aR%}�
-�!�VЃ�s3w2���a�2���awH�z�/��Q0�F� �]~;��ä��� ND�P
-m��K3x��ke_��
����S�!��V&=�����v�_P��L9؃Y��i�
-�NU��_���)���J6�9�f*��S	� �1�7�F|�BR$��y,Ʊ.���&=uqs��OD��B���R�=��ɳ�e�ؽɇ�B����H����
-�2lu'�h7^#�S�)�Xi2..P�e�/@F�K��$�](�%�|�2��Y1pC��8t��I��11N//+\��p�j����d�����W�m��I=߽��Y�Zx��MЉP�8��1/JG���^U	,P�d1O��^�y�pq�l���2h��$�jv���������I��%�������]V���
-.�'[+WU8��[��D����,߻�-=[����O
-
-w����E�)�3������J&�d�قݶR¡��S�\.� �5J$I�&��o��Hȳ~� l���z>�
-Ux/�H��u;�?Gt�{?��;�T���H �L�|F�8��}��{��p:�2t�͆<L�CA`���ʘ��Ç득��+'	������oR0D?A�ClI���Z1���F?j᧴���{^��E�dGI��T���&#eJ}��ɣ_m���i���A3�K["o�C�TJEߞ4�c$�jݍbY�nathY��`YG���ei����(�a�#ps�W���i-1���b��,ʎT�cm��bhv9jh��3�t�4�@z�K���Ꙇf�jĖ�\$5P��!�hR��$P�
-M�њ`�����C�C^%2�]uOs��LTx���p�Y��!�UƜ{��'�����yL� +��l�J�8����)@�w�$F5t4����$�,��34aT��&���݄�Ui��+���-಑-��,��{!/\���ς�Ÿ�'&�S�����0xk�Y���0I�)�'����~�� �꫕j��#�m!�-TQ`���=�=�KR���,.is�gI&jf�-I�(��~���o��,�i���傌t&�\���`͞���ҕ,�Y��Gܑu��I(~[�!2=��������h��&I���{8~4��
-�j(*��aA�T�R�?b�0�I��K�P�
-����M��^c���Yf3��-��J��c��r�;�ru��GuA�T1?Q���8D�py�y�+��c���@6!�[o���f��Zp����ɲ�`$�Q��!��O�� �4���|���qi��L^��_ǀM+�ƾQb��#7Ճ��X
5=��qQ���!�i���m~����������u�ݢ����	r(48zr�Y;�*1�yNk�$9j���ip+�q]��g�i�f������f�ԥ׾���׻�>a��ѧp6���������5Y"L�D���.�r��V�����S_
���k��]�n&�H��z�~�9�æ
-�p
$�4ق��'�{�&�����M\�ΰ�ч��!�q�i�� ��(.h�'�B�T���|�{I�6cL�.���빍iI�꫿\!�;��g`1����j%C �o�3*60��E��؎�]t�.�-%0
Y�K�_nft] �*VFC�tJ���T�+�\WZ�8�����gF����^
-ޞf�� 5�I=���#6�.@�2z��;W�`�B/ęQ��g���h�jyJ����N�AX�3��,����K�6��6�ڲ�M0�T@���O{���4kj�|"�ftџ�ۄU��<-��a����5b��)�^R��8�����:��il����Ka�6@���!���]�buvΏ$	�oU�œ�~:.�L�t���e�� ���JξP
-l$S[z��~Rq39钺��9�Q��/�m"�%ʤ����7��	��5MKL�鑧"IߏG�	�XTގXL�F�ݧV
j�p^�/M�g�ۻ{���w�
-�*����9���O�ʈ<�"a����A���q����.M��2@m��p�^�'�wߕm��kxO8�$[�&��|Y�Zy�`2_|%r��/�J?�Q��Ṉl�3Þ��K�E$�w�vC�h��a@�U�1�M��%0?1*��$G�Z�{!|�ʿ�$��ە�-�٪Ev;��͓:���`Bl�˸�쌧�ɬ�oQ�0&�����,�F?����^�s,�c���h˕�$�E�cl0��w`�⏺�ň�@/�r^l�8cT�3���k@���J�ݔ�uP�&ʪN��d�JjT�K��i	��*u���X�{t�j~�ɡ}��i\B�Ken�ȵ|N����u���#�]@l�CZ$iP�a�㸩t04y20�
s�֪�,Au�!Q��B�ϖ��^�@Vsɑ��\�Z�a�7�쾉���ш��6-T�r���U���u��~�1H�J�(<α�����bRԖ�qi����J?�e�G��
�*jVħ"���:Y);�-F�d�!�H���G~��u�x	cb�6m���)&;�0��dU?�8�X~�1�2��ۼ�t��I��x�5��{(�z��
-�'���[�Ńk��ZЅ����i,��b�1̇����`��(��m�H�N���e�K����/
-[�(��#Q��Gd�u�T��^�m���%����!(�7Kg�P=�h�ϕ�kɐU+���.[�e������C������"GD�Ψ��<*<����h�)�` A�U@O]h�l�f2��!H���F#�QB��=uȾ9f�h��;"R�����K�3-�(G	)�P��������T],7�ec�
-�	F4hH�s�73ᖟ�����`�R��T�wfͳ;6B�>Ř
9&�����܂�?����)�\����<&Ŏ��5	L�Ju�@Y���,�냲ھ�_w�0�^�17�����p޻�*>D�8����_)$Uź��R�!jOF��>{�����t,�-�bP�,m`D"/�z�A�
͔إ��QZG�&U]�xejx��Lwv�~��=)@�B��6�?!;53/ps@t�OZS7���ؙ��n��lx����Z?�Z��j
a��{��6���L4���1�2�����Q�i��&֥l�����]o=�7�ļ	of�Ж�rMEV@��H�����/��aD�٦�H����lK5)ŒZ	OE����3��IG�'г;�D'�zl(����E���$��.ٜ�-WR'\w+)�w3�꺾�� @�%R�)�.�~�9;]�.šg+)�%ȝ�k���҉��^��N�W�>b1z:s��oD
-K�����2w[|>9�vWMF�u�`���ax�chի�U��`*ʆe�]O�V'6����x�d?�H]_r�A��+z�d�F��H	�ʋ<��Ǵ���kUsFz����aH��9-������gv�b�=��L/�E�)��.��x9j%B�)�$���A�B����	���t b.b�AE��Z�Rb�H(���J�ya��9Wj0f��F'��X�z���$DQ�6��q��`	o��	i=���{#4��FYH�@�J�3
3i~�tYТ�hkH�P�����17�����Y�D�"�p�Ħ;'�16��f�pu����>�F�oD�Qi�n�̒�-��@P#��� �h�j ނ�ŀf��C� ���7°�T5HVX�p���klĭ���]��yXr�)?ͺ�BNJ�B����#��9e��&&�_0��=��pZ��6��h��)�
̗�a b���=(p)������;�.N�,��W�^*hԺ�C��m}E�7�i���6����a�I�vͲxp�*Ac#4��������N�&�`)�ĉ��H�We��y7jl����o�Eh_n3 �	�jp?�4�p2W�E'kT_�
&��!ȖjVl�H�ӻ_kɚ����ʳ�aY���� s�@�[�G"��bY�L�ܫX��i�
�C��q8�&�z��VaY{��#I@����2��m�!�d�[1	�A�Ƣ��nK�����eם��/>�d�m�uX:xʷ\��p�N����l�+�H+c�tSǶ��C��[��~3��e�}6� �\�,��Ʉ��|�Y�ݧ����v]�'�|����&��M�2� d���ds�x-((76��aX��m=��ӊ��Q��<$������Q†���\��
-��qi�H阇���i'i��$�"�{S*V�wF��/�t<����Q`ʒZ��+�pr)�(�.j�鸫I�k5�	<�ʆ�ˮ��, kO���DT��J&^7���ĪQ�����v�e
-&�Z���
^4��^s��D+`WH����b�6���� ���L��W{ZZ �@��mq��v�ɷ(D�\+�l���0*�V�߇�Vm����hƏ��/S`|�^\<-����6�2�N3��"
To���lr��e��!��H2�p�A ֛������{�ȼ�/�����udU2*2�"c��"p�${��y�,饋�&\�m�&�`�|x �p��C��w#���W�9D�Ii�іC���Ks�燝S���3�,����M��;j��B�4��P�2��i���f���ɿ��bA�]a�id�������"���i!aQh�CNO������Y�
-�xF$��g�9���Z`W���VB�g�����#j\˂���e�G��[�.�]��0�~X{2�D��?��"�3�B�j,�K~��b#�0�ɒL�kc�(6 �
-�a�E7λ�/Վ�%�� ����� ��ġR�^J���CϏZ+71X���UO,����}#�-��e٤�4�3ł��t�8��Z7��i��<:i�?Ft�Fk�CW'��f0i<�Xdj����0�W#i����eC�
-zI7��B�s���.K�  *��V����d���D�lj�@��%
-�܈��
�Z��s�ﮐsh̸%�^�
-�����@8����?�N�8g�G�gr�X��S������
Ap���4�z*��4���,í��t4G�n������dS�>f�Q�C��WUZ{S�;N�x��}��H&��*��9׸�q��U1 ��a�`(M-a�G}�n�̽��0	��p���mcn�
���ɘ�_�\��l������}�	���9�F�v�Hþk�JZ�NO �mZ���Q��Ҥ	aS��f��
-)QC+2
-d���[���	����H"t*�
�c*b��ڢ��q��,����#S��#��u�'Ҭ�:4�as���CDM�F�|ɸm�_�1L]��Y��\���*�X��>t�����g���D������d@&[�)8��;<�{��8<��+VG\�H���^��a��a�e�-4��s�J�A	\��hM[�\`���#�pD5Z97g;��BW�m��qTXX�%0��v����&��]E��4]�F�IJ�����&�S�_��4�R�0���D�+�me���Y	�g��O��+M{�03�v�'ͅf���t����:;�ر�	N��n�\ǔ^�,)1�l��aB�ZZ��[��	��	�ZS���UYh�߆��w����S�\�/�*?zQЋ�`�X4�g�r��[��CW��G�.�Y��0Q|�Rԃ�E�[w���y�)���,ш�$�NK@c/b
--#Z�I
�G$Ɨ���tm��H#��)X�wPZAD|�S
o�f���T���H��)������>�M1�b
7���ɆS�u��q�
-���jK4[s���	���xL ���Ǣ��]5�!M!A�dƧN��><�:ǻZ(�8����)e���
 ����/�W���|
��b����<�����T?%� �:@���,-���ecMP�8u�m�V�g��9H��6���}�=�5����Ab�Ď���찁�Ι�V:���_�leɹ�
-��v�`�0��!$`G��A"I;$�^?�����Ke	O� ���N(ս���Yy�5B��w��V�%�ju;)lF�oa����7��x���ڸ�4-��%� ��$�ֹ/zskǘ(sh>��DD�Ń�t�T�7�rur���0�Ң�`ܴh5
5�������S�}������4hrva��l�c!ZjB]������x�D���b�Tx�zYS��6_�)��o��p>�#�@P�S�*�b�S\qƋx�YfQ><"����
Y6���IE�r_7�ҰV�H�!���I�r�EL�6�!N���q"'�d��a�qMv���A�%�����	�v����n<Eб�;��,�w��2pO%�r��X�H�`�uI#�/�K���;�56��LL.�MI8�q��4U�n�rɡ"s9�(��@=��}N��)?S����.�r�0L3�m7V��K HG�/�yQ���2�/Ww�F)���d)s��F�7|���vQ̴�A�Iz`�\��������䄛<>�.;��A/���2ʲ��a8D$�GWv�#̏�
9�k��'���o؟�o�@���	(]gk�+}/	(nq���K(f����Ɵи�p���2��3Y����w��pD�dG�q2$��}�KӯA�"�E&N�tg'Ne�s��!Ю�4q�o}쿝�S���,o�jr/s�T�MT�&���Qf\12�h'&ctN��'T�x7��]2� ;G�	ʅ��|T�++:%/ ������1T�������ˀ�<���4������͔���˗	�,0~��!�W�O��'� ��:s�u���Ҧن��(�^ﮎ����)��7���f���ml��ҹ�1ūt��Z��h�
�L0����6�X"J҂�
-��4�9�� �֩B�}��ԭ`�`�����Ӓ�	#�J��n����_�F� H|��$O�K��=�œi1���7��o-H�q���p[ɫ%%:��Ɉi3۠��G C��LL�4�S�:�dB�j|��pY��S�D�P>�p�v���5KLe�{t0��y�END$�*�;z�5��N��BI��gn��.N�|׶��n���R�aS�Z��JcH� m��X����e�k;_6�,y��b��0#�Z��A
e|w���G
U�1l��LD�7ÄV�q��t[�xu�E�QUL���PB�lZSh��.��1Q0U�ٱ8R�i��p;��{��H#�GON!?��t>�Q	|p�k����q!�gT,��j��2��sǍ4툊t�j��nƛ/I�O�E!ˋnF��4����M&�1�����x�$�ew+v�S��
-bm]e%8��P��
-!����s��_06��)Q�2JB�����[t9���'���Ԝ,����[�f�Æג�]��B�B�@���r&B�s|�Q�
����g��OC��1��J D�<���U���μ�(o�!��h���K�H�� 0q����A�V��'p�f�y"Q
-O��2�Z���q��#d"�@bQ�,���w)�P�\b`x���O�)ޢd�MC�$[Ho��Wަ�va4{�DZ`52�����5;��X��ao�K�;�6�%�R(�����хx9�8�2r�Dc��@و�����F�<�d(�AN#F�I���zmE���F=���ƚ��S��f
-4�8�<'���j���-���'ǘ<�Tb�2�v�E�t��q��3qODd_��{`/�hh���`’9_�1hAY|/���޷U�-͕���A���o(���"�$r؆T��PR;�.�-w>&LJ�iC`A�^���#���X8�t���H?�d��a�ĖTST�a�H�0@����U)����^e}Jb7%�ܔ%:��ƿ@���M�+�y�sq�����L�������Y�00Ô�G�D�	>ĩ�AW���2�I�:��F	����3�2<k�}[{�*�"A�z0��:@���1�A:�����ܤh�X��C�񓓣9�8����E�����U��eu)[?�mt-5�r�~J�ݪ�V2li)�՞<�ҳ?�(D���;)��o  (����XI�I$����$�)�'i(��*��_��E	K��*�4C�k����wkOI�FfQ$8γ�;(0+.�9���9u�$��0��t�170��fȦ

ǒ�aO�=T,�m;���n�����˸��Χ�c�<9�0�<���
_�=g �QV&��B�܀�%f�3`5�F�ݶ�~��`6d�.�2`?���]�}�O�0^�A�K�N\Q�(I	{����p[Ꜫ�4�$6x�P&� :�'�7u������	���&���R��d�'�
ʹ#{*W����l��D�Q��̎.*ZE��
�c���7��|4��Ղor\�*��
-HX���'�#k?WR���mP�x�$ٓ]����
ׄFK� ~�4;
[Ҋh2�A�ɉf���<P
dg���)�!b#Z�?0o���[��E�hX�$�����S��ؾe���N��$����=�8Ш"^	�V�cFD��x�����RX�C�X���.:F��q,���1)b�B�1
�+�Q�)�_�OyE���	
-�������nTp ��}1`�#
-ףd-�֥#�O��ℚt��:5Ћ�/<b0�'m�oqI���B��FW��.�\k�c�5ߦ-v�T[͂������� ���-4�:dݗu��[	8:P금���BT���U����Q�,F24�l�EO�?�D�k��{
�1�k6)R�̘GI��6�Yp^U��!A�@�{xg�#^/	��E�Tz��Ēʻ@:F�'\�Q6�t,��pT!i�
-N!�dG�B��^
-�$@yn��_u�U��C���K�_K62��B|
-^����T�mr���LDgʿ�f�)!-�����o���ch�}��@o�[r�E] ��/i�WJ8�Ogb�ӁF�e�(/��EΠ�yO��LB��]IkTډa��bV���
-��
-	2����ց%�b���j���g��'���2�-6���D�����JZe'	�oBi2��+]x;S�P���{�{Ju�m��f^L
-S0�����~o�����-���S�Ec�*�vl��pOm�@��v	-S��D;<U�C�Y������nA)�pxO�@�i�L���7�E`K\�J`�9�U$�	p�'�Տ�����3�v
+��n��%�lS�}��A��Nj0*���׳48���i%�����8��P5�c��#��T$F�?$���L~�I�QN_�MC
-Tn�L�`)e|Ȑ�!d������ܑ[�s��D�\Vo��gF���G(1� ��OJB���J�FR%p���3N�P C�S����@pM����vA�f,- +�H�Ft�,����wfA�������)y���^�Ƹ}�N�+s8Z�$j�NF����i#�l���h����P!9ge]�i���h����f�v'�l��!��yn�O��]3��i��я�F�	���Pkc�\�
-`���@�92�
z��X��;]۩�i�%[5����p�8Q c���d��\�Lo��;jP�/���n�g���[��qB�QP;��,V�e���3�Pr�'ط�4Y��� 8��[%���c�
-^�`���	��PjL>ʠ�q����:6S����]K��"���g[��	�ϑH���B�5�VEq�LJ��X{C����B����!�P�I�q9��Llx��ʪ7�>֤��]@�!@9H�!����p�ə�$	�?��)���܎�l�/"���́��+�@`}}:\����	8�zQgS��+򒤿��C��}�R:��H�UF\�X��g��/��AZ%c1�wlET��wX�ZNh����yf2D� �ø�&v�L�q�4�7����z��\�iJy��J-k�N�3���	�-�s��J5��)�V0�N0�d�\ӛd0d-��E�[mf�\�Um�x���C�R<(`�ѕ��p4^!�h�Q��`���!l� ~ƙ�:J�ɠ�l�W���9˸�ZXB=��l)`j��eVJ��U���G!�s��1�?Ƽ3��Ê.�}bIa��6�ʕ
�t?����SxZJ'�p
-i�,�.�����R2T`5��-R
-Bxr�WH�JP�e#Bb�|���-������[�����P������Eh���‹(5S���f�r��/]���IƊ
��d��E#��O�S�3�9ӻ]����e��ۮ�ɹ.9_�b�e��M���9b#e��(��-� 0����Ra����9����"������U,��%�~�X�܀����z�۽{'6[@�t[W%��*.d'vR {���h��!�Aed�C�E}�x=E[|�B$7J�* B-��,=k7�[_��-�I�������J5e�̶��{
��(	��;�WMw�`����~p�A��z 8��f�))���(��@	�Īم��<���.a%N ��n�@bz��������>����%���T*?lgb�d��<�ĵ���w9Na���8;<^*%��y�:tD�ҕZ<@��0����q4����l\
��1������`/�$IJ ғsN)�;:A;�)$ו
-�Ww�y%Kr�Iv\b�V��\n�d{����6t��v���/~���*O��
-7U>�8�r�AC<�j�E�-j��牷��xs�)���D���1�Ì/��q�p**̸�$ّ�,��
��B�ȼp��k	Mhp�K�7�U��]���h&�-�$�鎻����Y��;�q��6w�z���W��˄֭A�h��D��^R���"��s5�f���w
���+�Q&�/9Ȃ���wNb�����������z{�����Y�>
-]NE���c,ߞ#BF�:0��/-EȾ�Œ�׃�F\���I�{t��A�Z�C�OR�uk�i���)�ytkd�N�&�v�A���P{�����P'��>���x�Ɔ`.��%,;:Կ�:������aF�oTQ�}v#��ף���Qk��'�s������~����z5hM�Qʒ�Y>C��ʍ����i��U���NF#J0u��C���8k�!
-f���v�{E�/���IKIE�>�p�yd��e	
-ʾ�=z�:@7�J�����|��5g8��x�3�O��������
-�3�H1��؄F.�y�fz��WIM����j[�.w�%�i?҆U��f|}@+[8�k7Cx��S���EOޯp�$�����Q�+��:�<�]���K�3��T-y���[N��z���;y���-HZ��Y^��.�M�*�'h8��A�.�N�2r��LB�7:Or���}�C�S˚S9�Jq#�WI}*8�D!��#	g#Y�>8`�
-�В��?a��2H,^���'���?���^����n�h�Oƒ��i<����Ya2�+���6a�F��a<�!��0��2�]�c:�e�K��X�X�[Ug�O�u5i�yPcV�T��5RI��A6�OԸi
��C�\�����QZ�M�D�ƃ����B!X��:���\!�^��"{�E Vax$P	\$�DBBT��Ft�~��{O���
w����5a#�`��=�g��Ё�Y�2>��MG�-G�k�è��1T�b���L
-�`*ـ�V�X
-��*�x�e§֊�Z*c`�V�S�b���JU����*6�TK@�zqP����h���g��*ߔU�(��QU4��9L�
-�cM�*��T��R!R,B�ȅE�����*C|Tz��p��F��@��4��*��������텰��ج�X�b��L�.��T2�y`���Upb�����
-���T�,��%@`�����#��?@�t����GL��Ş�S�)��ÿ�z��tϲFy׎� �14�Lh�������f�����e�(.)pK�@\����X�e@�Tb�v�h�D��&�0-I�bD�	d@�ZD1�@��D�y���ѧ�CN|
9�4��Ӛ#Ncl���;��,
�`c�X���@�(��2$0�"@-	��$�B@��<$�А���8p7C����b�(�@�
-PA@��F��0����t������G���OR���IJ�I�T�yS��MW52\T�oR�KV�0Ȏ����(
--�$������
�!6���w��H�������G���O  r~�e~/�]���V~/�P~7�Sz�K���Fv`;��`9v�#
-J���B�N�,�����ӭ�'���`���'��`\LT���ApBs�)r�!�
-�(
-�i�`<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg> ��������pFFTMm*���������GDEFD������ OS/2g�k���8���`cmapڭ������rcvt �(������gasp��������glyf}]�o������headM/��������6hhea
-D�������$hmtx�� `�����tlocao���������0maxpj��������� name�,���������post���5������
-�webf�TP���T�����������=�������v�u�����vs�������������������������������Z�����2���������������������������UKWN�@� �������{�������������� ����������,���
-��������h�����,��
-��������h�@��(� �+���� 
- / _ � �"#%�&&�'	'��	��)�9�I�Y�`�i�y�����	��)�9�F�I�Y�i�y�����	���!�'�9�I�Y�`������� �*���� � / _ � �"#%�&&�'	'���� �0�@�P�`�b�p������� �0�@�H�P�`�p������	���!�#�0�@�P�`���������f�b���ߵ�i�Y������!��     
- ������|vpjdc]WQKED��������������������������������������������������������������������������������������������������������������������������������5��� ��� ������*���+��������������������������� ��� 
-����� /�� /����� _�� _����� ��� ������ ��� ������"��"�����#��#�����%���%������&��&�����&���&������'	��'	�����'��'������������������	���!���������&��� ���)���0���0���9���:���@���I���D���P���Y���N���`���`���X���b���i���Y���p���y���a�����������k�����������u������	���}������������� ���)�������0���9�������@���F�������H���I�������P���Y�������`���i�������p���y������������������������������������������������	���	���������������������������!���!�������#���'�������0���9�������@���I�������P���Y��	���`���`���������������������������
-���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(���������(��h ���.��/<���2��<���2���/<���2��<���23!%3#(@���� ��(���d�dLL�[��27>32+&/#"&/.=/&6?#"&'&546?>;'.?654676X&
-�j��
-
-��j�
-)"&
-�j��
-
-��j�
-)L
-��j�
-)"&
-�j��
-
-��j�
-)"&
-�j��
-��������LL�#��32!2#!+"&5!"&=463!46��^�����^L�����^�^�����p��@L�E��32!2+!2++"&=!"&?>;5!"&?>;&'&6;22?69�
-��
-x
-}
-x
-}���
-x
-}��
-x
-v��
-���L
-���d����d�l
-�����d����;��2#4.#"!!!!32>53#"'.'#7367#73>76��p<�#4@9+820{d���d��	09B49@4#�bk��v$B�dp�d�>u��hi-K0!.O2d22dJtB+"0J+�ku�0�wd/5dW�%����{��L��>�G��!2+!2++"&=!"&?>;5!"&?>;4632654&#�^CjB00BjC� 
-x
-�
-�
-��
-x
-u��
-x
-u��@--@�$?2O*$$*P2@%d��
-��d��
-���BVT@�����L����!2#!"&=46� ���������������%�A��+32!546;5467.=#"&=!54&'.467>=�2cQQc2��2cQQc2�A7  7A�A7  7A��d[�##�[����[�##�[d��d<c2<2c<��<c2<2c<d���������������1����,�A���2632#!"&5467&546�n�,,.x��x�OqUB�Awa�xy�rPEk��������d�������32!546;'&>76!'� 	
-���Pԇ
-	 $
-op	zy���#��%**%�$	���p�������d�L���#�7��!2"'&6&546	6'&4#!"&7622?62~
-������
-
-�
-
-��\l
-��
-l��L
-��7
-�����
-&
-��
-��
-���
-
-l������������	�
����2'7'	�&�

c�_"���f���n�
�&\�`�t���f�jpO������������32!546;!����������22&&�����L����%6.676.67646p�'0SFO�$WOHB��XAO�$WOHB��"��7Q)mr	���*`)nq&*����	������)���2"'#'".4>"2>4&�ȶ�NN;)��w�d��NN�r��VV���VV�N��d�y��%:MN��ȶ�[V���VV�����d�X�D���>.54>�0{xuX6Cy��>>��xC8Zvxy�DH-Sv@9y��UU��y9@vS-H������^{����62!2'%&7%&63�������������� a����o��������^{���"��62!2'%&7%&63#7'7#'�����������������J��J��N a����o����d�⋌�����������&��2##!"&=467%>="&=46X|�>&	f	
-��
-	f	&>���|�.hK
-�
-]
-
-]
-�
-Kh.�|����
�����L���#�'�+�/�3�7�G�K�O�S�W��!2#!"&54635)"3!2654&33535!3535!35!"3!2654&35!3535!35~
-
-��
-Ud���
-
-&
-sd�d d�d d���
-
-&
-��d d�d dL
-��
-
-
-ddd
-��
-
-^
-dd�dddd�ddddd
-��
-
-^
-ddddd�dddd������LL���/�?��!2#!"&546)2#!"&546!2#!"&546)2#!"&5462��pm��p����pm��pL�p��p����p��p���	����LL���/�?�O�_�o�����32+"&=46!32+"&=46!32+"&=4632+"&=46!32+"&=46!32+"&=4632+"&=46!32+"&=46!32+"&=462����������������������������L�������p�������p������������L���/�?�O�_��32+"&=46)2#!"&=4632+"&=46)2#!"&=4632+"&=46)2#!"&=462�����D�������D�������DL�����p�����p���������&�,� ���	62"'&4?622�;��������;��������n�nBB�#��	"'	"/&47	&4?62	62�������������;��������������������%�I���2"'#".4>"2>4&3232++"&=#"&=46;546�ij�MN,m��w�b��MM�o��XX���XX���
-K
-
-K
-�
-K
-
-K�M��b�y��l+MM��ij�MX���XX���#
-K
-�
-K
-
-K
-�
-K
-���������%�5���2"'#".4>"2>4&!2#!"&=46�ij�MN,m��w�b��MM�o��XX���XX�X^
-
-��
-�M��b�y��l+MM��ij�MX���XX����
-�
-
-�
-����������-��32+"&5465".5472>54&&dd��[���֛[ҧg|r���r|��p��>�ٸu֛[[��u�'>�7�xt�rr�tx���d�������/�?��32+"&54632+"&54632+"&54632+"&=46�
-
-�
-�ޖ
-
-�
-�ޖ
-
-�
-�ޖ
-
-�
-�
-��
-
-~
-�p
-�
-
-�
-��
-�>
-
-�
-�
-�
-
-�
-���������G�O��27'#"/&/&'7'&/&54?6?'6776?6"264X!)&1-�=+P��P08�,2&+!)&1-�<,P
��
P/:�-1&+x�~~�~��P09�,1&+"(&1,�=,Q��Q09�-0&* !(&0-�=,P���~�~~���d������!�%�)�-�1��!2!2!5463!546!5#!"&53333333�,);
-��
-;),,;)�D);dddddddd;)d
-KK
-d);ddd����);;) d�D��D��D��D���������62++"&5!+"&5#"&l`
-�
-�
-��
-�
-�
-j`��
-��
-
-w��
-
-?
-��d��������3!#!"&5463#"&=X;),��R���p);�vL�p���������0���2".4>"2>4&3232+"&546��֛[[���֛[[����rr���rr�|2
-�
-
-�
-�[���֛[[���֛;r���rr���

-��
-2
-
-^
-�������������)#!3333��)�)�����������p���,�p��,�����d������/��3232"'&6;4632#!"&546;2!546&��
��
&
��
�T2
-
-��
-
-2
-���>�p����
-��
-
-^
-
-��
-��������1���2".4>"2>4&3232"'&6;46��֛[[���֛[[����rr���rr�|�
-�
-
�
&
�
-��[���֛[[���֛;r���rr���

-����
-����������1���2".4>"2>4&%++"&5#"&762��֛[[���֛[[����rr���rr���
-�
-�
-�
-
�
&�[���֛[[���֛;r���rr�������
-
-������������9��!2#!"&'&547>!";2;26?>;26'.��
-�������
-W
-�
-&
-�
-&
-�
-W�
-�t�W
��
-��>
-�
-
-�
-���������'���2".4>"2>4&&546��֛[[���֛[[����rr���rr�����[���֛[[���֛;r���rr���]�$��������(��76#!"&?&#"2>53".4>32��
-���m�t�rr���r�[���֛[[��u�$���
-�Lr���rr�tu֛[[���֛[����������5��76#!"&?&#"#4>323#"'&5463!232>�����n�t�r�[��u��[��u���h
-�n�t�r$����Kr�tu֛[��u֛[v�
-h�Lr����
-�d�������/�?�O�_�o�������!2#!"&546!"3!2654&32+"&=463!2#!"&=4632+"&=463!2#!"&=4632+"&=463!2#!"&=4632+"&=463!2#!"&=46}
-
-��
-���
-
-R
-�2
-
-2
-��
-
-�>
-�2
-
-2
-��
-
-�>
-�2
-
-2
-��
-
-�>
-�2
-
-2
-��
-
-�>
-�
-��
-
-~
-�
-��
-
-R
-d
-2
-
-2
-
-2
-
-2
-�
-2
-
-2
-
-2
-
-2
-�
-2
-
-2
-
-2
-
-2
-�
-2
-
-2
-
-2
-
-2
-��������L���#��54&#!"#"3!2654&#!546;2�uS��Rvd);;)�);;)��� �SuvR�;)��);;)X);����d��LL�	�7��32#462#".'.#"#"'&5>763276}2
-d�!C@1?*'),GUKx;(.9)-EgPL
-��3
-0�[;P$

9�7WW���������!�1�A���2+"&54. +"&54>32+"&546!32+"&546��ޣc
-2
-�����
-2
-c�*��`���c��t��
-
-,�rr���
-
-,tޣ���4��4���������G���9��%6'%&+"&546;2762"/"/&4?'&4?62A		���
-
-�Xx"xx"xx"ww".�
-�
-�
-^
-�x"xx"ww"xx"��������r���/��%6'%&+"&546;2%3"/.7654'&6?6A		���
-
-��
-`Z	HN.�
-�
-�
-^
-d	���	g~�j��������b���1�K��3#"/.7654&'&6?6%6'%&+"&546;2%3"/.7654'&6?6��D@
-	*o;7	*��		���
-
-��
-`Z	HN�	��i�T	"��Z�G	!��
-�
-�
-^
-d	���	g~�j����
�������	����!�%�-�;�?�C�G�K�O��3#!#!#3!##5!!!!#53#533!3533##5#535#5!!#53#53#53!5!�dd�pd�������dX��,�,��dd�dd�D���d��d�dd�,�D,ddd�dd�dd���,�dddX�d�,,�d��,��,�ddd���d��dddd�d���,�ddd��ddd����	���������������#��7#3#3#3#3#3!5!#53#53#53ddd�dd����dd,������,�dd�dd,�������������Pdd[[[[[�����
-���
���	"'463&"26���0�V
-C;S;;S;��V�0��
-�;;T;;�������
-���
��!��	"'463!"/	&"26���0�V
-��08��D��;S;;S;��V�0��
-�V�08���;;T;;�����d�����&��!2&54&#!"3!2#!"&54?6,9K@
-
-�D@
-�
-
-��
-��K�|@
-�
-@
-
-�J
-
-���������L��
-��!2	46� �>�>�����C������������E�U��!"3!26?6'.#"#!"&/.+";26=463!2;2654&!"3!26/.6�DN9
-�
->SV�
-N
-��
-N
-�
-
-�
-
-�
-
-�
-���
-&
-X
-&�
-��l		l-
-�p
	�	

	�	

-�v
-
-�
-
-�
-
-�
-��
-�
-
-�
-�������d�L��!�)�1��3232#!"&546;>35"264$2"&4��8]4$�);;)�);;)�	'3]�d�Ͼ������V<<V<L);;;)��);;)X);E5+��ddF�����<V<<V�����5����� �#��	!526/!3!567>?!��(%	
-�_5,R�y:"	*2��8��T���2*BBW-ޑY".BB%

��Z������d�����'�2�;��#!5>54.'52%32654.+32654&+�50;*7Xml0�);!�9uc>--���Ni*S>v�PR}^��3:R.CuN7Y3(;	G)IsC3[:+	1aJ);4��ePZ�������o����!56764.'&'5mSB�	,J���
�95(��1(aaR@	9����������%�/��#4.+!52>5#"#!#3'3#72&�2�p"�&2���KK}}KK}� ��dd	R ,��১ ���!�����%�/��#4.+!52>5#"#!5!'7!5L2&�2�p"�&2�C��১ � �vdd	� ,��}KK}}KK������L���/�?��!2#!"&=46!2#!"&=46!2#!"&=46!2#!"&=462X���� ��L��Ldd��dd��dd��dd������L���/�?��!2#!"&=46!2#!"&=46!2#!"&=46!2#!"&=46���D�L�����D�L��Ldd��dd��dd��dd������L���/�?��5463!2#!"&5463!2#!"&5463!2#!"&5463!2#!"&�X���p��� ����L���dd��dd��dd��dd�������L���/�?��!2#!"&=46!2#!"&=46!2#!"&=46!2#!"&=462L��L��L��L��Ldd��dd��dd��dd������L���/�?�O�_�o���32+"&=46)2#!"&=4632+"&=46)2#!"&=4632+"&=46)2#!"&=4632+"&=46)2#!"&=462ddA ����ddA ����ddA ����ddA ��Ldddd��dddd��dddd��dddd�������L���#�*�:�J��!#;2+"&=46!2#!"&=465#535!2#!"&=46!2#!"&=46�dd�dd��������,��X��Ldd��dd�}KdK�dd��dd�������L���#�*�:�J��32+"&=46#3!2#!"&=463#'7!2#!"&=46!2#!"&=462ddgdd����/�ȧ���,��X��Ldd��L��dd�dK}}�dd��dd��������������!2#!"&546	K�,,�,,���,�,�v,,�,�D,,������L�����!2#!"&5467'2"&4,X��J�*J%���pNNpNL��d����>���tNoOOo�������6�����2.'&54>"264�u�sFE�66	!^Xm)<Ds��������x�us�m�?>!fh�H�uX�yHÂ����������������2".4>"��֛[[���֛[[�Kt�rr��[���֛[[���֛�oVr���r���u����5��.54>6?6&'.'&76#&*IOWN>%3Vp}?T�|J$?LWPI�)(!1		) H�uwsu�EG�^F&:c�YE�vsxv���!K�:%A'#"
-A)Y���������l��*�/��7>%!2!"3!26=7#!"&546	7�l
-l��27���);;)�);Ȼ��p���8���7c�s*
-s�
�;)�);;)���������������2�c������L��6��!#"3!2657#!"&546&'5&>75>^i�4�);;)�);ȹ��p���S��9dTX
-.9I@F*L�6;)�);;)�g�����������	�
0!;bA4�
-���������L��5��!2!"3!26=7#!"&546	62"/&4?622^^<C���);;)�);ȹ��p�����e���eoL�;)�);;)E�ۥ�������3�e���eo����
-�
-���;��	62+3546&=#32"'&6;5#'&47635#"&>
-��
-��
-Ȫ
-����
-��
-��
-ȯ
-���
-ȭ
-����
-��
-��
-ȭ
-	
-��
-������L���326'+"&546�d��0dL�J����J���������L�#��3266''+"&5462d���0�0dL�J��J����J��J��������3���''&4766��0������J�*��J�������36���&546�.��2�������d������32+"&546!32+"&546��������� �� �����dL����#!"&5463!2L�� ��� �������3���46&5&546����0d�� *� ��;�������O�#��72#"&5&5&5464646dd�1�2��N���:	��9	�	�>�	�=���,���L���32+"&5&54646Rdd�0�L���;��;����d���H����	#!"&762!2#!"&=46��	��	�*����9���Hdd�����uJ���		u��`���(������(&����;��(J���	'	7(���a���#���aa��������3���2".4>#"#";;26=326=4&+54&��֛[[���֛[[�}d��d���[���֛[[���֛��d��d��������������2".4>!"3!26=4&��֛[[���֛[[�E���[���֛[[���֛�~dd�������3���2".4>"'&"2?2?64/764/��֛[[���֛[[��	xx		�		xx		�		xx		�		xx		��[���֛[[���֛�	xx		�		xx		�		xx		�		xx		��������$���2".4>'&"2764/&"��֛[[���֛[[�T��w��[���֛[[���֛�1U��w�����������;�K���2".4>";7>32";2>54.#";26=4&��֛[[���֛[[�?<B2!�
�(#"3D<:�
-
-�
-�[���֛[[���֛�/O2*(8\6/H*	��
-�
-
-�
-���������>���2".4>#";26=4&#";#"3!26=4&+4&��֛[[���֛[[���
-
-�
-
-�
-
-KK
-
-^
-
-K�[���֛[[���֛V
-�
-
-�
-��
-2
-�
-2
-
-2
-
-��������/�_��3232++"&=.'#"&=46;>7546+"&=32+546;2>7#"&=46;.
�
-g��
-
-��g
-�
-g��
-
-��g�
-�
-Df�
-
-�fD
-�
-Df�
-
-�f�
-��g
-�
-g��
-
-��g
-�
-g��
-�ͨ
-
-�fD
-�
-Df�
-
-�fD
-�
-Df��������?���2".4>"2>4&"/"/&4?'&4?62762��֛[[���֛[[����rr���rr�@||@||@||@||�[���֛[[���֛;r���rr���Z@||@||@||@||����������0���2".4>"2>4&"/&4?62762��֛[[���֛[[����rr���rr�j���jO��[���֛[[���֛;r���rr���}j���jO�����������!���2".4>"&32>54��֛[[���֛[[�Kt�rAKi���hst�r�[���֛[[���֛;r�txiKA���>r�ts������S�����6!2#!'&4'
-&����F�
-�����
-
�
&�������S�����	&5!"&=463!46
-����&��U
&
�U
-#�#
-�������]����	#!+"&5!"&762��
-�����
-
�
&�����&
-������]����32!2"'&63!46&�#
-
�U
&
�U
-#�����
-&�������]���	&5>746
-��^���$,[��~U�U
&
�U
-#$DuMi��qF
-���������+��!2/"/&4?'&6!"&546762R,^�j�^�!��^�j�^���^�j�^�P,^�j�^����I�Igg��+��#!"&546762!2/"/&4?'&6�j�^��^��,^�j�^`j�^,^�����^�j�^�����������/���2".4>#";2676&#";26=4&��֛[[���֛[[���:#6#:1�
-
-�
-�[���֛[[���֛���.�
-�
-
-�
-�����������I�U�a�h�o��276?67632;2+"!#!54&+"&=46;2654?67>;26/.'&;26!"&5)#!	�&�0


-=
-
-2
-�p��p
-2
-
-=	��
-�
-
-3�5�3
-
-���
-�X
-���
-
v
	
v
-!{,	
-2
-
-�,�ԯ
-
-2
-0�y�
-
-�
-��
-�
-
-�r
-w��
-�����������+�I��6.'&&&547>7>'.>7>&67>7>7>�-Bla�b�D8=3�*U 	:1'Ra\�{�%&�=>8\tYR-!�q[Fak[)����ȕX1�"@&J<7_�?3J5%#/D	&/q!!6ROg58<'([@1%@_U2��]�r��O��.>7'&767>.'&'.'&>77>.'&>�'
-'8GB 
-
-	`�H 
>JS>H7
'+"	NA
-5M[`/Pg!;('2"&"IbY�C�e\D9$886#1%)*����J7gG: 
 8G\au9h�oK$�]54<<E"5cQ8	
.@AU!U�hQ)�������j�F��?�Q���2".4>&"&5476&2>76&'&6?6&'&'.��{nO9:On{���{nO:9On{���FZ
2Z_���_Z2Z��#		%8-#,-"F-I\b\I*I\b\I--I\b\I*I\b\I�9>|��|;7Es1$F^D10E^E$1u$/D0
"%,I�����������'�;�L��!#7.54>327377>76&'&%7.5476&6?'&'.P�[�vY,9On{�R=A �&/l�'Pj�R.Mv&6�QFZ
*HLh5)k�|#		%8-,-"xatzbI\b\I-y�R�U�4Zrnc�1�?1FrEs1<QA9
��n;7p$/D0
V,I�����������(��'6#!"&%!546;2!32+"&/&6Z�8�%��%
-Y
-�
-Y�Ch�:#6#:d*!�� GD�K
-
-K��������d����(���2'%/&=47&=4674L|Xk��d��d��k�X>����1)
���]@	��	@]�
)1ES>�������L���'�+�/�3�7�;�?�C�G�K�O�S�W�[�_�c��3232!546;546;2!546#!"&5353353353353353533533533533535335335335335Rd2��2d��dddddddddd�|ddddddddd�|ddddddddd�2��222�p���dddddddddd�dddddddddd�dddddddddd������w���%�7��&=#!"&=46;3546'#"&=463!&=#'73546o��������X����z�#���z���*����dX����zd�M�*����z���������L���!2#!#"&546d�);;)����d);;L;)��);��,;)X);����d��L��	��?��32!546!32!546".5!2>&54=��������(Lf���fL(,
'6B6'������p��)IjV\>((>\VjI),�	+'%!	!%'*��������L����	'L������'��a���'�����M����	7	M�����aa��'���a�����Q�d_���)��!232"/&6;!%+!!"&5#"&?62����*������������*���������p�&���������0��32!2#!!2+"&=!"&=#"&/#"&468^&�d,!��02*��*�6��%�%+�*2222	
-�*���������L����!53463!2!!��P�;),);�D��P�dd);;)���������L����3463!2!!���;),*:�,���P, �pX);;)�d�D��E��k����+32"/&6;#"&?62{����*����*������Y�����D�k���&=!/&4?6!546�������X`�)�	��	�)�	��	����������	���!��.#!"!"3!26=4&53353��$�`$�-�);;)�);;��ddd��-(�d;)d);;)d);�dddd������d�L��#�1���2"&54%##"+"&'=454>;%".=4>7i**d�]&/T7���"L��R�����Q�
����)2(����J��f��,�5��3232#"./.46;7>7'&6327"&)^Sz?vdj�O9t\U>/v?zS$24517F8�%M���)(
-()�GM~ ��1==��������7'''7'7'7'77 �N괴�N�-��-�N괴�N�-���N�-��-�N괴�N�-��-�N괴����d���!�-�=��32!2+"&/#"&54?>335!7532+"&546�2(<H(<�,�F=-7�`
1d�d����>2�vdd�Q,�}Q,d-��!2$'�$��(d����dw}��������������L� �0�<��32#!+"&/&546;632+"&546!#35'!5X�,�<(��<(21
`�7-=|��dd_�d�d22��L!��-d,Qv�,Q(��$�'$dd��d���ԯ�}w����dO��7�G��%6!2+#!"&5467!>;26&#!*.'&?'32+"&546dkn
T.TlnTj����:d%���8
-	�V�Oddi�p
&yL�N��(�

%
-H�	YS(22�S���������d�O��6�F��#!"&'#"&463!'&6?6*#!32!7%32+"&546�n
����jUmlT.U
nJ�	
-�%��&j��PddO���
�(SN�Ly&
p��d(��Y���������a��L��7�G���2#!"&/&?>454&/!7%.!2#!"&=46ސNS(�
��%
-	�p
&y�22�S��Y��(���nTj����kn
T.T���8
-	�V��d%��dd�������-�I��!26=4&#!""&5&/&7>3!2766=467%'^��N�Ly&
p�

�(���S�22(SYLdd��jTnlT.T
nk������V�	
-�8��%d�������%���2".4>%&!"3!7%64��֛[[���֛[[������
-
-�[���֛[[���֛�9�
-�
-�
-�
-
�
&��������%���2".4>
6=!26=4&#!54&��֛[[���֛[[�%��
-
-���[���֛[[���֛��
&
�
-�
-�
-�
-���������%���2".4>&";;265326��֛[[���֛[[�K�
&
�
-�
-�
-�
-�[���֛[[���֛�@����
-
-��������%���2".4>#"#"276&+4&��֛[[���֛[[���
-�
-
�
&
�
-��[���֛[[���֛�
-����
-��������������2".4>%&277>7.'.'"'&65.'6.'&767>'&>7>7&72267.'4>&'?6.'.'>72>��՛\\���՛\\�d+:
-=?1	""/?9
#hu!$
0E.(,3)(
	 	
-*!A7,8
!?*
-
-�\���՛\\���՛	'"r"v	G
-	.&*
-r$> #1
	
-
% 
*
-	'"	
$g2(	%
-������������67'"/&47&6�������PM<�;��+oX"O�\e��~Y�+"��n+We�����`�����#�'�7�;��!2#!"&=46#3!2#!"&=46!!!2#!"&=46!!d�);;)�);;����);;)�);;����);;)�);;��,�;)d);;)d);dd�;)d);;)d);dd�;)d);;)d);dd����d��L�����!2#!"&46!���|;�����**�D�����������d�����%��32!2!5#!463!54635#!"&=��);,);���;),;)��;)�);�;)d;)�pdd�);d);ddd�D�);;)������������+�A�W��!2"/&546)2/"/&4?'&6#!"&54676276#!"&?'&4?622,^�j�^5,^�j�^�/j�^��^��^��^�j�^�j�^,��^�j�^�&j�^,^��^��^�j������������#�;�C�K���2".4>"2>4&$2"&4$2#"'"&546?&542"&4$2"&4��ݟ__���ݠ^^���oo��oo�--  - L-  73H3)z	��-  - -  - �_���ݠ^^���ݟWo��oo�� -!!-  -!
-�$33$ 1~� -  -  -  -����Z���[��%676&'&#"�3276'.#"&47�7>32#"&'&6767632'."�[v_"A0?! ��-
	Y7J3$$
��)G"#A.,=
#(wn�kV8@Fv"0D�G([kPHNg8B�*��[eb�2!��5(7>B3$$'��)M"#!7)/c#*xn�fL@9N�D�H7!$�W]�B�$&����d�X�D��D��>.54>"".#"2>767>54&�0{xuX6Cy��>>��xC8Zvxy#!?2-*!')-?"CoA23:+1!
"3)@+)?j�DH-Sv@9y��UU��y9@vS-H-&65&&56&oM8J41<*.0(@	)*D*2Om��9��w���.���2&/7'/&477"/&4?��B�B8"._��{�i�BBi
-	�BB��B�B�BB7._���B�B^*k"5._��{�j�B�B�Fi	�B�B��BB�B�B77/_������������������2#!"&54>!�"264��d:;)��);<f>X��V==V=�.2�G);;)�3-��D��=V==V����������	"/''!'&462�*$��������3�,#*���*#��������4�$*����'�	��2�@�K��#.'#5&'.'3'.54>75>4.�&ER<,�
3'@"<P7(��d�W(�WJ.BN0 2Uh:**&	h)1"37�N,?iB$.,��
-<d>��MOW(kVMbO/9X6FpH*M�6&+���	 4C4%����d�f���J��2#4.#"3#>36327#".'>7>'#53&'.>761T�^�'<;%T)��-6"b �"S5268 jt&'V7	0$ݦ
--$a�P�N(?",9J0*	d2�>2
-"�"�

-7�Gd/9+DAL!X������������32"/&6;3+##"&?62���*�����Ȗ�*,�����|�������������%��#5##!32"/&6;3353!57#5!�ddd,����*����dc������,�dd��|���d����d��d������������!�%��32"/&6;33!57#5!#5##!35���*���X������,ddd,�d,�����d��d�Pdd�d��������L�������32"/&6;3##53#5#!35���*���Xdd�dd�,�d,�����d�Pd�d���������L�������32"/&6;3#5#!35##53���*����d�,�ddd�,����d�d�����d����������������32"/&6;3#53!5!!5!!5!���*������d��,d�p�d��,������������������������32"/&6;3!5!!5!!5!#53���*��� ��d�p�d��,d��,����������������LL����!2#!"&546!"3!2654&^������p���g�);;)�);;L���p��������;)�);;)�);��������LL���+��!2#!"&546!"3!2654&&546^������p���d�);;)�);;�o��L���p��������;)�);;)�);��$����������LL���+��!2#!"&546!"3!2654&!2"/&6^������p���g�);;)�);;���$�L���p��������;)�);;)�);����������LL���+��!2#!"&546!"3!2654&#!"&?62^������p���g�);;)�);;����p�$L���p��������;)�);;)�);�����������L��5��!2#!"&=463!2654&#!"&=46&=#"&=46;546&������p�);;)�>�D����L���p��d;)�);d���&��
-���
-��������#��%2"+'&7>?!"'&76�6763	�,����			P''��
-K
�	�	
-�S#����	�nnV/���������L��5��!2#!"3!2#!"&546&=#"&=46;546^��>);;)��p����D����Ld;)�);d��������&��
-���
-���������1��!2/"/&47'&6#"3!26=7#!"&5463!��m��)�8m��);;)�);Ȼ��p����,��pm���)8m��;)�);;)���֥���������������#���2".4>"2>4&2"&4��ٝ]]���ٝ]]����qq���qq�{�rr�r�]���ٝ]]���ٝGq���qq���sr�rr�������L����#��3232"'&6;46!2!54635���
-��'
��
	������gd����V�^�|��d22�������L����#��	++"&=#"&7>!2!54635Gz
-�"��'�����gd��M ��!����d22�����LK���"��	62"'&4?62!2!54635�q����������gd�q���#�����d22�����L��	��#�'��762'&476#"&?'7!2!54635��*M�M���К��=���gd��M�L*����Л��:��d22�������L����#�'��/'7'&6"/&4?!2!54635^WЛԛ��L*�M�����gd���КԚ��PM�*M�X��d22����������%	!	�����q��3�g�q������������dL�����+!#"&546;!3#53L��D���d�dd�����p���,�������E�����/��'&"!#"&546;!3#53"/&4?6262L��_		��Ȗ��d�dd�j�\�jO)���_		��p���,����j�[�jO)����
����>��'.!#"&546;!3#53"/"/&4?'&4?62762Lg�%�������d�dd�F��F)��)F��F)��)���g����p���,����F)��)F��F)��)F������������/��!"!#"&546;!3#533232"/&6;546L������d�dd�d��*�������p���,���������������������/��'&"!#"&546;!3#53++"&=#"&?62L�*���n���d�dd���d��*��p����p���,��������������L�	����!2!546#!"&5!52L�P���d�L������&��������}������-�1�;��&=!5!546#"&=46;#5376!!/&4#5;2+����p��/22�dd�����p��ddd33��*��Ȗ��d������Ȗ�*y�d�����d������Q��%6+"&5.546%2+"&5.54>323<>3234>^%�"%��
-�"
-
d	d	1t���5gD�
�>?1)�A�..@�

��^

��^
��d���L�3��"!5265!3!52>54&/5!"!4&#5�"2�pK�K�p"2�K�KL8
-��88
%��v%
88
-x88
%�v�%
8�������LL��� �$�(�4��!2#5'!7!!2#!"&546!55%!5#!!'!73�wi����pdw�%,);;)��);;),��p��,���d��d��i��bb�d�;)�);;)�);d����������f�dd�������&��767>".'.7�.�wf��w3��
.1LOefx;JwF2��1v��ev�/� 5Cc;J�|sU@��������L�#�A���2/.=& &=>2#!"&=46754>���ud?,		����
1;ft�pR&m��m&L!(("
-
-�""��""�
'$+ ��
-
-2��2��2/2
!���������
��'��!'3353353!2+!7#"&46!2!546L��������������J��L�P����������*dd*��22����d���L�	����#"!4&#"!4&!46;2�d);,;gd);,;���;)d);L;)��);��;)�D�);���);;)���������L����%�)��!2#!"&546!#3!535#!#33��|��|�D|����������,�d��ddL�|�|��|�|���D��d��dd,d��d�d��,��������L����%�)��!2#!"&546!#5##3353#33��|��|�D|����dddddd�d��ddL�|�|��|�|���D��������d��d�d��,������L����#��!2#!"&546!#3!!#3!!��|��|�D|��������,�����,L�|�|��|�|���D����d�d��d���������L������!2#!"&546!-
��|��|�D|������,���L�|�|��|�|���D������,��������L���� �)��!2#!"&546!!!#";32654&#��|��|�D|���d�D�d�&96)���)69&L�|�|��|�|���D����dVAAT,��TAAV��������L����%�)��!2#!"&546!#3!535#!##53#53��|��|�D|����������,�dd��ddL�|�|��|�|���D��d��dd,��d�d������L�����#�'��!2#!"&546!3!3##5335#53��|��|�D|����D���dXdd���d,ddL�|�|��|�|���D���p���d�����d������L����"�&��!2#!"&546!#575#5!##53#53��|��|�D|�����d��,�dd��ddL�|�|��|�|���D��p�2Ȗd��d�d����	�	�����%���2".4>"2>4&!!!'57!��۞^^���۞^^����qq���qql��,��dd,�^���۞^^���۞Lq���qq�����dd�d�����	�	�����'�+���2".4>"2>4&#'##!35��۞^^���۞^^����qq���qql2ddd�d,���^���۞^^���۞Lq���qq����d2d2dd�ddd�������A� �6��2632+54&#!"#"&5467&54>3232"/&6;46�n�,,.x��x����PpVAb�z�
-�
-
�
&
�
-�Awa����sOEkd�b��
-����
-���������A��3��2632&"#"&5467&54>++"&5#"&76762�n�,+.y�xZ��
%
��	OqVAb���
-�
-�
-�
-
�Awa�xc�h��sOEkd�c�����
-
-�����d��Lm���%5!33	33!#"!54&#���������Ԫ�����2�dd,,M������d22�����y��7��/��2#"'2!54635#"&547.546324&546X^�Y{;2	iJ7-��-7Ji/9iJ��qY�Z=gJi�22�iJX5Jit�����'�����*�B�J�b�{��"&'&7>2"3276767>/&'&"327>7>/&'&&"267"327>76&/&"327>76&/&�oOOoS���SoOOoS����=y�"
$GF`
	Pu
"Q9	�c�cc�cVQ:	Pu
"�GF`
	y�"
$�o����oSWWSo++oSWW"�y	`FG#
�uP
	:Q#�cc�cc:Q#uP
	$`FG#
"�y	����d���������"��!#5!!463!#53'353!"&5+�,�����
-?,�d��Ԣd��u
-�
-� �����
-���������
-���
-�����d�����	����!��!	463!#5##5#7!"&=)+5�,����
-?,�>�d�Ԫ��
-|
-� ��^��G
-����|����d
-77
-P���������������#3!#732!!34>3!!��dd�Ԣ���!,���d!s����,� �d,��+$d���$+�p�p��������LL��2�9��3232#!"&=46;54652#!"'74633!265#535�d2��2s);;)�����;)X>,>X�����L2dd2��;)��);�FD);�>XX��Ԣd���d���L��6�=��3232#!"&=46;54652#3#!"&54633!265#535�d2��2s);��!��);;)X>,>X����L2dd2��;)���$+;) );�>XX��Ԣd��������������	#!"&762#";2676&35�} ,�, }@D�:#6#:�����&77&P'�L��.�dd����	����LL���/�?�O�_�o�����32+"&=4632+"&=46!32+"&=4632+"&=46!32+"&=46!32+"&=4632+"&=46!32+"&=46!32+"&=46��
-
-�
-
-�
-
-�
-��
-
-�
-���
-
-�
-��
-
-�
-��
-
-�
-���
-
-�
-��
-
-�
-��
-
-�
-L
-�
-
-�
-��
-�
-
-�
-
-�
-
-�
-��
-�
-
-�
-
-�
-
-�
-
-�
-
-�
-��
-�
-
-�
-
-�
-
-�
-
-�
-
-�
-����������)�3��3#!2!&/&63!5#5353!2+!7#"&46!2!546�dd^>1B)(��()B1>^dd��>���J�
�L�P��dO7�S33S�7Od�d�|*dd*��22����������+�5���2#4!!2!'&63!&54!2+!%5#"&46!2!5460P9�<:H)"��Z�"
-)H����J��L�P;))�%&!��!&��*����*��22����������$�.���2"&432!65463!2+!7#"&46!2!546
�jj�j�."+'��'+#���
��J��L�P�j�jj���9:LkkL:9�r*dd*��22���������,�6��2"&5477'632!65463!2+!7#"&46!2!546X/[3o�o"�o�"."+'��'+#���
��J��L�Pk�6NooN>Q�o��
-9:LkkL:9�r*dd*��22����������"�,��!!.54>7!2+!7#"&46!2!546X,��%??M��<=Bm�J���
��J��L�P���9fQ?HS�TT�vK�~*dd*��22��������)���2!546754!2#3#3#3#!"&546/R;.6�p6.d�6\������uS�pSuu;)N\6226\N)�G6.dddddSuuS�Su���d��LL��/�3��!2#!"&546!2#!"/!"&4?!"&=46!'���|�
-
-���
%
X��W
&
���
-�dDdL���D
-2
-�
%
XX
%
�
-2
-ddd���������L��#�-�7��!2#4&+"#4&+"#546!2!46+"&=!+"&=� Sud;)�);d;)�);du�);�P;�d�dLuS�);;));;)�Su�;)��,);�2222�������
����	!&4762	!2!546������  'Y��V/��� �|��UY�Y(�n��0U�22��������!���/��.#!"3!26=326!546;546;33232!�'�p'�q*}���20�/2�������22,��2���������
���"��!#!5463!#5!#!"&5463!#5�,
-����
-w,���,
-�v
-
-w,� ��
-O,T
-������
-
-�
-�������dG�F�V��32676'&7>++"&?+"'+"&?&/.=46;67'&6;6#";26=4&��K�jIC
-
-
-)V=>8'"d1*�)"dT,�|-o�tE�
-
-�
-GAk�I
-! "%,=?W7|&�F@�Je5&2WO_e_
-2
-
-2
-�����~�	�$�4�<�R�b��%6%32!2&'&#!"&=46#";2654&'&"2647>?&/&6%?6'.'.��. ��+jCHf7�"	*:��>XX�P*� �@--@-�� -?0
!3P/|)�(	)f!%
=��&*
x�"6�2&�CX>�>X�83D�-@--@�ۂ
-# �=I+E(	/�/}X&+	5!H	�����d��9��Q�`�o��322#+"&=#+"&=#"&=46;#"&=46;546;23546!2>574.#!2>574.#q�
-Oh ..40:*"6-@#
-�
-d
-�
-�
-
-KK
-
-�
-�
-d�))��k))�
-m!mJ.M-(2N-;]<*K
-
-KK
-
-K
-�
-X
-�
-K
-
-KK
-���
-"�p�
-"��������)�,��!2#!"&'.546"!7.#�Vz$�R��R�(z �}VG+�0� )IU!���zV�`3�BBWwvXZ�3�Vz�&--%��,(1#������������32#!"&546+"&=ۖg�T)�>)T�H6�6�g�)TT)�g���66������������33#!"&546+"&=�`��T)�>)T�H6�6���B)TT)�g���66����������	%'5754&>?'	%5%����Nd��d/��\����^^���<��ǔ�Ȗ�

-(A�b��������d�� �����2"&4$2"&4$2"&4�|XX|X�|XX|X�|XX|X X|XX|XX|XX|XX|XX|��������L������2"&42"&42"&4�|XX|XX|XX|XX|XX|XLX|XX|��X|XX|��X|XX|����d�dLL���/��!2#!"&=46!2#!"&=46!2#!"&=46}�
-
-�J
-
-�
-
-�J
-
-�
-
-�J
-L
-�
-
-�
-�p
-�
-
-�
-�p
-�
-
-�
-������������/�3��!2#!"&546!"3!2654&!2#!"&546!5^������������);;)X);;����G�������������;)��);;)X);d��,d�������d�d�L�;��!2+32+32+32#!"&46;5#"&46;5#"&46;5#"&46��222222�222222L*�*�*�**�*�*�*���,�����
����*��.62"&%#462"&%#46"&=32�W??WW??��|�|���|���|�|���|��*(�C��BB�����|�||�|��԰|�||�|��Ӑ����������B��76+2+"47&"+".543#"&'&676/!'.6�E*
'?)��
-T��0I'*L
-#3�{�,#
-n��
6F82 ��*<SC#

-(#(��(#�����������%�C��#4.+!52>5#"#!#4.+3#525#"#5!�2&�2�p"�&2��D
-d
�2d
-�� ��dd	R ,�
-�W
22�
-���������L��� �0��5"'./#!5"&?!##!"&=463!2���E��	1;E%=
!'��y���,2 "
-��#	22+.��"A2�V����dd���������G�J��!2#!"&546#"3!26=4&#"'&?!#"3!26=4&'"'&'#&#2L��FF
��&	7
-
-?
-99���g���LR� 
22��22$�������������#�'��!5!!2#!"&546)2#!"&546!��P�����pm��pG,Ld��|��p�d��,����������#�'��!2#!"&546!2#!"&546!!5!2��pm��pG,��P���|���p�d��,��d�������d���'�+��!235463!23##!"&=##!"&546!2�d�dd�pd�p�,�����d���� ����,������������'��3#3!2#!"&546!!2#!"&546ddd���pG,����|�d�p�d��,��p������d��L��'�+��32+!2#!"&5463!5#"&546;53!X����|^��d�,L�pd�p�d�d���,�������������'��!#3!2#!"&546!!2#!"&546�dd�v��pG,����|�d�p�d��,��p���,�0o����	#"&54632a��5���*����A�2�~���	6'&4O�**�{�)�)�*�����2A~����!2"'&6d�)�*��*��*�����2,~o���	#!"&762{�)�)�*a�**���������(��
-��5-5!5!��L��c��� �����������������d����1��#3!35#5!34>;!5".5323!�������,�P2&d2�"d&2���dd,dd� ��dd	& ,������L��%�1��#4.+!52>5#"#!#3!35#5! 2&d2�p"d&2 ,������,� ��dd	& ,��dd,dd�����frJ���32	+"'&476��
-�0�
-�
-�)�
-J�0�0	��	��>�f�J���32+"&7	&6S�
-��)
-
�
-��0
-J	�)�)	�����f��Jr����"'&=46	4	�)�)	��w
-�
-�)�
-
�
-�0�����f>J����	'	&=4762j�	�0�0	���)
-
�
-��0
-�
-��������=���:��#463267>"&#""'./.>'&6�|��Vd&O"(P3G*+*3M,
:IG79_7&%*>7F1�
�|�|���5KmCKG\JBktl$#?hI7 ��������������!2+&5#"&546!5�X����,��p��	��ddd������L�����!2%!#4675��'=�DX�Dd
d�Q,�[u�}�4�]dd����Mo�__<��������vs������vs��Q���������������������Q����������������������(������������d��������p�������������E�����������������H����E����d��{����������������������������	��d�����������������������&��n��������d����d����d�������d���������������d�����d��������������������������d�����������5��d��������!����������������������������������u�����������
-�������������������������,��d����;����������������������������������������I����������]�����������d�����������d��������Q���������E����������J����������������a���������������������d���������d�9����'�d�������������������������������������������������d�d��������d�����������������	�	�����d�y�'�d�d�����d�����������������d������������d��������d��d���d,�����������������d��,A�2�2�������>�f�f���������*�*�*�*������NNNNNNNNNNNNNN�"~���Fn��2b��\�r� b�b�	6	�	�	�
-(
-L
-�
-�0��X
*
^
�h�(��T��*v�
-8|�t�*�<��6`��R�.j����(h����6h��^�2��Dl���.v�b� F �!2!v!�"@"�"�##"#8#z#�#�$$0$^$�$�%4%`%�&&~&�'P'�'�(4(p(�)�)�*&*J*�+
-+z,,h,�,�--�-�.(.f.�.�//F/~/�/�0>0�0�11`1�1�2$2^2�2�3"3>3h3�44`4�4�5,5�5�6>6|6�77N7�7�88B8�8�9
-9J9�9�::l:�:�;�;�<<P<�<�=2=�>:>�>�?(?n?�?�@H@�@�AA~BB�B�CCBCvC�C�DD`D�D�EZE�FFtF�F�G6GvG�G�HH2HNHjH�H�II8I^I�I�JJ.JR������������������@�.��������������������	���j���	��(�|��	������	��L����	��8����	��x6��	��6���	�����	�	����	��$��	��$4��	��$X��	���|��	���0���	���www.glyphicons.com�C�o�p�y�r�i�g�h�t� ��� �2�0�1�4� �b�y� �J�a�n� �K�o�v�a�r�i�k�.� �A�l�l� �r�i�g�h�t�s� �r�e�s�e�r�v�e�d�.�G�L�Y�P�H�I�C�O�N�S� �H�a�l�f�l�i�n�g�s�R�e�g�u�l�a�r�1�.�0�0�9�;�U�K�W�N�;�G�L�Y�P�H�I�C�O�N�S�H�a�l�f�l�i�n�g�s�-�R�e�g�u�l�a�r�G�L�Y�P�H�I�C�O�N�S� �H�a�l�f�l�i�n�g�s� �R�e�g�u�l�a�r�V�e�r�s�i�o�n� �1�.�0�0�9�;�P�S� �0�0�1�.�0�0�9�;�h�o�t�c�o�n�v� �1�.�0�.�7�0�;�m�a�k�e�o�t�f�.�l�i�b�2�.�5�.�5�8�3�2�9�G�L�Y�P�H�I�C�O�N�S�H�a�l�f�l�i�n�g�s�-�R�e�g�u�l�a�r�J�a�n� �K�o�v�a�r�i�k�J�a�n� �K�o�v�a�r�i�k�w�w�w�.�g�l�y�p�h�i�c�o�n�s�.�c�o�m�w�w�w�.�g�l�y�p�h�i�c�o�n�s�.�c�o�m�w�w�w�.�g�l�y�p�h�i�c�o�n�s�.�c�o�m�W�e�b�f�o�n�t� �1�.�0�W�e�d� �O�c�t� �2�9� �0�6�:�3�6�:�0�7� �2�0�1�4�F�o�n�t� �S�q�u�i�r�r�e�l������������2������������������������
���	
-
�� !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~���������������������������������������������������������������������������������������������������������������������������������	
-
glyph1glyph2uni00A0uni2000uni2001uni2002uni2003uni2004uni2005uni2006uni2007uni2008uni2009uni200Auni202Funi205FEurouni20BDuni231Buni25FCuni2601uni26FAuni2709uni270FuniE001uniE002uniE003uniE005uniE006uniE007uniE008uniE009uniE010uniE011uniE012uniE013uniE014uniE015uniE016uniE017uniE018uniE019uniE020uniE021uniE022uniE023uniE024uniE025uniE026uniE027uniE028uniE029uniE030uniE031uniE032uniE033uniE034uniE035uniE036uniE037uniE038uniE039uniE040uniE041uniE042uniE043uniE044uniE045uniE046uniE047uniE048uniE049uniE050uniE051uniE052uniE053uniE054uniE055uniE056uniE057uniE058uniE059uniE060uniE062uniE063uniE064uniE065uniE066uniE067uniE068uniE069uniE070uniE071uniE072uniE073uniE074uniE075uniE076uniE077uniE078uniE079uniE080uniE081uniE082uniE083uniE084uniE085uniE086uniE087uniE088uniE089uniE090uniE091uniE092uniE093uniE094uniE095uniE096uniE097uniE101uniE102uniE103uniE104uniE105uniE106uniE107uniE108uniE109uniE110uniE111uniE112uniE113uniE114uniE115uniE116uniE117uniE118uniE119uniE120uniE121uniE122uniE123uniE124uniE125uniE126uniE127uniE128uniE129uniE130uniE131uniE132uniE133uniE134uniE135uniE136uniE137uniE138uniE139uniE140uniE141uniE142uniE143uniE144uniE145uniE146uniE148uniE149uniE150uniE151uniE152uniE153uniE154uniE155uniE156uniE157uniE158uniE159uniE160uniE161uniE162uniE163uniE164uniE165uniE166uniE167uniE168uniE169uniE170uniE171uniE172uniE173uniE174uniE175uniE176uniE177uniE178uniE179uniE180uniE181uniE182uniE183uniE184uniE185uniE186uniE187uniE188uniE189uniE190uniE191uniE192uniE193uniE194uniE195uniE197uniE198uniE199uniE200uniE201uniE202uniE203uniE204uniE205uniE206uniE209uniE210uniE211uniE212uniE213uniE214uniE215uniE216uniE218uniE219uniE221uniE223uniE224uniE225uniE226uniE227uniE230uniE231uniE232uniE233uniE234uniE235uniE236uniE237uniE238uniE239uniE240uniE241uniE242uniE243uniE244uniE245uniE246uniE247uniE248uniE249uniE250uniE251uniE252uniE253uniE254uniE255uniE256uniE257uniE258uniE259uniE260uniF8FFu1F511u1F6AA����TP���wOFF�����[�������\�����������������������FFTM��X������m*��GDEF��t������ D�OS/2������E���`g�k�cmap��������rڭ�cvt ����������(�gasp������������glyf�����M����}]�ohead��Q����4���6M/�hhea��Q�������$
-Dhmtx��R��O��t�� `loca��S`��'��0o���maxp��U���� ��� j��name��U��������,��post��WH��-��
-Ѻ��5webf��[x�������TP��������=�������v�u�����vs�x�c`d``�b	`b`d`d�,`�H�J�x�c`f�f��������t���!
-B3.a0b����	���������?��@u"�@aF$%
-��1����x��?hSA���iS�����m߽44���,q�PK� q��XE]�(2	�.�ԩ�]�� "E�D�
-����i]DԡZJ���\��8�����w��w�������V"�F�pUԯ���.Χ(�g�K�4On�;�N���R{�g`'!��P�M�UHEՠJ��ʫ�*����Yq�9�c��<��U��9�!�Q�I��Y�ׅ-��KC���+	դ��U)�Q9�4�J���Yp�]Nq��9�.q��yVV
-�n��)��9����[��{�����v�V��כ־���FWb++{�>�׍�a|��*��g�Q���,K�<'����<!�ɣr�Yw֜β��y�<q9�{-]����c���]o���I���!0l6�7��͍��{j�G,�OX�^�P�d�Q����{,�M4�c�(QBX���m!�K�,��Y��Ha�2�}�̘��0B�A�)ؐF}΀,�Q8����'A5�(�>W@�Ex̢�D���&�U�d�#����&�
x�Mx�<�a�a���,l2<���M��02���6�Π^����P�$Ґ6{��,�#�ƞ�{�M�wp�B��8H���#�6�7ad�&'~�95r
-3w�"�[�Et���W�:�ӭ:$"��>2��c��5*�.�l����N��/����h����]Gt��T�������(�������x�Ž	|յ0>w��m#Y�e[�%Y�-YR'r���Y�j��D% 	�,@�B�KZjH�ڤ@b���-�R���+�n�hK�~���룼���$��;��h������^f�ܹs��n�{ι˴0��kb8Fd:�%Lה�"��1��A�Ք�A�Y��>,�ؔ����#�p�Z�4�؟��5�ma�d�e�� ?Ȝy�=����I:C�� �D���(nI��x�L�.1�!�P'�JD�t�Hj�@L4��P���h' )�b�)vH�X,f�1�c\'��cG�����u��>��1�~�t��?����!x���T_q�?qB���F���#�L%��D�ћ"��?Y�����ǯ����j??8>N�Skem���AY���Db�4
�J)��;�@�j��P$
-��'qh�8`��;a���X��6C��F�*�d�Y�c��"����������'?h�L�V㗌�,�>c�e�3eV��h� =C�������~��xC��\((qb@�4��x�K&hׁ�
��4\2�DZ6N1|-�;���j���
Yu�@��j��ѫx�����i�䊧�mK���ٍD�E�w�q3�̷.��cAw@�4t.�g����kg��r�{~��Wl~�{��lW2����}�27�6a2�\�6o�z@�$�����H�S��H� �g�����b�t�X7�0K�t��c1�,��7�B�oL��Ə�6��6[,���%�i�Z
��,�l>T�p�K��SGg�\>
�#��A�#3���E��y�k��6v���������;u3�!ZI�8��M��k?�8�C��Wq{`�C*��h>H���1�_s��k��h)����oj�OO'�
-!~dX�g��B(����0<
kOYx�e����Ƨĭ5k��=d���ϧ> ��+�t�C�-o
-Ǫ��/���_ko�ܶ���s��+f���O�z�tp�u7-�}�d���9�	s���e ��\9.H4�!0��S\ ʱk2��"?ip7�\2z����lް�t=��W��\!�KyOXimU���nov����6�:���
2��LZkA�A�^�qC�ޔ	&P���aF��I�0��>�&���Q�#F�Q���l�>
A�·q*�O��������Ȧ��_@27��l�,���s�����f��6�p7�ܩ?���M�����1v�A��2��]$j"��;�v�lk~va0��g�j���z����RD:�g����c�6���yw�%�g�(þ��#'��uB��#�=�_@?�>�F��Vb�0�a�!�aL4tXv���:�F��h��9��j^�xތ����z��}�Wn�}7}���j���Κ��i�H���������i���t���K�S���a�XE��E�bbBQ1���f�t�x��FȮ��-"dqA���\��~F`���6�i䁕+��Ԣ�^Ȳ�}ש�׆k&��Ĺ�����<-
\�;��g1>�w�0�0�v��^x ���7l�<��y��}��S�o�9��-ۮ�6k�бl˴��n�����o�庾i[�u���~¬�o�`j����{i�\C4,"iW8�J�o�V�bp��w��C����!�;�'7�D.v���֏�
n��oZ-n�����e��P��io4�~LY�/zm�w_�������g�Ͻ����R��"tޠ�&NoN��)4��M�C�G2��\j��8�d-�@>#�Ot^���5�+x��e.^�]�׼���G�8�^� �m��(��t1	�s��bf�J����	�%�����<���4��H�����@e���8C���,�5<�(��k�c5Y�I���������A��]|�ך�l6+��=�HV�cb�KՋB�6�i4�#��_��|&�>NvQ�k#�pW�=�u�7��HɰR$
����
�[5싙�
���g�	���%�1��9}���������&@$&�������l���=�1RI��}9��#�ς�z�??1z&��ı_a��c|P�I[��:u�;�����l��->k4���G���Y�m|Z��w�
}���Hn�R=-B����~�m����.ِ�	.����Mz^,���0�%���8��E��G��**|�sg|o����zO���֬0s��z���.���WN��^�	��yHk<J����{n��E��h�
-
-TG�~��o]��V�ṇ��zn�Аzd�,/�)j�l.��w<w	��?5*F�qH|�<f7�[�6T��d��������?�C8��S�'��N
-#�0�f�2^~7��:
-�m���M	I��`M�:ӊH����F��9�B��:����g���Sk�oz��k���#�S�o�̨oc3�����A��'ӹm׾�i�k�n��Z�-�y�ZP
��=Uc�'����?&ȏ�K��Eu�l�;��><�v3t{8-�|�'
-��e��a~���H94��x���A�-�@�y
bT4@0�b#]D�D����lj�DSio:Ag����S��P z:�;��-�|yH"r
��{�B{\��5RLi�6�A��A���tM�]����t���a�R�K����C��!�1��C��gC�샂� +���1EG�!����Xz������ٛnz��v�@�x�������-#i^��x�*�$)���W���=�O\f���[W�����X~V�?�����`Lei�::v4��$?�=R��a#�c��]8Y��FJ�b&'{%LC�E�������Cf�]�^$��/����fߪ�M;À�;�����	�����6��CX��V�����#��X~F���<�	:�vC��c��yBpLv�����1��F�v#�9�
-/��8VF�01��_K��?��x�>�}��#�G7�т\W�p!.@������b�wɡ+{�o����#�ԍP�QҮnī66
-cZ����D�����(. ����u�;n�M}�����?������v�t��x��F���{�+�����`�
-�=��"�rPπl�D�V̶��������?���Z@�H�䰅]��[��3��5��%O���)�\^���� Z;��>�F��tf�-I�zӮ����y�u�1�u�o<�:�oa:uq����w�ykk ⋜�}0?jv��X+����}V�����G$s����
-?2�6������Y�I5c�$�Cf�b!�X�*|F���^�$�p�7�p��55���߶6[�m��jg������l>�*��	KO&
- ��8�ܝ�:ǰ�o���k���K�m~�o�S�-*4�E�}P/���%�k:�e�"�1A�J�����CAX�����8=	�L�Ţ>�ܱa����v{�|K.3���:\B�x���w���b�eb��<n�/�N����jN�j�OTQM������է ��g��[
-׼1��J�[H*�d÷���J�(�R�Y}����Ҙ�c�hC;�ay�h��&�Cq;7/SG�n���y'^���9wה[�y��F`4;��upX_#��6Qy'�xC��q/�Q�P&�N�t���4p����ԍqD�2/ع��i=����X�܆D�A�<���-��>>�1ۿv�H�?�f��58����%�6�$ɲ�'p�L^H��X�bpI�Vqn�����A�8��K�g'i�!Uz��SE��I�����5���N=��hp��V�?��(�E� ������V��r��?޴��7�������V�ڋ�ɿ�.��O���;������p��4��N�RZm.�O��> Mu��L'��j5����`;�Mt�AQܶM����y�V��<`��
$m)�y��ڳ�X���Da�:��݁��q�1�J�Fq�15��-�l��\��3�~X��-2pF�D�e���/�f!��2��i�:��=�h��{�%�{t�^���*�P����Bͽ]��Y�D3��jd
����*�w|��GLϽ}�ˑk7��Ç�=0��6�o�z*����zo��1~J�w0�0S��e�Pw%���#@BJB	��
%��+��	�'����;�%!&��)�H�q �7f�q�H.�������!�E�ǎf��,�9՚�$9� �H{~i���	�Z��)O|��!"��D.K��Qa2�
-%���2W��ɂ\�{�*��B{7�,�9.�'ew U^��W��&�$�r9���rcG�B��wl�����l�<�����ʷ�SQ�ゅ��h�! i�Ѩv���J
:�Y?��#���_�m4��q[�������}�,�E��A{V�П������P|�D��g�?9M���Id?{�)���/���	/\[ ��J�ҏ����[��f4G>����Q�K��^��m�� ���O��� -7w�]���„�<�U3jƏ,���:��Y��q�~�0��/�m��ŵ@C��C�F�q<��y�x�h����\�0=�RgY�d�(��(_�2������a��_�{p�M�T*��0�U��T���!�if$ԟ�(W�q�RC:P�a3=b�� rK1'-�{����H�ʽH�1��'`�kϯex�$��.�h�{܆`�F�z�E�0��c5xfM���䏾}�߾S��S�����K�]N�f'�pPιS�`BmmH�v9�4ሄ^�m �D	$����,�'܄ �p�Wɭ�g�dV/L�;���MZL����ꭵ�H>{�,�������Θ������쬷ΘQSo
�l���sɿh���?A��2q���`��5����Z��&*�X1L5:�6����ς+����O]ue�j�����%?�ۼ&���aW?{����2[�}��W?��J�b��Ι��k�-\���b7�sI�kf&Λ�f�x~���n�O-9�V���
�~c�W"ȗy)b\)�2MrW��f�;M��U�7��'[�������-c/��.�ؾ���u�M��l�&��.��9��) G���!�!W*	�60C�ф#��q�����rq�O��K�ZO�Wq�,�8́/Xp����T��ȑ�g<>�¤)��[J8�o`
-;��S\�S���������%��h~��p�|J˾F~K�=E0N�Q�X�����*����8;D7�Q��1��QC�%
*E�y�y}�� �UG?>�I`�>���'�6<�+�����3IV�g�Ϯ�yO����Q$WBv��H	v�[�Ϗ	2�+����'�ø6N�߆<�������ɕ���
�2��S�娚9��X�1�\�┣����df>�B�~�����-��t>�W�]��p�Pr��Z[��'����+��ƌ�l�9]�8q��C��!��'�@AA�Ou�Ш�
-!?M\�JMͭ�fǞ)�ߕ�=���w?A�N>�����¼}�jQ<ǏpǠ^���(��}����1�+��2��qF��4R���iHď��IT�r8���^����!gm���>������'����ڸh��E�`�s̊o����l���!�(9~��
�o���%#�)�~ƃ�j$�@�Ք�Lp�G�Oa{��߿f��é�)�z�ؔY�<����������~����^��c�����s����潺��������ݴN�RU����R�T�Y%8�����K�s3�q�d]^�QTb' ��zx�)�H���FҩP�mU�Z�jQ&�X��Ɓ�o��<0�j�YG����z�]����$8c��&�h�y�ݼ���wΞ{��9^����sf߹�m[v������ӣ!�(Z�As��ۧ��y�B�������8RiԣB�g6�{�Um��tyW!b�pǮd
n�/ŷ�ʼ@v��/����%�c������x�En�:��4Y���²�,yZ-�kr���cH&��^ȩ�C�'Ȯ'^T����5�������r)(�(I��J�U��&#�݌!
+YM.�J�EX^|����L��w@��ھ��Zsg�Y�洺���\����x�ԟ����x���y���L��Cyo���<�Q�O$)�W�6�m%݆�r݆�d����ս���{��O�b��p��AE܀ʌ�g���������i��~�A������O"mo*�!��[T�����m�dH�T1�$�
-	�PԐ4^��sfcA3��,��XA��P��b�ks�Y���	�yH�h�P����+b�W�=}���;�����"Z&x<SySVY��&=��4��&��1J�5u~��,ӿ�z�e��g^QB\/�Pʄ%�+p�re|Pn� �T��cZ>?���e�V"_[��Q�/�5Y���|���qI��/\��9������di��EBh$���v�������wOL� ����fp�a
�,?H�gH�f2���RbL
-v	>�U�So���^1/,��ē�vc��Y��Gm��Ũ��~�Am��z��?�/���4��0���yj̸p�k����2��H
-��eE�R�b���/"M
7�5u�l�[�drC�&Y͐�&I�
-`!>p��;���J-�b���--.�V�M��4>��Fj��/�5���σ�������t5}�>C�*�<'���d��?,c�����d�Gf����2ҁ0w��6����L�h"�f�K����ζp;���ǿ϶P�d�c��1�EO���i�%����Ř(DC���W�����V�2��I)��T�i�M���F�T�z�0������U�� S��7V��
mBW6;�nYZU�zS�Tg>(�h���F"�޽T뽷���R]���L۶�|��Lx�[�s,'NU|����E�<�4)�R����p�*��vU#�g��*�g��jə*=�~܃��A�S��ē���AJ�Hw�3@Nur�bw���Ȁʌx�}[�`�7������Z����tPlh	���L.)NU�}���kq�'��v����FQr׷��{ˤ�S]�Z�L��(�@�*�Sf�^��+u�Pe_k#��.�8��ɂ%��ՠ�,���@���TK��х���
-t`�ߑ�X�AD;��b���|p�A��7�}q���2
-@Y�`�~�������iԬK��0j���Y�(
���R����~^��ҧ8�>��=�F"�˜A[��Dq�vQ�C�X�|Z��sO���<NǦ�c�PI|���։��2����ů��1��Q|��FH\[
��T�k�޽$���3���X����5��ˮA��q�_��rv��7���@��v�2ˀ��i%��m�؊�f���P��^{�ovvy�fV�w4e�w�
""Zd�[��T�Cʭ"ٛ!C�ƛ���#^���
-��Z���fR�4���x��p�V�rSK\���B��]Q�
-���B~#�V*�p�x
��^��(���o/`D��ס�.����E�OWTv���6�����M^~Ey�l��/�ѫ��NJ�l�Q�6M����q�":}H�ea���-EY�"��z"�ȏVKF5����8�/7
-t��D�n#D*'����^I��������Z}pITmdL%�7�@�C�:F��By%����������KS<K�Re��ī�so�k��|ȝr��^�s�u�~�����w�N�_�V�P�6;�Y�\�\�l�m����I��"����R�
-2���ts�0��^~������
-��;�gELc�7�����"�����<^�����$�g$�y����s��L״���$֠�D�>	\�/�f.����F;���k�P��b�d�z7ԐeͶ-6�b�y���b�aWjnh7Y�L�F�!�4��w��ssF�C�n�h��_0����>�M�Z�� ���nC������*#5/O�U�N\(3o�@�[7`�Mg8x��g�e;f\y�|f֤�ޑ��]�i5��q5q&�>�'����������353��k�Yꭑ��=W�7��+΋yx�I�e<�����P��h�X	a��v׸��"���cJc�›oH�O�Cu]�L5��������k����і�����]x���~�#�;!���)B58�/P��
��H��F#0��B(��p�}�Fst��M|���l��)]tϼ&�ݖ��,㙗nt,�h[��Y4ݬ$�wQג�,��@�����k�`D��g]r����|��Y}�Vq�wRC*��9[o�����Ν�d�X6��&�=���}��߰�/*͏\�˔)���5gO�l�Ӧ���}��1:>O��YǏ�s(�p6��[��B/t爁*̠-n:��
<Ц����)����+�ް~q_}����oxt>L���V�
F���G�@d�9��[<�s/����.<7���s�B���d�B'�wX�����ο���Z鵣��W��՗�>2��?�2ȳ���8�笞��={��fg�csC����m�����r��e��#���E>���45�qo:�J���X��^io��P,x��f�:/y��n9��V�ѥS�7=����u-�\�%�K�ϦUv���,�Ⳁ����Z=�v���k���N�*+_�.�ڊ��֞�i��ڃ=w
@��l�m�r��>��O���o,VԲ���ɝz&:'�4��5���!��9�pI	0@I[�PU""�s��Inv�R>�A����9t�$�3/���|k�8y�i�E
�����c8��E�!Q�\ۂ}%A��f4�s*�A8���A��΀�>D��=5uw�����j��nG
�z?2�Q�/I=��f�H���4�n���]�澀�Ym�G"��2�PE�H��f�vZn�<š�PiA_�q/��P�Dտ�	�$$�~%Nyhr�OdM\�-��m�(��@\���#����Ƽ��N��J�O���>a+� �uJ�*(%�¢FP�J�W����������,$)���)��������}���
-B\����_������w�V�] 0��T�OCÊQ}��5����{Ho*�;;�葞�rǨ���M�c�5����4S
-: ��M�����7�(kY:�����z�`�gp
�J�stˉ��v'���e��G^~����i�D��1����6�dA �@'N �����֭<?�Ғ9庳b���ɩ�EÁ:��h�{��h��0��vۧ�Q~�{�"�H����GQ�kl�<�:ʛ^g�/���_i��������P������>N.��?�f�…�1��b��zJ���D �V
-o@7R@6�<��%IF��0�mj=
�[�}N����ۊ�57��p��y��v4@<mЭ��9T��p?��R7�����0қ���Q�G�[j�������zi���b����~��/)wC?��	רa�-/�C�n���.ĕ�Hj63������p���Krh�����X��I�Ǝj�
-��o��1��9
-�f�\�~�:-��ѓK��4��7BY���̆�y%�DC~e��m��@�]���%�r����s4T�	������G-�Ug��>���H�OpV�B��]�{9&�^6�|�m���_PLLI7ǒ�i����"'T	}���? 4�����|��[Fǭ�tu/�_y;Z��?��H�K�0W�z��c#����)��~.r��ĥ+�B����&J���G�0��[������.Ρ�r��O�k��;VC���oX� ���K۝S߳�r�t�����:z�X\��xm��Jh��x���N��h�5��K�`�;ydp.Ec�4�X�D<-�ll��ip.�^��p��:�
�u�/����.��Y[�rl��_�4����kz�$~Dq�]7/T_<菵�����4K�$�Ɩ�� ���&w����
���S��7���|K�^�������7�MsMG�������h��w����㢴0]?���fja�5a�i��Ц�6C�2�no•���f��=�)�d^����v�	qNc�Ԏ����l=u���]?;�f��-E�~�����n�v��}5����%���������Oջ�d덿=�Z%v��� ���
n�K��u �̓*J���#1�h�u1Hr��	o��}����SZ�u=���w�;�nϗU������`�F���ȶ��En?����߫k&����l9�Y���d��gA��8NSG���D�09M�AK{ހK3݊����[_]�%W4z�ۈu9�\~����n3���~��zir����
�����X3k�`Ps�������n����=m���]�ԃJ�ks���T�9d���eYN`}��/�]U#��b�;R�����t,��l�h*���#JB+
-(��iGx\}~IֳF��v@T��u��֭��J��
-�������
-�@-L����w�z�Y��g�����w�`wx-�����(d٢]����F�3_��X�cY�mQԃ��W�b�-��F���K�5�d-0b��球—֨�T+�_�Z�x�c���j*`���}�|x�~�L�F�*�S*o�Mت�A�����T�1p�7�1?�Rt>��R'"�������E�y�)o�P�7����%���$r�v��
Q����eE�����+���n�zl��Vl�Frkt��'��'?R��'Z�CE�I�Ky�	ga��0����^��}�pE;��Kq{��T/�?�i"%���1�ޒ�b�-�Ծqƛ�˵��+ ��8�]��rI����ڣV�{�dȪ͜�\�A���Q�vO�S��]0.���N��X9s��v�b?OE~�FPU}o�[Y�K�r�����A��̓U%���7D�w
����q�b�/�h�
��A���hPbQؓJB8�I��?�I%=�X�t�O�;�(P�h�L�d��
S �'h�ݱ�>|���T����V?�,O���"\�`�7�����.�2���>���D��
�f��m�g;��-����C�'����u�,���� z�A`-�ټ��$�xvc��k2��[x�p\c�b��l΀�ih�s���iv�aÛ��M,gĨl��M���z����7Jv����ˑV�RWϋN����o�4�(�-��XB^�Cl&Vn��n����n D4[k6�����N��&��}f��3Y�Qw�@$�U$(Ǫo�:-�ZG��#&���/�}�?��N}ƥ��7�A!M���h��W>���?iX�p���r��A�١�b���?uϱ�ι�-h������6;��S�B�#/���@ѿJ	���
-!%Q�)��Dq:{JI^ޑˡ�PY7UG��(������h�?Hm���ъ�vRE��H����=�N`P)Q�����G9��FM��S�MG��@2�E�$Q
-�$�s�~�TkN�"�9�Ն8�c�F��^�"?+G٠
-^�*��gUlFVx���U�poC���.XCƵ��׵͉�q�K�[�k[���K�(l��;�
�ӡ�n��%^�R�j�,$)� ����1��n.���G�:C��f��(��,���;��Ĵ��R—�F�_~���^��;��ի�D��;6|/jGGSSG��G�ӎļD��zbR�/X?�������U��p14u�$`��[ߜH47�7I�~��~I�r�ߙs��#�6��+�h��e�W�6@wK�̸h6,	�1C�"������=�m���e�A����=����@�z�����	�s��ls�]�;kkl���r�^"s��青�>�&Մ�-[��{�JiҴ9[�ݵ�ȩ�-�]�dޢ��c��An�۹��g�}ꒇ��6hT���ɖ�?3s���^k���L�cY�1�Z��n[���bݴ�E߆��դ�w���k3�f���>���fM��D��ՠ�a��D���~}&���@��5�ugn��OȢ<��'`&bӬ��-6���;��X�"�d*�a�w���Y���v��t�L��X�ָk�U�ߩ����a���=HR_�@���+j�2��T*�£�%��/͸oƤ����y��
����1��9/7� ��~�7����_���o����+��$D�үs�IH�:�r�	��	�yiF:�����v�����(��d�O":��om����dM�8��;��Z9u�ʩ�HCg\�K/*���ԙ�g*�-�I�������_�E���Rq�R'�[�f�?G�U��Ao�vb	A$�e�]��/�Կ��o�?|�Ԑ�Q�m�4�G���7�G�83��3+
�74�z*)�$݋J��pD��N�j5p�q���e�Df/���>�������%��g�W���{�U��:g,�n���l���U�\��t�'���%���E��}��͝�u��C��ꘒ�ܻߺp�}U�+^b'�����o(5g�V�B�I���OE�m>�������5y�zg��}�����A��P-�P/���ޫ����6�)�x5/t;1�p�1�L��9�Aܳ|����)�����X]m����kFE�H/�4}:�,oLM�o�6]Y�M�5���0u[��yҫ�fV�h��?���E-A�_i﫝��j��
�.
-6|��5�`#��Z-�sv�fq�ӟ����s�͚>���w����7C��{	A������]B����z,i�H'd����v�?�`E���
-�x,��m��z�`�F[��2a�v�hp�%(�̒���ʂ���5Ԧ;G�юh������\�y";|"�ٝʖ��rx�z�s�P�HCT�v�P$���ly}�iyhvM�C��r)�#�x���-�.(�t%fu���€(ۅe��UU�o�
-�p��qe�ˡ啗�s�y�i�	X��k�`�>�X�@2P��.
�2͌>�n�|��,/4����}����?A��&�J����r�+����ɐ��CV�]{���Z�0�-	��A=��
-F��$�+����%U�Z�y���ޗ��ٲR�
�B��)�����wT8��(�a��R�Σ*-�����s�r5v
��!^tZ:/�K,'���F

9��=���G�<���C��u�"$�-��F��S2�(��F
-0Q��+X����w�,�]=b�h[q�B�QI�
���;)"�Ō��9��2��6�r?��}l�V�=b�[���j��4�Az���K�kQ?T��[%��$�K�Q�-��l_@l/	&;���차�Dr�?P_d�E1�~�z��^I�~b����r��e�u��f��P�/�պ#�E�+�S\�G�-�R4���	�S���S��V俑;���*`�G��*5'���d�L�
-���~����	��5��F���hb`�
-�ꁜ���4��[b$~�G�N�AX$����~�}[��W�}��_��z×6m��&~O�%��j/�r�&|_S����y�<��-�*Lϛ���,��JQ�z�ͤ�𫷣�����|�V|�GVW~��<mbl���������B�&���̭j���y��\r=���'�9�H�f)������ԅr�	w��!;;vs��B�7Ӏ��'�k��*��ir�����b�/�K�+ԔW��R��O ����h$!`�1�[�r�����(�a\T�R�����"P�?]Y�;?��х�yKRX�W�OCz���ܩ�H�jPn��[��忊�;�͇G��q��Z.�A��.*�@/�)WQHQ���U�L�2^��$,T=Q����(J~�BI�UP�J���=�WC@�ﰉ8&�~D���W�����k�[��<�Տ}�.�"S<#A�>�z	����
-�H�����E�	���Y�n���H4�r7P?99���ߡ|O-��5��	�%�4�	dz�O/4�L_Ps��T�>�LQ��D(�����J8��F��+)jCb
-�Mu�2Xc8$�t�}�&<?��9lW��~�ҿ͑��n��90A�=&W=s�Կ���_V����}�?k�U(�m��utE��*�
-�K%�
�t���Z�p�J�� �B�W���P �A�l��(Z�L��zF���Z�}��/��40�l�V	���i%L��^V`�jp�P������5QV��V�k���zX8���^s��ţW4U*u��}�L��8�F� � �~�3��B�"I�/.��O
-=7B�JA������K��Q-�|����Vw|()8��C������%ʴ��To�l�s�7*���rev�٢���6m���ǖ	���C�T��pT'ǑpL!�jRC4���}a��Sm���[��%�4a.��첹},�L���B���=�:ݍ'�b����
dm��}V����Y,�t��;���9���Š���	�:\�I5��fDA����u�I���F�H2� @:2	�!�ԏ��j�-���@ٵ�G������`vKcw��I�lar��%l��Es�
-��rDe��T��ib����@���d4�����B�DH��T�. ]��K�*��շs�\m�F�:�:��4v��X
��<�;���r�����%���6�aꇷ����ܥG����������ѧ���|��g�у����h��v�qtJ�J��K����H�^v������gp�.��?뜸�B����0�^q�8�|f�S[�t����Cx�Ҕ������׬�f�й
-�^�FB�
-�Pi��WFpR�U
-�:̓�D��}���فv���������}4��z�/���F<���P莣\��U�'c?��4�sJ
���jj>�@��Qr�-��֤��U_o6���q7�P1�ˤ+���rc6�I
-�\ �(*v�2��4Uc(A� ̣9�3���]�z�����;0'�=���*,e5�6��V�a,�qh�*��P@wȬ�G��/�O�j�|�FIm�	#Pz�;J�wʎ}��<�����zT���t��~�`�ȱGP%;?�5(�(u��#���vՊI���#9,?G����b4K]�Qgԟ]�E[�phʯ���G���+`���Ęp�?�@�>!�}"
-�ҽ��r=�C�D5� 62��ZY�����?����i��A���
-T(�EU�Ju�;"}��պ#��L�c����ӗ�V����W�O��&�CIԙ���u8*烞Q��a�Q^*z(�L�|Jӏ��^�f�p1����0�4~��C��Ux��*r�V�*�N9π�׳�P���ūs��p���_L�������3�Z"}�&�r�O�|l���~���k�C�/Wj><��S�x���M�bS������g(]�J(Z#��x�\$OC6�8-�f:{�S�ҳ蚨o�4:����)���Wb�"u�iu�h��~�d����%����B����AM
-s���WH.gv�%��4���v�+����=¿
-��S�G�ϋjWHW���u>��[�B{[�u�ɶs�;la�z�i���W߭�\z���C����|��\f�����te��&��ߕ+B�k���/t��
-�CM��	/@S�>Tm
-�G`v�`?�������G�(�,zb"���e���A��A�i�����7���Q���R<�"i�X��:�I܋(a�V�������;4R����]}����^���1�v�Ե�����7���=�p�|�[Jο�e�µ{)�e����#��ief0�K�J�q�"*�F#�(��GjJF�h���X�#ш������ݍk���5E�R�P�΋�	^p�C�eo���e��:��{6�۬��5�͝s��ƙ8�X�K6��V[��=��}V+��hͧ���J��l��ZZ�5��W����;��T��e�V-�@�H��I����D<͙[�)֐�����l^b�Xe��NN���"K]�@���b����?.�H�H
-gzXa���ْA��}MO�e�X��H�N�r���ڟW�;�ht�gttO�yu3=���*פ���ؿ�C��FGsh9J�ͽZ�-�k��]L-�~h�ii�.�49�Qr5��I,Vݓ��^jf��_}�,���Q6?�5��NV����
-ޞˍ�YٜN��%ez��qƨ�>�Z�
��Nt��1� �a�%��=� y�hޙ��
H����J�Z��?�	h�vr�k��@�m�Y`�^ins��F\�*�|L�z!/?�)(�0��
-MS4(�ȗh��{������-�'�h���o�7�cCҞ�?�6���'|ub�գ@����!�b�Ù�����f{tz��1U�A?=�@���	t%�䕉����iu��[
N��i�D���G�T@�:�p<�(�c�X���Um�2�ϱ7z��O��M^�FϴYUfwGs���#�t:�/�������~�Os�]��F����ݑ��(��(^����?L��$�Sʽ�WzT>m�'_���d�����:���5�Lh;�H7�Wgz�g�Z��Zb3�{2d5�Jj��9�c+���\vqz�Db���b��ƶ�g �"l@צ�p�QB�b���S Q�>��+d	�p���%}�L!��������cdwHo�����p�x(T�p��x��p#��:dvQ
q�dA�QFd�L��K�m�PR��
�pU?�l���
��zg�-�����jP��b��G�aR���&^q���>u�8��p&�Ӯф
�`�MGS������ܵao����WܛZ�aâ�ٟݰ�V5��R�s2NX	�qGB	��O���K�g�����BW��)Sg\����ӡl����]z��<߲o-_��-����A��KMqӭ!�æSi�gy�����۰]K�;S��T'���kPq��e��e�7cZT{~*�7�b�\H�?�jٵl3��P
��оw�T2��j�Y;��)�l
D�ueytOT���jö���U�H�����X�gɬ,��W��Ϣ^���u��![]�v�F���|
-�QG�h`(�#	�R�'5X�D��Q��qM�6g�c'b��u�:'�����H(�?�yյ����6�~.�e��[n	����*��U�yZs�t�9�R!G���������MM$�x�z��$]��{��L<�}���4���JZ���~�MV�Օhy� >@u����
����+������]��2FqO8j��ѥ�WC��Qq����rw��.��䄫�ޥ\��_�������y��\O�n�)I�KGR��HŁq���I���.
-d+u@ϴ�� �k��Ť}9��T�v6�*x�g�e7?��ì�}�S���-��AU����OMlJ
�p��ժݧ����Yw���h�i6�\fA�Zc,�rjF�T��Mj8kO�51��T���qW�_�n��`�7�%�K����W�s�d0���:��`��OX����s$�4�?:�SI1���W-�Pr}�²���9�.��&�P��^f
-�8(�W�I���`��`@5a}�z��i�V �p��PԽ+:��d\j�"=�a�j����)W��$q�{���͜�p)�V���|�7hj�������������$�L��֡�9�\���ځn[ ��k{lG���.m�m~�T���E������b�ȭ�m�`
-��w�ny�P&�:P�LJ��Y������_�p�NW����zV��S׃]7��E�d�%i�癬|������E�WM���7r�
��HB���6�`UG�Z����
�9�N2l2��ɅHY��(�ŗ���iw��ݓ[��`�cZ��R;Yz=Tr�vH��9�c.�ֲ�G���6�*p��΅�'�[�:�/�ҪX����CYхM��t��-'�]�n,{@��c��Ob�����I�N�.�x�N��F9��뛝N��K��[���X�r=���W�m���ݏ�Ʀ�Y+���?s�J����g�X�u�P���%ȗV^����[��� ����W���;��W�
�xv�i�/��XS3��ȼ�2���ԩZ�<F��=0V�[%�R~ˌ�x���y�s��y?�Θ(O�q_�V-��aQ�*Q1	�t$�j�D�pRR~�zǢ��p�"�]�gw���=�%GV�����rt����>��f�2���/y���?����8�M@�Q��*˄�������C�X��k���?MzT�y?���Z��Yu׳)���]͕��1�-��a��7j�~����
-.d���
-�
��'��������V��z�tXK��2k̹d?��z���z���K�.�>,��BZ��`q��'�k�H�qy����5��j>a���\C��#��H;#p����7l�4�}��IR�7���ފ0����$��=�V�������#���_.�v��s�{g><c������_����O���gx���5&�?���̠';z���a��a�:zӑ��Q�Fꉢ��^��MF�����9��&��A������Eb���ٽ\�|�3�gE}"+�>��h!���A�b�/p7����=�z����mi�%�͟�3)^O�j�<_�U��NY63dsIr���8E�j�����U�*�
33�|v���;��O��B@��,��,��\cwd}6k.�u�k�F9��'��2�6D]e��x�G�J�K.׽}��S��$�@t"�;2�ɩ��*�����4��1_��x�7��Q�bj�X����9����Q��;�#��{9��e�I
-�-�奐br	B<��9�dpz��IV����Q:l�+�s�i�#=��T��+R��(��M�DC$�
-��a�̱	�ONg�j1�9������gqXk��}F�����d�����c��G�,���&��.��.^ɷwwc��>�E�_]3��U��|�t{J�f�窂u_�.�\����*���W�=��}�lN���o+^���Ṿ��	v�P�>~��s��T�jWz~_��o�gS�}-��D�Td��-T�Aa��Yf����3,PATcm��
ռ4g�}���m�E$B��w��Ū8�>��9����JW⁩�O��/9�P�JC�XA{,�@c,tEJ��T�j��9���8Q����&� �H���P�l~K%ƞ�1��ѻ�
�-�e�DzxN���Xuz���.9��}�M�c�&�:��Z5��ә8��%յս�m����om�CB�:����l��8������~��ܦ�E��j�T�����YH�Y�v�n�V^IN]]Ž�CXkg#�sc�S��B�$�Ý=�$��k�}cG�&��/��z��}������_��v6<�7����IVGG���g*l��\RXS�T���)�šE��%Y�u���~Q~>X����Ѕ��`9�W��k*�@_ՊpM�]0�*��%�a��3X팁K�M�|�{��FԔ����
-췾d7[�n��l��ͬ�D������@��m�����8����e �cż�#�gH���dd@~.�j�l�lɛ��eRcx�E��((	��K����m¼��G�X�A7��S���@[l��.%���գnMDs�]n�_Q �5�i?z��G�T�G3��T�@e	�i���,���r��
-O2<�����l+���/,��%���m�� ��ۚX�n�|�E����]����l�í������[m<�|#�z�+�5�� 7&\5S�-�{��AE��^���t�K�������M�^rq]��Fm�C%2��vJ��)W-�}OM"`�9l�+�=�%"����T�'8�zH3QҐ��ѩ�Y�P~V��ز�Ni���7����ۛ� ���?w1���x�c`d```d��?��o�A�eP��BY�t�?���;�"@.H�c�x�c`d``��
-&�]a���A���_x�}S�JA��S<�`�����������b)6���>@D��"�X\o��!�����ι{��,_��o�gg��g� ��#J�VYp>uC4�&*�<=$���g9�W@.0��q���- ������;�:pt"H�U�e���5����Vg(�[A�x�9��!�޴�EM���ߗ�4�N�&Ӟ��wj�t���Ԟeσ�Lp�>�w���>G��pfz`�|����^�a�ż�>���)�o�o���M�g+R�m�Rq��,���RJ��1���X�T��N7t�{I�E�\�F��8�U
���mb��:f�N�&��j9�Y�x�c``Ђ�M/^0��K�ؘ���ژ�0=avc�c�a>���bĒIJ��k�.�"�/�
-�I�8�8�8�q�q�pn�ǥ���5���w�)�^-�8�
||||[�5���?� �JPK�Lp����P��a)��"Z"WDmDW��c3K� �O<H|����D��4�
$�IjHfHN�<"yK򝔙T���o�q�[d�d��<���u�͑�"�G����\���$�K
-n
-���w(9(MSڡ̧��l�\�|H��
-���J��4�G�&�	�{�D��Ԟ���Q��a�Q��Fs��-5-/�m.�*��]:otet;t��i��-һ�ϧ�_��I����A��%C!��u�/�T��f�3V2�3�0�f"a�`��䒩��<�fvf5fw̥���'�_��p�h�8a�e�e�ay�J�*�j��=��wl$ll���5�}cge�cw�^�>�~��/��c�L�uNN+��9K8;9�9/p>�"�����k��676��-n�����ܷ���0�����h�8�)�i����ʋ�K�+��s�9�������������������@�.����xڭ��NA��w��h����
-/�"�T�D�#J$��r�qr|�!'�O�3��X�F�ާ�0�wY� �1�fg;73;3���x��E0C�q=���q�X�4���G�A$�x�ZB�8ڃ�	D�w�!��I��a�S���X���w����.�0�?��o��N��؍�gڍ��@\�A�`��sb��
-�k`��sݡ}�,�0�Y��aD��ȵȵMyF�Mv�Yd��S����2����0~�>�/�qJ��G
-i��<��#c���0�C~G�����9eeKv���в[ڷ{&V(Ө1j�1�M�Zqr�7�,gKܥ�X�����0�����QY{�
-���M�Y��жz=���a�:[jEݢ�	��BZ�Z�=n��s�`�+o���̏���x�m�U�SgF���B�]���9I�$uw�-J;m���Pwwwwwwww�l�ޕ���]<3)e��׿7�R�^����V�V�_@��$zГ^���З~�g��`�0m�[�czf`(3233�2�3s2s3�2��������e�D�*95�4X��X�eX��X��1�4i�+�+�
-����k�k�����	����[�[�
۲�3�Q�fvd;1�q�gg&����n��LdO�bo�a_�c�@�`�P�p��H��h��X��xN�DN�dNa�r�sgrgs�r�srs	�r�sWrWs
�r�s7r7s�r�swrws�r���������O�O�����/�/�
-����o�o�������	����_�_�
����?�?��������f��,˺eݳYϬW�;�M����e����lP68�s䘉�GE{R�α����M���
7����n��ܺ�p;ڛZ��[ݛ�Ƶ?ѵ�ֵykx�~y�j?\3V+wE������5=��QM�jzTӣ��(�v�N؉�k/셽����d/�K���d/�K���d�b�b�b�b�b�b�b�b�b�b�j�j�j�j�j�j�j�j�j�j/�������r{���^n/���+�v
-;���Na��S�)���Լ�f�f�f�f�f�f�f�f�n�n�n�n�n�n�n�n�n�n�a�a�a�a�a�a�a����C���h�QN��-ܩ��������?�����C�����?�����C�����?�����C�����?�����C�����?��݇�C����}�>t�݇�C����}������C�����?�����C�����?�����C�����?�����C�����?�����v�Nj�HM�p�[q�n����?�?�?�?�?�?�?�>�>�=�<�<�<�<�<�:�:�:�:�:�:�:U�>���:�:�:�:�:�:�:�:�=�;�;�;�;�;�;�;�;�;�;�;�;�}��V��h�S�������o����TP���wOF2�����Fl������\��F	�M��������������������?FFTM `��r
-��$��e6$�t�0� �"�Q?webfe�5옏��@��?��
-��� �t������������,3+2q
�F�YO�&>��b�m�5�Z��H$��Y���{�H	jd�Չ��%��٧y"����+�@��]��e��{���v��Nc�)�n���?~?萤h����_�&i���ѝ���?�>��^K �v�-cۍ1���2K��y��,'n���(�3Ewi�B��&����T�lh�0M���҆d�Y�r�ﲬ�nti�]�yur�������VXsj����gMn�әH�W���� r2�>iT`V7��R(������+�o6�'c��B����4��ι����㿚�T	]a[Qd<3wq8,���rTI�8��0>E�?�*E�痦�#��7'�����S	oc�ʷ�_�7&#*�+)����+4a�A6�c��y�٣�f(bF�����$;{ YA�1vP-tG�������"����C�f- W����ԙ�uKְK�#����*K�<�� (�������Z�`٫�[�%�YT��{%�Ɋ$���s{o����ջ�vt"p��4`��ߩ�Ϥ}o`���'ne�>
-�G5s�z�_N�
-�PKӦvmU�ɾ{z�����������"3`l
��W#Ԑ�^@+�,c��ko��AOpnu���z�zJ)��Υ���1�}���O=����x�R��`�J�`�q���Us/�+�k�v�1xl���jl�El�\nD���ƶ�V�����jg�{Zd�z7�5��!xm�5o�[��u��&��1ڂHBkA��qr��R��
����(\gh��7��Ҋy�=�H�Z�UPh��$8Rg���z�gͭ�N:���1u�$܅����>R�]�����"��f7���K�^'���3�+E/��^�YU5]�NB.�ʋ��8��+�͏8��,|�{M|�A��ua|�a�����˅՝%�
-lKG�P�,Nu���k�c�8mX@��d�̘?�����Y�&��{�������?�P�(�G�]������O������r-��\LF�9�,&��y�8r����3�ܟ�?p��>�~����s��������D��z�1��?\U5q=��t�zԒ�&Z�nj�%�mM�"}���tk�D�wh�-=�m��B���76����&:һ�qt"�1:���Е��u;�"K_�/Jd�c0�l��0��'^B��8VC��zg����[ ;��d�
-�Y�bȃu���u;�@�*}y�|.��'C>\g=�9�V�Ő��[o�|g��^���>��d�
-9����������
-*E|A���*M�[�[*mO��Q�z?P�n�?R)Y��oT&[�U*��5�S�MB�����[�
-���oYDh��{��,}1<f�&6h��'��ʥU#V������E�D"T��ީ��AD9��eB�:��%O�� ����Fu�n 7?%RG4"��f�g��F꺁 a=��-��Q��y+B�,���2��օ5���𙄌xn�Ϊf*!����l�|GXQ� ރUp��
-�Eu �@����-��Do.6YZ��-&a>f?����N�N��	]�O/^;\��J�
�B�EsJr���Ě��'�g/���B%��o C��n�7��:|�y�Kt�&�$��s�|��wP���\i]�$Z@+���Հ90x]�r��%���+�RU�Em�+ܰ��;w�u��9/I��7�7զ�Q�lu\�y�W�N)�8�ܰvY�*u�m��������m(	f�E���G8��j#I��R���z#q�߷�	�)Y��$��Л�c_%�m-{!0-`;�公�hyV���]Hv!	�ta�\K���[�1{"�j 6@�3T0%���Θ"�ԙ�ZI�G��S����.��Σp��ӬS�1e��ٓ�؛��Y��v�8d�\�B�l�S��R)�ӆ������{I�ӆ��%���>�0Ўڦ�\�'�cg�2%4�Q�D�
-0͒3B�"�M�Վ&�ۊhI��ڧ�Rg�ME������
I��(���5U�D]}��b�8$���8�>��X �h�"l�΀�j�.%�ۀHH�-I��ݸ#1�C4��Y�7����Yݖ�Vo>P�]�6�����O4�7f
�~�AJdYF�€�.��o���y)	�8l��22�e����1H�[t��@!ȅ2\�@�5�ٓ�%Z����kޒa����@�.`n�3�OF��R(󅥶���ZkLkF �HWjY
I��5��*�6��e�Sbk.��5F,�.�N0�ԙ���|��V��||~N�(	 4����],�Jp|~�xe��A����5��/�ڻS������v���y?���'_v|r��X���H�Q���ēB@=�X����B9�4����T��B�B�c����H�P��+��_���YH�#�$���`��F���B;��+���BPR�4̼ t�:t�"ZE�J^!X�Ǔ�q4_dTW(5�܀������I��UŇ�A�z�@U6�n.WGX����H�RK��&'swM�j�ʎ���<����3�)���`#F@F Ԣ���v�o�b$x�+��u�&�}�|�X&[٪�8F�-�E&/>�/�G�.a�z^��/���})����'�x��$O=<��z��o��A9M؝&�~�3r�3g���'�8ң\�-�MDz����k��5����A
-����G9��|1-�! �87�[���,mR�u|�57�
-=X���,�aJ����^t�N�4��\fЄ]AzH^7��F������&k"LU>}�>�rB�X(ۂ��T�%��J����dhK���P��K�TFaA�3HH�C[r;a���d����54����lL�kjG{��8�h~�
fR@���9w�B����0�zS�����'��a7�@�@N����ƹl�bj3hN�X��F/��e�s��'��DsQ��<�k^���׼���ZASO�id�SJ�xN4D���K�!����	!٫v��hA`�E��X�����-
�P
��:���ѤC�:��W�zS�s�dO:�_����`�:t�aηБ����س����
�IY�4�# ��*��+<�q�n�o���u
-U�cww��x$d���ƿ�}ρ���94�����9p�*T:�%GQ�^a������'��e��b���l-��*X�L�%*ź�.�ڊ�\�@pR$T�*K����hp���������m����-/�oS�3���E����to��}�жV�o�eJ`<�$��t�����	�]g*�Z���6q���l��~�E��
-�S��/���i��T�t�k�Ǯ�W�þ�=?j��G����UUAJ����`��b�ˑ��Gˆ�Q�Aϫ���Ö����c���W���WSm���g���F��&�^��ؘԡ�6;C1:=ۈP���`�ڜ�VV���E��5"�hO�X�~���N3_5Ӂ]�z-���CW��tԥ��ӈ���e�]�\����V����c�#m[�kuޗ�_ʱ"���s�H��<}x��m0b�xH�qb�a3tf�MT���*]I�
-�}�(���,M����=�	�@�JA���d�����?§6PV��[
dV�v��4j��ߛ�lH\������{���M��Ș\����Y�܁��`9M�`Db�<�;a#z�<�x"�,�d�gCi�`�c��:���I��>jw��}J��z��^:V.�:��ڋ{�ͼ(ȲB���ɦ���x�<Db#"S��{��P�Hu�N�/�{r6;wU����s�PО�<��X��Y�s����Mxu��\�b���s�$��x��(��/^|^*0j~m�;#�%J��M4��p�QM׬�::b\C2gf��]�z�P8T� U��Qb��t��C�T�>
-p�8+6g_2�lΡ6�H� ���džH�:�
d�<�C��6��ؤ�/��6�E:�K��"�`kJ�<��Ƣ�=�v�7���N5��`��Jt��\j�6ͅ%˞7�*�'��U��4�:�X+
�\b���E
-����af��x��}��1+p��B��0�6�����3r�A$N�~��#�d�}�פ�P7h�H7b�F��§���8�
�P>�BtGN����m��x�@�j	���|{�s9�=�wR�/��oDJs5z>�;�'x��E�q^r�^=G?��9A���A�_���K%�Dɮ:uikjk�Ie���G�՝#*��)�jm��|�t��}`J�Z؈���H=4�{g߁��)�qX�MA,�H��7�1��V"��o,�Y#h���ݨS�_�;��a_ԗZ^cn4�����H�E��?���}�
-ȝ�����٤=}B�WvުUe��h����G��F�����;�@2S����@�f ����n��2�#�����f�Y:]�Jy�H]��-��G׌wgv'��|��0e�
-�_7��Ґ�n+f�ٸ��Y<��(�
-�?����y���%wm�+j�&&!�c�^�u'�b�&�h�m6¤����*2?�A�I��Ʋ5FW�ؙ[�Ɯ�B�Uz�I�E��!�m:����xh�e��Ǯn�z|]%��m�r�U�F�گ����1��};!n F�&�g����P�����;&������$$��F�).t�B�Q�3���(�C=����X���es�;�i����ي@��~�N��ΡE�	�SR���h�\����Be�o��������bT��nΒju���	g@��'qQ딎nx.u6bVU&��]�;��!C_���5�*�z�ɺ�m�RQu��q�����P��Z0��}m����n��^n�Or�T������:�U�'�h��0nZ�p^R�|DF�_b\�@��m���DE�8���{o�GM�᠜q���}��Sd �C,�i�ܚE���/��Ë[d8]��,MCI����_u�,]V��c�"��p�g@�`"y)�,;B�^e��l���2'�.(���Ę�y>�-|�h����w����;�j����Ս��iԽ���_o|!@�)ɢ���=�̌SPz����*!z})�|ƧT}�j��E�tC�Z�n���ý�*՞��4ۆ׽[����9�Ю�����ݓ��z`Wme�o��|j8j��5��9���@.��E�V�/�ZW@|��f_�\"${���v������/��;a�:Se�i3T�G�*����]�ơ/�h�2C32$�����1}��D��NX���t�?Fϝ�~n,Pj9.�>ף���{
-9��EN-v|3h��C�иE��� XT���;P�$�=�J�-��gݕ��igz~q�(A�<:h1�9�3�N�̽�Q����}CL��W�ߧ�׎�~��
�b��"����|�4u}����c�y����6��2�[ ���\d�,�Ҏճb�k���D��%0T�x��{=;�Է��(�i���LS���1������3�N�h/�6?�'E^�~���P�{sZ��Z�K�ĞB{�D�t�&���z���)�Uoa�5Q�3��ȗ�r~����
-����F]�$�<��tm(�}���MB@��[�Gx��F�h8��#}��,�#��u�Laz(�Qh�4%�xm`U��չ.E��v1a��4_'/[�d�{Fx�I�59���D�<��&�8V�E�Fg���芘#�I�䟍2S����_�]QqA�n��_�Q�>bޘ4g����-�0&E#c��i8�	vR/�4�r����P7��KsOW�N3ՏvE\bq��Q�5�Z�ڽVy5]�����h/	i)�����-/���k�N�ю���#e�)"P���	{�KSQ�x�����>a�&����<a,릌HEH���
]�%,eD��U~W�l��ڛ�;c�ᘓ�`��? ��p�M
�l��.�P�W7��٣�./�W�#;W�d*�:z;E2�������j��9y��A�S�S8�u����;fY8�m Kѯ��ԄԶ�͡>,��
_�g���-m�c<�n]Ч-�5�2c�����z
�7d P�z������V�����OPvf�R�R���ఓ9�Z
-���d������C�����`,�at�=�k?v��4#P
�B���إ�/[�s.<a0e�{��&��v��a~e��8��)f��ny��f�BPL�u�Iy�H=S�2����"[��(�¼O@�z*I��@��0��#����,�����I$Q��y

c�ўF
�a�ߞv"��|R�ܘ	'W�F�x?�+aN�M���K�`�D�/�nf:X�I8:H	�IRm]�K��6i �@U�H*N��oF���;����ᇏ"W�q��d\���Ѝ*C=#�2�6x�7�<T��
-7y��rU>-bH)ɺz� '}�׶��w�!r�X�Z��	�.:�Vn�;�-�>�:�
-6�r���U�cs�4k�VW�{����#��5ߑ0�B����`ܝ�0u��".Q����dB��0����C��r�]���#��Q9lq��N^�ֳ����h~�NU\� �16�
-~����S�n�T�l��\�THҲڛ-��~�G~)$�oQ7-�C�����}q%/a���vO��|[q4�����~Bc-$N�7<V�HE�i-���R�F�GNM�{�"3���49�[�j<����Wӭ��h����l�n�� ���QҨډGcq��@w�/e q����g���<����: ���a钷��u����_P�`��b{E��I(��OWG��fEy���ABa_��;O^�DQ��'�s�������`D�#њi�:Ѵ�+�Y{�{�p�&��\�Ra�����g�Ϟ0��g��T�L�i<'�7��?���X1���C��
-a����n0o�r1��/U������o�/?�♯a��_�p�Hֱ
G�촠��8�ݣ?3F�0����`%��ϑ��<�
-G�]Խ�8bl͏%-,�)}%�J�:�Y��j�T�;Ыȶ5Œ>�6���w�{�V餃.&��(�o��*�n<��n9��J�
-"a��Д��+��a�/�����;7zD�Zη{�t�M	Mp��	iؚk�NPw�ؑͺ�H`T
�$23��f�����0�z��;�����"�]��*�Y���,�Q�W�����lS���O�rW$5]K�VٻB��ܚ�I��k�|�=�&�[�������58E�R�0ދGk�sS���n��nnu���ExK��r����}�~m��`�G4u{���=]6f����ר
-Bo�&<
�ñc;2��P$�ǃ{mW_c��ª'B6Њ?$�^z[�C�Y�ݭ��j�N�~��ۮ0����t������6/)-�1:p$Dꥅȗ
-�
-,'���y�����v�� �n��F�T�с�['a�Mb�J]�%�&î�lc6&��IpF��
��o��i������5���'r����r�(q�������z6������(5���E��ɢ՟l\�L�k�7��1�Y4^)bٗ¦8��y�Ə���
-N��=��9zT�^[T$�dk��
Q�iK%�6����q������fO|���c�8$�ji^vr�.QQR"�Y�rĊ����
��k����r���K���<QI�"�@���R9
��/��\&7Y}m�gҊ7��z6�-M�u=���,��N3O\�6��aDA��ޮ�Ld^r��/.�>����
-N�e��Ri�4���!3R����"�4������n�b�m�-y[X�����."��!���QK��E\N��4gՠם������aN�p�
>k)9��0�B�Z��Bs
-��y�r��er�)v���D��t�rv�\�v�[��>�r�Jm���
-a��̼�~u���Տ�>�rMZ���c�B<��`)\y�t|ۍ��r'<����>�����[�Î���h7����Z��8caI�!�
�p⢟�̮�,�G���k�5@�����`��iw
��nО8p�v� ���*����'O
-�������A[�.��r�h�T
pR?+;���\*H�sLq���U��f��:ql-ć��*6!�h�+ˬ�{h���- jg�k�MM��P#��:�}���{/���V��ŶC]옙�&[�W$ګ^�#����4fWa\
��5��躺M[6��)T�3���~�������
-�:. Z����`s�i(�R��Q����|/�`�
-il�^�L#����f�-��;-C;_���*�{@EMCooÂ_�����7�T��rqz�F�%ׯ|��U<Z��o�[TA=���'DPJ]�;,U9���Q���p��k�4~�����_�C�^�qE�Ů��b
�SGs����Y��2N�A��u��%��SD�� �hj	
-�y;9$ߴIA��h�EO�����}
-�g�����/+ �Ճ��5�JY� @�G��������f2����Y���/��߼�e�߷��|v�/�"���p��~刋�T��8OK�r*���*
���4hi�@Q��3g"�j��:�$��;:���f������,d���z��Ț��Ԍ꺳��u%�ˣ}O�&���i2U�,@�k�j%u?��4�N�Km����d?5�ݓ;�0�Y���e}sZ���>EƫUs^ݜv{����fQ<Đ��VP����Tfͦ�?���m�p�P*��&���Q�G��{c�J��EPe2)�xP�0A����MɪZH�j�"׻"�A��C+zq�mVzᖞ�U%�C��:@1���W���[y)�J@�o�b%�j�A>)N�ǀ�i�$�A���t`>�?f0g��H36p�6��D|�M����4N���
-�� 4J�Jڃ�
-�j���Ƈ��\
�p�3����8������Я���6p��V?:�$�sD��N��ƹ�2�n�,��H�O\�[��ո��K�-)��W~�i�m�?���T�:���޺U�eY���-#dJe)����Z��5�?�$���\d�W<���,Ɇ��;�ط��5���S�ո���T�T���̄f(�PY�v=Q
~DX*���8�辩s-	�˨�΀55�
X�R�l QC��������l|��5�{�ӦT\t꼕+��e�n�۸���Ps��l�3���UO�[����Z��S3���*��,����:ÛZ����L�����S���'̵��*��*@���ı~xgno2�����-
-�� �W����V�;�pZ�9�?~��$�6�<��Qr�bQ8&�se��Eb��Q,��^|B���碘�Vd�V-�(�]� .��ˎ8/qhV�nR��Q�D�*�U(*1h�1�`؝QL{��Uj`��"�o3�ܻ�V�l��:	������
jaFa��E��̞Z��g1��z���2֠�:�Au�ZIf6��2�tw+���f��D�������CL-}g��Z�0>҄�xJ����>\���Q��A�_C�i�h��bl]
�6����4*�A˯ɰ�qX��7��Y�X.�-���ո�aɇ�V�h��iKg���qN�RĆN(r'�]��%٘�����@3�̀�j�Z��J�.;��nm�����,S���0x������ͻ�OF33�ҧ���<$'���G�E+��}������'1�f3����y�5�/&�Z�\RB�7dm��]�8���\���3߂�Ȫ�@��o��T�3eu^�W@�������e7l�!B�,�s���1���$����Z��&���?��dC�� �(YЦSm>�J"&pt�܈�P㇄BF���������4�G�5�	t^Ć$���j-a㠍g^�ʐC����As�T=k�TS,|�r���9I��BϘЬ��'��vG�A��@��t��hQ�Nj�&��T=�xt;2]�P�|T-	LÞ�����e1�ݽW�ZŚ*MrH5?��=����o��"��9�K5��=�'k�-*���A�E|	� � qҔ�_?\�7%��|M6�f�+��+�S*}�W�_�]3����fmܮ��˳��m w!�����.�R#�鬪;�����q�q�71���$•ݙկ_��iK�&�J�άM������em�V�5P�0>�� Q��5��W��H�Ih���&�4ҍIl�E7}�s���m[cȾ���|�d^	���%Uv�1�D��>�.�T��7*�=t�Z�_�㟾1Х:=0pZ��6ҋ�N�t�(�u�Ɲ�; �B�]��$�k�ڌ��.�{�F�*/UZ��N�砦|oq��K�G;^�侞9N��e��xK����\�wh���~���ZpH�b���䉸���[k�8����k��.bX.Q�Xp�xYa^��"��#���B�wnb����u���m5�F��~>��8���b����N:�p4�[gv^
-B��F�Uz�)?��60��F��8����/2��C8���>�N8G��%l�%��5�FH�{4�6h���4�%�#
7������x�o��N t�\�'�Ȩ
� ��E����0#��j�NãV�ӹd�?WlcW�������
-ž�ֵ�u�-��}2�2���EN��}#�䵵2H^a3����r��qs�����-�S3&���f�퇣���fwl.�=W�8�,���cH�j�cT�W��נs�9�0��Z�D�M���C2�ZM�����dj��t�"8�:g�{.Ʊ��1Fb6�1�8"yԦ>�����W�9�� �V�����`�j������T򔔑��<I��MԱW'%�f&�\y�Z�dkʹ��Ry�jw��}��Ѐ��[8�ԍ����bB� �'d'm�o�'<��|E���5��:��ڋo����>��r,n��i���

<T��S���>�d�� ���qN���.g+ �S��
Q������	
��KaB����?_��Q�E ���r���j��h>��E��ӛ;�C�׭7���^q�
-�`U�e�#-���;oJ�ċ���ԝ>)���;Jg���׭9R;Og����iI7�}��8K���ہq�j���eؓ�+ٗ'n�Ϸk3�����eFρ����0����V#���p�MAzb^P��V�u��~�1u��ғ�wn�	^�.II���_���vdW������[Q,���+L�b�������ćq��
9�V}�	�ΏV�w4qU�3&j�ıHYb� ����tt�T���7ρ��arBwP9?)�u��T/�a���A19��k�M
-\��P��s�<�Ta����@�<?M�(��.�,'%?,�%�a~e������U�0��/zQ��(Ѹ����a���p:.6�j��dF@\V�4��{�Ri����8�ɪnu��F�M_��=���Z8�H��l�sy5k%��|(�i9"�6�}ԋ~WK�۟�hY�k�����\���l�Rm���&�
�����0���b�]g����"��ހD^���ތ�j��J*)��6���-Yb�h�����
-Z����=ޑ�A,��(��K#�	
��Of�J:�;�I���!6Yi&�d���%m�86#���Q�����W_��A�v}?+�G���	cc*�m���g`�>��q��+��=�[5�͔����?�9�W��+^�o�^E��8s�)�f��2a���Q�x��i��&	NE>"^Na�a�;f���9]NE&	t^��CLz'�e�8ZR�s&6��7_��ãcyJ��1
��@TZ�?S�D2�
-�|�P���Oӌ�\d�R����7zH����9i���Q#����zr��c.�4��G�R�4��qx��<2~X�h��n��ੳ��2�auB�NC��+��k�X�0�
aj5n>މ���e3�vާ���<�>��_�����uH:��XR��%~9�!4��o�Ѽ���3���8?�� �1d#������A&���{A!i6����/Xa����㇤=W�;|���)� �g�~�
?*�悽� }��ڧ�Kt�>5|�E�������.���A��Q�6��
���(6
-
-6є�7����<9��_�C�f1��Ў�i8����,
V�4$��ut������i�,.`v6r	��P
��gFB�Ɏ�
-t����
C3�;�,�o���x|	
-/K�Mp�1S_��X.f�V���#�U>Ȓ���#B��]�
A��IVo��Іϵ����GTV1nr+��OX�S�%��³��f�OZ[�_�9���P�߰� {Gln�%�#��h�dw�H��=� �y�e/��W����>�,����IP,*MV���~ºK&�e�ċ��M콣=�)�qF��S���"�G��T�F��*�LX,h�[�����w�w��e�WQE�x��?��{^چE�x�h��i���ׂ��J����H��|�^�͓���e*^�Я.�u�xE����b#�;���ԝ<]z]\����w�N�ho�chq�E��=���4Q1�7���W��̓lÕ6�᧿�HE_̣��qy���YR��۫<x=�cS�Xy!=0�8Ǘ�x�����?�{}�����F_���Ǡ�z���kt�ɱ��7��ڂ|t��+a�m�<xe$��e���ɍ��<[�T����X[���������s�V�̋�ާU��*��h�S�K=Fe�sw uY�o��ٯnQ��=NE:[�(t]�
k�|�@�ٿuZ\9{h���v��ܕӆ.ڡ�sa��$u+�q�w:#��?�e�T�3=��л�!�p�PL`�:����R;�gʮ�Fha�ΐ;���5Ie�+�������bt06AW40T�hJcc<&�mJcc�
-���OCn�W?��N�i��o](XЄ��{�Lz���;����g��|Ǐ�>�9~l4s�Vy���`��Uߛ,������#_�u��+De�����M���~h�q�벇��#Y����z�$;�5ͯ9$�� z�>�
-�*j�O������$��$O/���xR����t�f-}*�o�ɦ���|3�M;xި�U���l/.�~Xǎ�Y�4�x3&���x�";�$�KI��5�dڭ������~w[��M9O��%4��Q�}�S^��t���@���w[�Y;-������s;�b��wH-*�im��I�-�1e/�~��TNN�.�p���)H$��W��~������Ʀ��O
-(��9�,�
]gM6r�+�#�%��/s�w�A�$��q�4�O>
-d9}��+��$�s����?0��a,>�y��ڈs<��=�,��c_*\�D���}�2M����T8/�4�g�'ڦ���8'�}"�C�*�\9�#Y�>z$����7c[s�|"$}�	ym�����zQx 5�%�o��$j�k��p)�x���-:��И|?��o��f��gFr���2�S��Z��q}q���	�o�,wy�O�g��CF1�l��'�L5T3��3���y��M�9�2"s���5uD��6��-J�U�bs��
-�O)��w�R
-2�/5f�<�BQ�4k��ꐭ�G�	)%߼�<d��ĪĞ��3�2`�a��]��S{�K%�\]�3&��p����ڸ���Cո����놶�,��
��^�T���7�h�5�u�lD��xڷ���L'D���r�6�vշfc\�����gA������@�?�������	��GF��VA�l,���:����i#~NU��DV~7��k�K`!�P��MX��R��$#�Tiih���om՘�<.8Um�<��3���ES�4ܫ���V9��'��bv�{���?�VV���3��;�U'֬���1R�V�{B����i��4CRh��r6~�Ӗ�J��P�͎��M�7G���-,NLo��<���ѣz����2H&|$����<{
�ڜ�K�_����mmS�)>r�ϛf@=��BF���CB�������&'�F}@�&����y�ub�����C?'�����S�49+�Ó�C����Iî���+���f/R�U�
��C�Fu:C*�}�T:��}{��ݽⲷ�u������e[!��>�?����ڸ�"�M
-8gz��0\Hk��Z�:�h��~�@�+�#�N���fj��y���io�!�B�	������R'�5>�`��[!��T�`mC��I�ѝ�}�n
-�>W��!M}U�av��4��3)!�kcȂ��m�?��	��d�w��v�!ה;Xϡۨ}�8�vt���"Ӽ#k�vX�J��[�l��[ZݙMÀ���XC3l�[
�Ta�Vj����ʻ���Ѭ"œ��t:�(�����<�cZ�ve��Q���T���qH�i{��銀Q埓'��Ö��i��P��■������mK�A�I�����BF�
-�=�����Tᅽ��(��&TS�?/�؁A:ַ��ОV�(��@w�Fa^�]����o]*��99�R�i��_�������2vM���`P���f��{QY���H#V7v�7�Ұ�q>@��~uɘ׆Ax��/��x��B��3�Ġ��t���y�b0��nG`��E�D�ٍ�A��:�P�wI�7��nW��2ED<hD�&Z���	Π7�3�&���)LD�4;�7��Ѵ?$���k@�"��"L&~���1ʺf�14�ʱ|���7Os��}��L1;��?�{1$���w)��1}��0�~7��#E5��`�q&o
�ow����_��鴊��8Q1��G�����Ɋ���08��h��W�e��+��\��ԉ�R�����U?w��e���O���Sx�AU�̞3�|	=WA����R�
-P�tO%Q"1Yה!so%%�^�z�_hn,�{?���"L�5�_D6���+����Sb�<���gfJ���0�b�_��x�-��;�H�����W�:G�M�i�Ee�Iu��vJ]~m����QHLKk��hb�A>}.(h��"���U]�9I�h_�V�@��GZ0C
-�pb
�:�L3��tN*�N�2��!�3��
Ca��yn.���ɋW�`̳�}�QB�C���i ��8*��{57���O#aT��B����U�o�i�0�
�_����^
-ChrU}~r�L 1�z�>..�=%G���G����o ����E�u�P�Psؘ޸��8����P��u&;��*���|i&��Pb�ț���h�;�[��|y*c�V�h�Ҽ�(��~�_A�qU2����GIQ�3`�^�v�=�@��K'��Ї��Z#4sJ=��:sY��	sڥb�yj��S_E܃"����@�~���>�86��#�y����[��c�S�Ŭ�����#�SJ�GZ��yvv��S�я扝p�waT�����/,
-9'Jkv%%.�~o�[�� 衧���R�Bj��S�Ȁ*$'�腁�pçS�u��+�9\��_f+����8�u\,����t���p�э�kخJ0h�(]N�Q�v�W����7��8��6:��ݣ����Wc��Y_i>����"��R�����(�e]�6���RA%U�6&�F]��7@̳k3X
h�?��K�����Q�2�Bk�[<o�-[
�s~��0��]T���2���h���J�q�K�v���(32J���//W��,����z��d$2�cA�kP���	��K�+��Ec�����[Q�������i��EdV��xR8��B�5���a=:��KQ�����\��@�V�^;Kr�	�M{����{#��C�w}{^,��$0Rc�\o��Q�Ѽ�ץP��$��Y�vp�>?.���.K��KAb��6���5��k�e�+]�F<H�e"�;{wN�yx/���&f檄/XZ[��7���c%�ŀ5�d�Y_�y"Ыߞ�2\37�
-�k\�띲|FO ���68���������������nK�zR"�������?/7�32�:а�>��e�WH�U��0O�ק�5����
����e3H��co�>l]0�2��c����H�9�{Z
{sO��!�A,�7�?ŷ3�w俎A
-�Fj���8�B�&8U$G��������$�Y5���F�L�5n����1��>q�2��.�6�e��
-�
�����+��@/���k�b{��(��7�i=��{l͍�݂���濦��8��1g�(���%��h/�Ef�M�ҍ�t��5��̼vg�o� �~ਜ਼WKi父U��أݖ�w�RS�E�F��T��%�
`=���|*=1��*�����S�X�����^���w)l���fQ�H���(YS��SˌK���1����W]�f����7ך�^&�p�@T'.��%3�����
��������5�zaTf6��A5�L��X̡��|�L�-��η��T�g{A)�F��."h���j��A;.��~����o�%���G#�}&]�׾c�`C�hH9xnN��Y �l�c��\+v\E���Ƨ1�D9K�X�)2b.��N���W����Qש$�/��|6tð��32ԛ��7�����2���иyu�0e��)�N�uh'd������~xY������>��#b�"k3�������:�9���v��$ПC�:�)H��>	զ�z��;e�d\jmf��O�a%�9���cK�x��ۥ�!k�%H��Dn��{Y�"�{n_�}
-�)9�=
_/��Z�(��>l����Y���V��gQ#�߭:Q���bw����$�zw��ٮ�#���U�?|���G���h�z�{�o�$w��Ϝ���)|Vh��?��
ZV�7�%��G�o/�׆���E�"�KӲ����l�p76��-z
!�l�4n>��$\��zV?sz�qej�Q���]m���^�=^�
����!���l��HB4sLi9}�2�^��K�5�OB�)��O
��v^~����݀x��rm\K�&G^�5�C��L�}&F�����B]K��n3��|�sGjy�k�O���b�sܽ�aW?R6�����J���fh��2	��lBS�\=�j��V��*��Y��^�����˺^E)��*�\���
-��r�r(a�@��6nԌ�?�}�dL�����g�Ivq�Nc��a��Ʈk���mL��c�A!��hd���V����wc=��憖����s_�:��җ��sL���g>���1�*4-%�&��0Ub�)Eܬ��*b���51����	�+�+;��<����`!q�f��M�*�,[/GK+{����,>C�L���R%%c�����~��'EG��A��G��=�h�䟔��8:ID�N)�W̻�AF)ucw'qh�Xè�L@a��~�6�Pc2L�"�A�2b��U	��&�����9�A#�QLO�:�E�9k�����f�KF�b93t�L$c�ˬp�Lz���5�d�p����۰>$`�.��~X�=����?��N�Ͱ/���L�P���No0�����p���� �b8AR4�r� J��j�}���
Ӳ��0��4ˋ�����q��uۏ���AFP'H�fX�DIVTM7L�v\��(N�,/ʪnڮ�i^�m?��~�����	����Q�U�
Ӳ��0��4ˋ�����q��uۏ�����b$��tV&g�ϖ��r>�<�y��?������f�{�紷�������%����~�Z��a�zW�������2��sv��������eW����������@DDDD$""""bffff�}�X	�O�0�cDDDDD���Z�6W�08B��I��������������.H��W������
-�߈��9���u�*��R*J^}��:M��$I�$I�F������yџ�����_W���<G<���/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.6",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");
-d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.6",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===bo||n[0]===_o?_o+n:n}function s(n){return(n+="")[0]===_o?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=wo.length;r>e;++e){var i=wo[e]+t;if(i in n)return i}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,i=-1,u=r.length;++i<u;)(t=r[i].on)&&t.apply(this,arguments);return n}var e=[],r=new c;return t.on=function(t,i){var u,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,u=e.indexOf(o)).concat(e.slice(u+1)),r.remove(t)),i&&e.push(r.set(t,{on:i})),n)},t}function S(){ao.event.preventDefault()}function k(){for(var n,t=ao.event;n=t.sourceEvent;)t=n;return t}function N(n){for(var t=new _,e=0,r=arguments.length;++e<r;)t[arguments[e]]=w(t);return t.of=function(e,r){return function(i){try{var u=i.sourceEvent=ao.event;i.target=n,ao.event=i,t[i.type].apply(e,r)}finally{ao.event=u}}},t}function E(n){return ko(n,Co),n}function A(n){return"function"==typeof n?n:function(){return No(n,this)}}function C(n){return"function"==typeof n?n:function(){return Eo(n,this)}}function z(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function i(){this.setAttribute(n,t)}function u(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=ao.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?u:i}function L(n){return n.trim().replace(/\s+/g," ")}function q(n){return new RegExp("(?:^|\\s+)"+ao.requote(n)+"(?:\\s+|$)","g")}function T(n){return(n+"").trim().split(/^|\s+/)}function R(n,t){function e(){for(var e=-1;++e<i;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<i;)n[e](this,r)}n=T(n).map(D);var i=n.length;return"function"==typeof t?r:e}function D(n){var t=q(n);return function(e,r){if(i=e.classList)return r?i.add(n):i.remove(n);var i=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(i)||e.setAttribute("class",L(i+" "+n))):e.setAttribute("class",L(i.replace(t," ")))}}function P(n,t,e){function r(){this.style.removeProperty(n)}function i(){this.style.setProperty(n,t,e)}function u(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?u:i}function U(n,t){function e(){delete this[n]}function r(){this[n]=t}function i(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?i:r}function j(n){function t(){var t=this.ownerDocument,e=this.namespaceURI;return e===zo&&t.documentElement.namespaceURI===zo?t.createElement(n):t.createElementNS(e,n)}function e(){return this.ownerDocument.createElementNS(n.space,n.local)}return"function"==typeof n?n:(n=ao.ns.qualify(n)).local?e:t}function F(){var n=this.parentNode;n&&n.removeChild(this)}function H(n){return{__data__:n}}function O(n){return function(){return Ao(this,n)}}function I(n){return arguments.length||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function Y(n,t){for(var e=0,r=n.length;r>e;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Z(n){return ko(n,qo),n}function V(n){var t,e;return function(r,i,u){var o,a=n[u].update,l=a.length;for(u!=e&&(e=u,t=0),i>=t&&(t=i+1);!(o=a[t])&&++t<l;);return o}}function X(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function i(){var i=l(t,co(arguments));r.call(this),this.addEventListener(n,this[o]=i,i.$=e),i._=t}function u(){var t,e=new RegExp("^__on([^.]+)"+ao.requote(n)+"$");for(var r in this)if(t=r.match(e)){var i=this[r];this.removeEventListener(t[1],i,i.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),l=$;a>0&&(n=n.slice(0,a));var c=To.get(n);return c&&(n=c,l=B),a?t?i:r:t?b:u}function $(n,t){return function(e){var r=ao.event;ao.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ao.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Do,i="click"+r,u=ao.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ro&&(Ro="onselectstart"in e?!1:x(e.style,"userSelect")),Ro){var o=n(e).style,a=o[Ro];o[Ro]="none"}return function(n){if(u.on(r,null),Ro&&(o[Ro]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Po){var u=t(n);if(u.scrollX||u.scrollY){r=ao.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Po=!(o.f||o.e),r.remove()}}return Po?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ao.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?Fo:Math.acos(n)}function tn(n){return n>1?Io:-1>n?-Io:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?u+(o-u)*n/60:180>n?o:240>n?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=ao.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Yo)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=vn(i)*na,r=vn(r)*ta,u=vn(u)*ea,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Zo,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):_n(""+n,mn,cn):new mn(n,t,e)}function Mn(n){return new mn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=ua.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o=o>>4|o,a=240&u,a=a>>4|a,l=15&u,l=l<<4|l):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new ln(r,i,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/na),i=dn((.2126729*n+.7151522*t+.072175*e)/ta),u=dn((.0193339*n+.119192*t+.9503041*e)/ea);return hn(116*i-16,500*(r-i),200*(i-u))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(r){return void o.error.call(u,r)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=ao.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=ao.event;ao.event=n;try{o.progress.call(u,l)}finally{ao.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(co(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},ao.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i=e+t,u={c:n,t:i,n:null};return aa?aa.n=u:oa=u,aa=u,la||(ca=clearTimeout(ca),la=1,fa(Tn)),u}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(ca),ca=setTimeout(Tn,t)),la=0):(la=1,fa(Tn))}function Rn(){for(var n=Date.now(),t=oa;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=oa,e=1/0;t;)t.c?(t.t<e&&(e=t.t),t=(n=t).n):t=n?n.n=t.n:oa=t.n;return aa=n,e}function Pn(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Un(n,t){var e=Math.pow(10,3*xo(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ha.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pa.get(p)||Fn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=ao.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;n=p(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new va(e-1)),1),e}function u(n,e){return t(n=new va(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{va=Hn;var r=new Hn;return r._=n,o(r,t,e)}finally{va=Date}}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(i),l.offset=In(u),l.range=a,n}function In(n){return function(t,e){try{va=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{va=Date}}}function Yn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(l,a)),null!=(i=ya[e=n.charAt(++a)])&&(e=n.charAt(++a)),(u=A[e])&&(e=u(t,null==i?"e"===e?" ":"0":i)),o.push(e),l=a+1);return o.push(n.slice(l,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,n,t,0);if(i!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var u=null!=r.Z&&va!==Hn,o=new(u?Hn:va);return"j"in r?o.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),u?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var i,u,o,a=0,l=t.length,c=e.length;l>a;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function $n(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Bn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function Wn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Jn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Gn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.y=Qn(+r[0]),e+r[0].length):-1}function Kn(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Qn(n){return n+(n>68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ft(){}function st(n,t,e){var r=e.s=n+t,i=r-n,u=r-i;e.t=n-u+(t-i)}function ht(n,t){n&&wa.hasOwnProperty(n.type)&&wa[n.type](n,t)}function pt(n,t,e){var r,i=-1,u=n.length-e;for(t.lineStart();++i<u;)r=n[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function gt(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)pt(n[e],t,1);t.polygonEnd()}function vt(){function n(n,t){n*=Yo,t=t*Yo/2+Fo/4;var e=n-r,o=e>=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])<Uo&&xo(n[1]-t[1])<Uo}function St(n,t){n*=Yo;var e=Math.cos(t*=Yo);kt(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function kt(n,t,e){++Ea,Ca+=(n-Ca)/Ea,za+=(t-za)/Ea,La+=(e-La)/Ea}function Nt(){function n(n,i){n*=Yo;var u=Math.cos(i*=Yo),o=u*Math.cos(n),a=u*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*a)*c+(c=r*o-t*l)*c+(c=t*a-e*o)*c),t*o+e*a+r*l);Aa+=c,qa+=c*(t+(t=o)),Ta+=c*(e+(e=a)),Ra+=c*(r+(r=l)),kt(t,e,r)}var t,e,r;ja.point=function(i,u){i*=Yo;var o=Math.cos(u*=Yo);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(u),ja.point=n,kt(t,e,r)}}function Et(){ja.point=St}function At(){function n(n,t){n*=Yo;var e=Math.cos(t*=Yo),o=e*Math.cos(n),a=e*Math.sin(n),l=Math.sin(t),c=i*l-u*a,f=u*o-r*l,s=r*a-i*o,h=Math.sqrt(c*c+f*f+s*s),p=r*o+i*a+u*l,g=h&&-nn(p)/h,v=Math.atan2(h,p);Da+=g*c,Pa+=g*f,Ua+=g*s,Aa+=v,qa+=v*(r+(r=o)),Ta+=v*(i+(i=a)),Ra+=v*(u+(u=l)),kt(r,i,u)}var t,e,r,i,u;ja.point=function(o,a){t=o,e=a,ja.point=n,o*=Yo;var l=Math.cos(a*=Yo);r=l*Math.cos(o),i=l*Math.sin(o),u=Math.sin(a),kt(r,i,u)},ja.lineEnd=function(){n(t,e),ja.lineEnd=Et,ja.point=St}}function Ct(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function zt(){return!0}function Lt(n,t,e,r,i){var u=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(wt(e,r)){i.lineStart();for(var a=0;t>a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r<t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function Tt(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Rt(n,t,e,r){return function(i,u){function o(t,e){var r=i(t,e);n(t=r[0],e=r[1])&&u.point(t,e)}function a(n,t){var e=i(n,t);d.point(e[0],e[1])}function l(){m.point=a,d.lineStart()}function c(){m.point=o,d.lineEnd()}function f(n,t){v.push([n,t]);var e=i(n,t);x.point(e[0],e[1])}function s(){x.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buffer(),r=e.length;if(v.pop(),g.push(v),v=null,r)if(1&t){n=e[0];var i,r=n.length-1,o=-1;if(r>0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o<r;)u.point((i=n[o])[0],i[1]);u.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)<Uo?(n.point(e,r=(r+o)/2>0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)<Uo&&(e-=i*Uo),xo(u-a)<Uo&&(u-=a*Uo),r=Ft(e,r,u,o),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineEnd:function(){n.lineEnd(),e=r=NaN},clean:function(){return 2-t}}}function Ft(n,t,e,r){var i,u,o=Math.sin(n-e);return xo(o)>Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]<t[0]?Fo:-Fo;i=e*u/2,r.point(-u,i),r.point(0,i),r.point(u,i)}else r.point(t[0],t[1])}function Ot(n,t){var e=n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;ka.reset();for(var a=0,l=t.length;l>a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)<Uo,C=A||Uo>E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)<Uo?k:N):k<=b[1]&&b[1]<=N:E>Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)<Uo?i>0?0:3:xo(r[0]-e)<Uo?i>0?2:1:xo(r[1]-t)<Uo?i>0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){
-r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=M,g=x,v=b,d=_,y=w,S.point=u}function f(){i(M,x,m,b,_,w,p,g,s,v,d,y,a,t),S.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=xo(xo(w)-1)<Uo||xo(r-h)<Uo?(r+h)/2:Math.atan2(_,b),E=n(N,k),A=E[0],C=E[1],z=A-t,L=C-e,q=M*z-m*L;(q*q/x>u||xo((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Yo),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Zo,e*Zo])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Yo,n[1]*Yo),[n[0]*h+l,c-n[1]*h]}function e(n){return n=a.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Zo,n[1]*Zo]}function r(){a=Ct(o=se(y,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,v=0,d=0,y=0,M=0,x=0,b=Fa,_=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(b(o,s(_(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fa):It((w=+n)*Yo),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Yo,d=n[1]%360*Yo,r()):[v*Zo,d*Zo]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Yo,M=n[1]%360*Yo,x=n.length>2?n[2]%360*Yo:0,r()):[y*Zo,M*Zo,x*Zo]},ao.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Yo,e*Yo)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Fo?n-Ho:-Fo>n?n+Ho:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Fo?t-Ho:-Fo>t?t+Ho:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=de(e,i),u=de(e,u),(o>0?u>i:i>u)&&(i+=o*Ho)):(i=n+o*Ho,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=_t([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Uo)%(2*Math.PI)}function ye(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function me(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(on(r-t)+i*o*on(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*Zo,Math.atan2(o,Math.sqrt(r*r+i*i))*Zo]}:function(){return[n*Zo,t*Zo]};return g.distance=h,g}function _e(){function n(n,i){var u=Math.sin(i*=Yo),o=Math.cos(i),a=xo((n*=Yo)-t),l=Math.cos(a);Ja+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Ga.point=function(i,u){t=i*Yo,e=Math.sin(u*=Yo),r=Math.cos(u),Ga.point=n},Ga.lineEnd=function(){Ga.point=Ga.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function Se(n,t){function e(n,t){o>0?-Io+Uo>t&&(t=-Io+Uo):t>Io-Uo&&(t=Io-Uo);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Fo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Io]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return xo(i)<Uo?ce:(e.invert=function(n,t){var e=u-t;return[Math.atan2(n,e)/i,u-K(i)*Math.sqrt(n*n+e*e)]},e)}function Ne(n,t){return[n,Math.log(Math.tan(Fo/4+t/2))]}function Ee(n){var t,e=oe(n),r=e.scale,i=e.translate,u=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=i.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=u.apply(e,arguments);if(o===e){if(t=null==n){var a=Fo*r(),l=i();u([[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Ae(n,t){return[Math.log(Math.tan(Fo/4+t/2)),-n]}function Ce(n){return n[0]}function ze(n){return n[1]}function Le(n){for(var t=n.length,e=[0,1],r=2,i=2;t>i;i++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),ol.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];je(n);for(var l=u;l.circle&&xo(e-l.circle.x)<Uo&&xo(r-l.circle.cy)<Uo;)u=l.P,a.unshift(l),je(l),l=u;a.unshift(l),Be(l);for(var c=o;c.circle&&xo(e-c.circle.x)<Uo&&xo(r-c.circle.cy)<Uo;)o=c.N,a.push(c),je(c),c=o;a.push(c),Be(c);var f,s=a.length;for(f=1;s>f;++f)c=a[f],l=a[f-1],nr(c.edge,l.site,c.site,i);l=a[0],c=a[s-1],c.edge=Ke(l.site,c.site,null,i),$e(l),$e(c)}function He(n){for(var t,e,r,i,u=n.x,o=n.y,a=ol._;a;)if(r=Oe(a,o)-u,r>Uo)a=a.L;else{if(i=u-Ie(a,o),!(i>Uo)){r>-Uo?(t=a.P,e=a):i>-Uo?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=Ue(n);if(ol.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),ol.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};nr(e.edge,c,g,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,g,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-(1/0);e=o.site;var a=e.x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=ul,d=v.length;d--;)if(u=v[d],u&&u.prepare())for(a=u.edges,l=a.length,o=0;l>o;)f=a[o].end(),r=f.x,i=f.y,c=a[++o%l].start(),t=c.x,e=c.y,(xo(r-t)>Uo||xo(i-e)>Uo)&&(a.splice(o,0,new tr(Qe(u.site,f,xo(r-s)<Uo&&g-i>Uo?{x:s,y:xo(t-s)<Uo?e:g}:xo(i-g)<Uo&&h-r>Uo?{x:xo(e-g)<Uo?t:h,y:g}:xo(r-h)<Uo&&i-p>Uo?{x:h,y:xo(t-h)<Uo?e:p}:xo(i-p)<Uo&&r-s>Uo?{x:xo(e-p)<Uo?t:s,y:p}:null),u.site,null)),++l)}function Ve(n,t){return t.angle-n.angle}function Xe(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,i=n.site,u=e.site;if(r!==u){var o=i.x,a=i.y,l=r.x-o,c=r.y-a,f=u.x-o,s=u.y-a,h=2*(l*s-c*f);if(!(h>=-jo)){var p=l*l+c*c,g=f*f+s*s,v=(s*p-c*g)/h,d=(l*g-f*p)/h,s=d+a,y=fl.pop()||new Xe;y.arc=n,y.site=i,y.x=v+o,y.y=s+Math.sqrt(v*v+d*d),y.cy=s,n.circle=y;for(var m=null,M=ll._;M;)if(y.y<M.y||y.y===M.y&&y.x<=M.x){if(!M.L){m=M.P;break}M=M.L}else{if(!M.R){m=M;break}M=M.R}ll.insert(m,y),m||(al=y)}}}}function Be(n){var t=n.circle;t&&(t.P||(al=t.N),ll.remove(t),fl.push(t),rr(t),n.circle=null)}function We(n){for(var t,e=il,r=Yt(n[0][0],n[0][1],n[1][0],n[1][1]),i=e.length;i--;)t=e[i],(!Je(t,n)||!r(t)||xo(t.a.x-t.b.x)<Uo&&xo(t.a.y-t.b.y)<Uo)&&(t.a=t.b=null,e.splice(i,1))}function Je(n,t){var e=n.b;if(e)return!0;var r,i,u=n.a,o=t[0][0],a=t[1][0],l=t[0][1],c=t[1][1],f=n.l,s=n.r,h=f.x,p=f.y,g=s.x,v=s.y,d=(h+g)/2,y=(p+v)/2;if(v===p){if(o>d||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.y<l)return}else u={x:d,y:c};e={x:d,y:l}}}else if(r=(h-g)/(v-p),i=y-r*d,-1>r||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.y<l)return}else u={x:(c-i)/r,y:c};e={x:(l-i)/r,y:l}}else if(v>p){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.x<o)return}else u={x:a,y:r*a+i};e={x:o,y:r*o+i}}return n.a=u,n.b=e,!0}function Ge(n,t){this.l=n,this.r=t,this.a=this.b=null}function Ke(n,t,e,r){var i=new Ge(n,t);return il.push(i),e&&nr(i,n,t,e),r&&nr(i,t,n,r),ul[n.i].edges.push(new tr(i,n,t)),ul[t.i].edges.push(new tr(i,t,n)),i}function Qe(n,t,e){var r=new Ge(n,null);return r.a=t,r.b=e,il.push(r),r}function nr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function tr(n,t,e){var r=n.a,i=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function ir(n,t){var e=t,r=t.R,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ur(n,t){var e=t,r=t.L,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function or(n){for(;n.L;)n=n.L;return n}function ar(n,t){var e,r,i,u=n.sort(lr).pop();for(il=[],ul=new Array(n.length),ol=new er,ll=new er;;)if(i=al,u&&(!i||u.y<i.y||u.y===i.y&&u.x<i.x))u.x===e&&u.y===r||(ul[u.i]=new Ye(u),He(u),e=u.x,r=u.y),u=n.pop();else{if(!i)break;Fe(i.arc)}t&&(We(t),Ze(t));var o={cells:ul,edges:il};return ol=ll=il=ul=null,o}function lr(n,t){return t.y-n.y||t.x-n.x}function cr(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function fr(n){return n.x}function sr(n){return n.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(n,t,e,r,i,u){if(!n(t,e,r,i,u)){var o=.5*(e+i),a=.5*(r+u),l=t.nodes;l[0]&&pr(n,l[0],e,r,o,a),l[1]&&pr(n,l[1],o,r,i,a),l[2]&&pr(n,l[2],e,a,o,u),l[3]&&pr(n,l[3],o,a,i,u)}}function gr(n,t,e,r,i,u,o){var a,l=1/0;return function c(n,f,s,h,p){if(!(f>u||s>o||r>h||i>p)){if(g=n.point){var g,v=t-n.x,d=e-n.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=n.nodes,x=.5*(f+h),b=.5*(s+p),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,f,s,x,b);break;case 1:c(n,x,s,h,b);break;case 2:c(n,f,b,x,p);break;case 3:c(n,x,b,h,p)}}}(n,r,i,u,o),a}function vr(n,t){n=ao.rgb(n),t=ao.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+bn(Math.round(e+u*n))+bn(Math.round(r+o*n))+bn(Math.round(i+a*n))}}function dr(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function yr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function mr(n,t){var e,r,i,u=hl.lastIndex=pl.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=pl.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:yr(e,r)})),u=pl.lastIndex;return u<t.length&&(i=t.slice(u),a[o]?a[o]+=i:a[++o]=i),a.length<2?l[0]?(t=l[0].x,function(n){return t(n)+""}):function(){return t}:(t=l.length,function(n){for(var e,r=0;t>r;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Mr(n,t){for(var e,r=ao.interpolators.length;--r>=0&&!(e=ao.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Mr(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Io)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Ho*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Ho/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=ao.hcl(n),t=ao.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=ao.hsl(n),t=ao.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){n=ao.lab(n),t=ao.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),i=Fr(t,e),u=Hr(Or(e,t,-i))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Zo,this.translate=[n.e,n.f],this.scale=[r,u],this.skew=u?Math.atan2(i,u)*Zo:0}function Fr(n,t){return n[0]*t[0]+n[1]*t[1]}function Hr(n){var t=Math.sqrt(Fr(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Or(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ir(n){return n.length?n.pop()+",":""}function Yr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else(t[0]||t[1])&&e.push("translate("+t+")")}function Zr(n,t,e,r){n!==t?(n-t>180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:yr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:yr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=ao.transform(n),t=ao.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i<u;)e[(t=r[i]).i]=t.x(n);return e.join("")}}function Br(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Wr(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Jr(n){for(var t=n.source,e=n.target,r=Kr(t,e),i=[t];t!==r;)t=t.parent,i.push(t);for(var u=i.length;e!==r;)i.splice(u,0,e),e=e.parent;return i}function Gr(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Kr(n,t){if(n===t)return n;for(var e=Gr(n),r=Gr(t),i=e.pop(),u=r.pop(),o=null;i===u;)o=i,i=e.pop(),u=r.pop();return o}function Qr(n){n.fixed|=2}function ni(n){n.fixed&=-7}function ti(n){n.fixed|=4,n.px=n.x,n.py=n.y}function ei(n){n.fixed&=-5}function ri(n,t,e){var r=0,i=0;if(n.charge=0,!n.leaf)for(var u,o=n.nodes,a=o.length,l=-1;++l<a;)u=o[l],null!=u&&(ri(u,t,e),n.charge+=u.charge,r+=u.charge*u.cx,i+=u.charge*u.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var c=t*e[n.point.index];n.charge+=n.pointCharge=c,r+=c*n.point.x,i+=c*n.point.y}n.cx=r/n.charge,n.cy=i/n.charge}function ii(n,t){return ao.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=fi,n}function ui(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(i=n.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function oi(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++o<i;)e.push(u[o]);for(;null!=(n=r.pop());)t(n)}function ai(n){return n.children}function li(n){return n.value}function ci(n,t){return t.value-n.value}function fi(n){return ao.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function si(n){return n.x}function hi(n){return n.y}function pi(n,t,e){n.y0=t,n.y=e}function gi(n){return ao.range(n.length)}function vi(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function di(n){for(var t,e=1,r=0,i=n[0][1],u=n.length;u>e;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function yi(n){return n.reduce(mi,0)}function mi(n,t){return n+t[1]}function Mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function bi(n){return[ao.min(n),ao.max(n)]}function _i(n,t){return n.value-t.value}function wi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Si(n,t){n._pack_next=t,t._pack_prev=n}function ki(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Ni(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-(1/0),h=1/0,p=-(1/0);if(e.forEach(Ei),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(u=e[2],zi(r,i,u),t(u),wi(r,u),r._pack_prev=u,wi(u,i),i=r._pack_next,o=3;c>o;o++){zi(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(ki(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!ki(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.r<r.r?Si(r,i=a):Si(r=l,i),o--):(wi(r,u),i=u,t(u))}var y=(f+s)/2,m=(h+p)/2,M=0;for(o=0;c>o;o++)u=e[o],u.x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Ai)}}function Ei(n){n._pack_next=n._pack_prev=n}function Ai(n){delete n._pack_next,delete n._pack_prev}function Ci(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u<o;)Ci(i[u],t,e,r)}function zi(n,t,e){var r=n.r+e.r,i=t.x-n.x,u=t.y-n.y;if(r&&(i||u)){var o=t.r+e.r,a=i*i+u*u;o*=o,r*=r;var l=.5+(r-o)/(2*a),c=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+l*i+c*u,e.y=n.y+l*u-c*i}else e.x=n.x+r,e.y=n.y}function Li(n,t){return n.parent==t.parent?1:2}function qi(n){var t=n.children;return t.length?t[0]:n.t}function Ti(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ri(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Di(n){for(var t,e=0,r=0,i=n.children,u=i.length;--u>=0;)t=i[u],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pi(n,t,e){return n.a.parent===t.parent?n.a:e}function Ui(n){return 1+ao.max(n,function(n){return n.y})}function ji(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fi(n){var t=n.children;return t&&t.length?Fi(t[0]):n}function Hi(n){var t,e=n.children;return e&&(t=e.length)?Hi(e[t-1]):n}function Oi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ii(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function Yi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zi(n){return n.rangeExtent?n.rangeExtent():Yi(n.range())}function Vi(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function Xi(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function $i(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bi(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)i.push(e(n[o-1],n[o])),u.push(r(t[o-1],t[o]));return function(t){var e=ao.bisect(n,t,1,a)-1;return u[e](i[e](t))}}function Wi(n,t,e,r){function i(){var i=Math.min(n.length,t.length)>2?Bi:Vi,l=r?Wr:Br;return o=i(n,t,l,e),a=i(t,n,l,Mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Ur)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return Qi(n,t)},u.tickFormat=function(t,e){return nu(n,t,e)},u.nice=function(t){return Gi(n,t),i()},u.copy=function(){return Wi(n,t,e,r)},i()}function Ji(n,t){return ao.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gi(n,t){return Xi(n,$i(Ki(n,t)[2])),Xi(n,$i(Ki(n,t)[2])),n}function Ki(n,t){null==t&&(t=10);var e=Yi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(n,t){return ao.range.apply(ao,Ki(n,t))}function nu(n,t,e){var r=Ki(n,t);if(e){var i=ha.exec(e);if(i.shift(),"s"===i[8]){var u=ao.formatPrefix(Math.max(xo(r[0]),xo(r[1])));return i[7]||(i[7]="."+tu(u.scale(r[2]))),i[8]="f",e=ao.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+eu(i[8],r)),e=i.join("")}else e=",."+tu(r[2])+"f";return ao.format(e)}function tu(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function eu(n,t){var e=tu(t[2]);return n in kl?Math.abs(e-tu(Math.max(xo(t[0]),xo(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ru(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Xi(r.map(i),e?Math:El);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=Yi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++<f;)for(var h=s-1;h>0;h--)o.push(u(c)*h);for(c=0;o[c]<a;c++);for(f=o.length;o[f-1]>l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=ao.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return ru(n.copy(),t,e,r)},Ji(o,n)}function iu(n,t,e){function r(t){return n(i(t))}var i=uu(t),u=uu(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return Qi(e,n)},r.tickFormat=function(n,t){return nu(e,n,t)},r.nice=function(n){return r.domain(Gi(e,n))},r.exponent=function(o){return arguments.length?(i=uu(t=o),u=uu(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return iu(n.copy(),t,e)},Ji(r,n)}function uu(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ou(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return ao.range(n.length).map(function(n){return t+e*n})}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new c;for(var u,o=-1,a=r.length;++o<a;)i.has(u=r[o])||i.set(u,n.push(u));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(u=n,o=0,t={t:"range",a:arguments},e):u},e.rangePoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=(l+c)/2,0):(c-l)/(n.length-1+a);return u=r(l+f*a/2,f),o=0,t={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=c=Math.round((l+c)/2),0):(c-l)/(n.length-1+a)|0;return u=r(l+Math.round(f*a/2+(c-l-(n.length-1+a)*f)/2),f),o=0,t={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=(s-f)/(n.length-a+2*l);return u=r(f+h*l,h),c&&u.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=Math.floor((s-f)/(n.length-a+2*l));return u=r(f+Math.round((s-f-(n.length-a)*h)/2),h),c&&u.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Yi(t.a[0])},e.copy=function(){return ou(n,t)},e.domain(n)}function au(n,t){function u(){var e=0,r=t.length;for(a=[];++e<r;)a[e-1]=ao.quantile(n,e/r);return o}function o(n){return isNaN(n=+n)?void 0:t[ao.bisect(a,n)]}var a;return o.domain=function(t){return arguments.length?(n=t.map(r).filter(i).sort(e),u()):n},o.range=function(n){return arguments.length?(t=n,u()):t},o.quantiles=function(){return a},o.invertExtent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},o.copy=function(){return au(n,t)},u()}function lu(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(u*(t-n))))]}function i(){return u=e.length/(t-n),o=e.length-1,r}var u,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],i()):[n,t]},r.range=function(n){return arguments.length?(e=n,i()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?NaN:t/u+n,[t,t+1/u]},r.copy=function(){return lu(n,t,e)},i()}function cu(n,t){function e(e){return e>=e?t[ao.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return cu(n,t)},e}function fu(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qi(n,t)},t.tickFormat=function(t,e){return nu(n,t,e)},t.copy=function(){return fu(n)},t}function su(){return 0}function hu(n){return n.innerRadius}function pu(n){return n.outerRadius}function gu(n){return n.startAngle}function vu(n){return n.endAngle}function du(n){return n&&n.padAngle}function yu(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function mu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s<h;)i.call(this,l=t[s],s)?f.push([+p.call(this,l,s),+g.call(this,l,s)]):f.length&&(o(),f=[]);return f.length&&o(),c.length?c.join(""):null}var e=Ce,r=ze,i=zt,u=xu,o=u.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(i=n,t):i},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?u=n:(u=Tl.get(n)||xu).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function xu(n){return n.length>1?n.join("L"):n+"Z"}function bu(n){return n.join("L")+"Z"}function _u(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function wu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("V",(r=n[t])[1],"H",r[0]);return i.join("")}function Su(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r=n[t])[0],"V",r[1]);return i.join("")}function ku(n,t){return n.length<4?xu(n):n[1]+Au(n.slice(1,-1),Cu(n,t))}function Nu(n,t){return n.length<3?bu(n):n[0]+Au((n.push(n[0]),n),Cu([n[n.length-2]].concat(n,[n[1]]),t))}function Eu(n,t){return n.length<3?xu(n):n[0]+Au(n,Cu(n,t))}function Au(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return xu(n);var e=n.length!=t.length,r="",i=n[0],u=n[1],o=t[0],a=o,l=1;if(e&&(r+="Q"+(u[0]-2*o[0]/3)+","+(u[1]-2*o[1]/3)+","+u[0]+","+u[1],i=n[1],l=2),t.length>1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c<t.length;c++,l++)u=n[l],a=t[c],r+="S"+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1]}if(e){var f=n[l];r+="Q"+(u[0]+2*a[0]/3)+","+(u[1]+2*a[1]/3)+","+f[0]+","+f[1]}return r}function Cu(n,t){for(var e,r=[],i=(1-t)/2,u=n[0],o=n[1],a=1,l=n.length;++a<l;)e=u,u=o,o=n[a],r.push([i*(o[0]-e[0]),i*(o[1]-e[1])]);return r}function zu(n){if(n.length<3)return xu(n);var t=1,e=n.length,r=n[0],i=r[0],u=r[1],o=[i,i,i,(r=n[1])[0]],a=[u,u,u,r[1]],l=[i,",",u,"L",Ru(Pl,o),",",Ru(Pl,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),Du(l,o,a);return n.pop(),l.push("L",r),l.join("")}function Lu(n){if(n.length<4)return xu(n);for(var t,e=[],r=-1,i=n.length,u=[0],o=[0];++r<3;)t=n[r],u.push(t[0]),o.push(t[1]);for(e.push(Ru(Pl,u)+","+Ru(Pl,o)),--r;++r<i;)t=n[r],u.shift(),u.push(t[0]),o.shift(),o.push(t[1]),Du(e,u,o);return e.join("")}function qu(n){for(var t,e,r=-1,i=n.length,u=i+4,o=[],a=[];++r<4;)e=n[r%i],o.push(e[0]),a.push(e[1]);for(t=[Ru(Pl,o),",",Ru(Pl,a)],--r;++r<u;)e=n[r%i],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Du(t,o,a);return t.join("")}function Tu(n,t){var e=n.length-1;if(e)for(var r,i,u=n[0][0],o=n[0][1],a=n[e][0]-u,l=n[e][1]-o,c=-1;++c<=e;)r=n[c],i=c/e,r[0]=t*r[0]+(1-t)*(u+i*a),r[1]=t*r[1]+(1-t)*(o+i*l);return zu(n)}function Ru(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Du(n,t,e){n.push("C",Ru(Rl,t),",",Ru(Rl,e),",",Ru(Dl,t),",",Ru(Dl,e),",",Ru(Pl,t),",",Ru(Pl,e))}function Pu(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Uu(n){for(var t=0,e=n.length-1,r=[],i=n[0],u=n[1],o=r[0]=Pu(i,u);++t<e;)r[t]=(o+(o=Pu(i=u,u=n[t+1])))/2;return r[t]=o,r}function ju(n){for(var t,e,r,i,u=[],o=Uu(n),a=-1,l=n.length-1;++a<l;)t=Pu(n[a],n[a+1]),xo(t)<Uo?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,i=e*e+r*r,i>9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r));for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Fu(n){return n.length<3?xu(n):n[0]+Au(n,ju(n))}function Hu(n){for(var t,e,r,i=-1,u=n.length;++i<u;)t=n[i],e=t[0],r=t[1]-Io,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Ou(n){function t(t){function l(){v.push("M",a(n(y),s),f,c(n(d.reverse()),s),"Z")}for(var h,p,g,v=[],d=[],y=[],m=-1,M=t.length,x=En(e),b=En(i),_=e===r?function(){
-return p}:En(r),w=i===u?function(){return g}:En(u);++m<M;)o.call(this,h=t[m],m)?(d.push([p=+x.call(this,h,m),g=+b.call(this,h,m)]),y.push([+_.call(this,h,m),+w.call(this,h,m)])):d.length&&(l(),d=[],y=[]);return d.length&&l(),v.length?v.join(""):null}var e=Ce,r=Ce,i=0,u=ze,o=zt,a=xu,l=a.key,c=a,f="L",s=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(i=u=n,t):u},t.y0=function(n){return arguments.length?(i=n,t):i},t.y1=function(n){return arguments.length?(u=n,t):u},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(l="function"==typeof n?a=n:(a=Tl.get(n)||xu).key,c=a.reverse||a,f=a.closed?"M":"L",t):l},t.tension=function(n){return arguments.length?(s=n,t):s},t}function Iu(n){return n.radius}function Yu(n){return[n.x,n.y]}function Zu(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Io;return[e*Math.cos(r),e*Math.sin(r)]}}function Vu(){return 64}function Xu(){return"circle"}function $u(n){var t=Math.sqrt(n/Fo);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Bu(n){return function(){var t,e,r;(t=this[n])&&(r=t[e=t.active])&&(r.timer.c=null,r.timer.t=NaN,--t.count?delete t[e]:delete this[n],t.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Wu(n,t,e){return ko(n,Yl),n.namespace=t,n.id=e,n}function Ju(n,t,e,r){var i=n.id,u=n.namespace;return Y(n,"function"==typeof e?function(n,o,a){n[u][i].tween.set(t,r(e.call(n,n.__data__,o,a)))}:(e=r(e),function(n){n[u][i].tween.set(t,e)}))}function Gu(n){return null==n&&(n=""),function(){this.textContent=n}}function Ku(n){return null==n?"__transition__":"__transition_"+n+"__"}function Qu(n,t,e,r,i){function u(n){var t=v.delay;return f.t=t+l,n>=t?o(n-t):void(f.c=o)}function o(e){var i=g.active,u=g[i];u&&(u.timer.c=null,u.timer.t=NaN,--g.count,delete g[i],u.event&&u.event.interrupt.call(n,n.__data__,u.index));for(var o in g)if(r>+o){var c=g[o];c.timer.c=null,c.timer.t=NaN,--g.count,delete g[o]}f.c=a,qn(function(){return f.c&&a(e||1)&&(f.c=null,f.t=NaN),1},0,l),g.active=r,v.event&&v.event.start.call(n,n.__data__,t),p=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&p.push(r)}),h=v.ease,s=v.duration}function a(i){for(var u=i/s,o=h(u),a=p.length;a>0;)p[--a].call(n,o);return u>=1?(v.event&&v.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1):void 0}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),v=g[r];v||(l=i.time,f=qn(u,0,l),v=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function no(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function to(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function eo(n){return n.toISOString()}function ro(n,t,e){function r(t){return n(t)}function i(n,e){var r=n[1]-n[0],i=r/e,u=ao.bisect(Kl,i);return u==Kl.length?[t.year,Ki(n.map(function(n){return n/31536e6}),e)[2]]:u?t[i/Kl[u-1]<Kl[u]/i?u-1:u]:[tc,Ki(n,e)[2]]}return r.invert=function(t){return io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,io(+e+1),t).length}var u=r.domain(),o=Yi(u),a=null==n?i(o,10):"number"==typeof n&&i(o,n);return a&&(n=a[0],t=a[1]),r.domain(Xi(u,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ro(n.copy(),t,e)},Ji(r,n)}function io(n){return new Date(n)}function uo(n){return JSON.parse(n.responseText)}function oo(n){var t=fo.createRange();return t.selectNode(fo.body),t.createContextualFragment(n.responseText)}var ao={version:"3.5.17"},lo=[].slice,co=function(n){return lo.call(n)},fo=this.document;if(fo)try{co(fo.documentElement.childNodes)[0].nodeType}catch(so){co=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(ho){var po=this.Element.prototype,go=po.setAttribute,vo=po.setAttributeNS,yo=this.CSSStyleDeclaration.prototype,mo=yo.setProperty;po.setAttribute=function(n,t){go.call(this,n,t+"")},po.setAttributeNS=function(n,t,e){vo.call(this,n,t,e+"")},yo.setProperty=function(n,t,e){mo.call(this,n,t+"",e)}}ao.ascending=e,ao.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},ao.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&e>r&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&e>r&&(e=r)}return e},ao.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&r>e&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&r>e&&(e=r)}return e},ao.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u<o;)if(null!=(r=n[u])&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=n[u])&&(e>r&&(e=r),r>i&&(i=r))}else{for(;++u<o;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=t.call(n,n[u],u))&&(e>r&&(e=r),r>i&&(i=r))}return[e,i]},ao.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o<u;)i(e=+n[o])&&(r+=e);else for(;++o<u;)i(e=+t.call(n,n[o],o))&&(r+=e);return r},ao.mean=function(n,t){var e,u=0,o=n.length,a=-1,l=o;if(1===arguments.length)for(;++a<o;)i(e=r(n[a]))?u+=e:--l;else for(;++a<o;)i(e=r(t.call(n,n[a],a)))?u+=e:--l;return l?u/l:void 0},ao.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),i=+n[r-1],u=e-r;return u?i+u*(n[r]-i):i},ao.median=function(n,t){var u,o=[],a=n.length,l=-1;if(1===arguments.length)for(;++l<a;)i(u=r(n[l]))&&o.push(u);else for(;++l<a;)i(u=r(t.call(n,n[l],l)))&&o.push(u);return o.length?ao.quantile(o.sort(e),.5):void 0},ao.variance=function(n,t){var e,u,o=n.length,a=0,l=0,c=-1,f=0;if(1===arguments.length)for(;++c<o;)i(e=r(n[c]))&&(u=e-a,a+=u/++f,l+=u*(e-a));else for(;++c<o;)i(e=r(t.call(n,n[c],c)))&&(u=e-a,a+=u/++f,l+=u*(e-a));return f>1?l/(f-1):void 0},ao.deviation=function(){var n=ao.variance.apply(this,arguments);return n?Math.sqrt(n):n};var Mo=u(e);ao.bisectLeft=Mo.left,ao.bisect=ao.bisectRight=Mo.right,ao.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},ao.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},ao.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ao.pairs=function(n){for(var t,e=0,r=n.length-1,i=n[0],u=new Array(0>r?0:r);r>e;)u[e]=[t=i,i=n[++e]];return u},ao.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=ao.min(n,o),r=new Array(e);++t<e;)for(var i,u=-1,a=r[t]=new Array(i);++u<i;)a[u]=n[u][t];return r},ao.zip=function(){return ao.transpose(arguments)},ao.keys=function(n){var t=[];for(var e in n)t.push(e);return t},ao.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},ao.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},ao.merge=function(n){for(var t,e,r,i=n.length,u=-1,o=0;++u<i;)o+=n[u].length;for(e=new Array(o);--i>=0;)for(r=n[i],t=r.length;--t>=0;)e[--o]=r[t];return e};var xo=Math.abs;ao.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,i=[],u=a(xo(e)),o=-1;if(n*=u,t*=u,e*=u,0>e)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)<t;)i.push(r/u);return i},ao.map=function(n,t){var e=new c;if(n instanceof c)n.forEach(function(n,t){e.set(n,t)});else if(Array.isArray(n)){var r,i=-1,u=n.length;if(1===arguments.length)for(;++i<u;)e.set(i,n[i]);else for(;++i<u;)e.set(t.call(n,r=n[i],i),r)}else for(var o in n)e.set(o,n[o]);return e};var bo="__proto__",_o="\x00";l(c,{has:h,get:function(n){return this._[f(n)]},set:function(n,t){return this._[f(n)]=t},remove:p,keys:g,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:s(t),value:this._[t]});return n},size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t),this._[t])}}),ao.nest=function(){function n(t,o,a){if(a>=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,v=u[a++],d=new c;++p<g;)(h=d.get(l=v(f=o[p])))?h.push(f):d.set(l,[f]);return t?(f=t(),s=function(e,r){f.set(e,n(t,r,a))}):(f={},s=function(e,r){f[e]=n(t,r,a)}),d.forEach(s),f}function t(n,e){if(e>=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(ao.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},ao.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(y,{has:h,add:function(n){return this._[f(n+="")]=!0,n},remove:p,values:g,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t))}}),ao.behavior={},ao.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r<i;)n[e=arguments[r]]=M(n,t,t[e]);return n};var wo=["webkit","ms","moz","Moz","o","O"];ao.dispatch=function(){for(var n=new _,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=w(n);return n},_.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ao.event=null,ao.requote=function(n){return n.replace(So,"\\$&")};var So=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ko={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},No=function(n,t){return t.querySelector(n)},Eo=function(n,t){return t.querySelectorAll(n)},Ao=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ao=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(No=function(n,t){return Sizzle(n,t)[0]||null},Eo=Sizzle,Ao=Sizzle.matchesSelector),ao.selection=function(){return ao.select(fo.documentElement)};var Co=ao.selection.prototype=[];Co.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o<a;){u.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var l=-1,c=r.length;++l<c;)(i=r[l])?(t.push(e=n.call(i,i.__data__,l,o)),e&&"__data__"in i&&(e.__data__=i.__data__)):t.push(null)}return E(u)},Co.selectAll=function(n){var t,e,r=[];n=C(n);for(var i=-1,u=this.length;++i<u;)for(var o=this[i],a=-1,l=o.length;++a<l;)(e=o[a])&&(r.push(t=co(n.call(e,e.__data__,a,i))),t.parentNode=e);return E(r)};var zo="http://www.w3.org/1999/xhtml",Lo={svg:"http://www.w3.org/2000/svg",xhtml:zo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ao.ns={prefix:Lo,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Lo.hasOwnProperty(e)?{space:Lo[e],local:n}:n}},Co.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ao.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Co.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++i<r;)if(!t.contains(n[i]))return!1}else for(t=e.getAttribute("class");++i<r;)if(!q(n[i]).test(t))return!1;return!0}for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},Co.style=function(n,e,r){var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Co.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Co.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Co.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Co.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Co.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Co.remove=function(){return this.each(F)},Co.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new c,m=new Array(o);for(r=-1;++r<o;)(i=n[r])&&(y.has(d=t.call(i,i.__data__,r))?v[r]=i:y.set(d,i),m[r]=d);for(r=-1;++r<s;)(i=y.get(d=t.call(e,u=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=u):g[r]=H(u),y.set(d,!0);for(r=-1;++r<o;)r in m&&y.get(m[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],u=e[r],i?(i.__data__=u,p[r]=i):g[r]=H(u);for(;s>r;++r)g[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),l.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++u<o;)(i=r[u])&&(n[u]=i.__data__);return n}var a=Z([]),l=E([]),f=E([]);if("function"==typeof n)for(;++u<o;)e(r=this[u],n.call(r,r.parentNode.__data__,u));else for(;++u<o;)e(r=this[u],n);return l.enter=function(){return a},l.exit=function(){return f},l},Co.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},Co.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return E(i)},Co.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],i=r.length-1,u=r[i];--i>=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},Co.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},Co.each=function(n){return Y(this,function(t,e,r){n.call(t,t.__data__,e,r)})},Co.call=function(n){var t=co(arguments);return n.apply(t[0]=this,t),this},Co.empty=function(){return!this.node()},Co.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},Co.size=function(){var n=0;return Y(this,function(){++n}),n};var qo=[];ao.selection.enter=Z,ao.selection.enter.prototype=qo,qo.append=Co.append,qo.empty=Co.empty,qo.node=Co.node,qo.call=Co.call,qo.size=Co.size,qo.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++a<l;){r=(i=this[a]).update,o.push(t=[]),t.parentNode=i.parentNode;for(var c=-1,f=i.length;++c<f;)(u=i[c])?(t.push(r[c]=e=n.call(i.parentNode,u.__data__,c,a)),e.__data__=u.__data__):t.push(null)}return E(o)},qo.insert=function(n,t){return arguments.length<2&&(t=V(this)),Co.insert.call(this,n,t)},ao.select=function(t){var e;return"string"==typeof t?(e=[No(t,fo)],e.parentNode=fo.documentElement):(e=[t],e.parentNode=n(t)),E([e])},ao.selectAll=function(n){var t;return"string"==typeof n?(t=co(Eo(n,fo)),t.parentNode=fo.documentElement):(t=co(n),t.parentNode=null),E([t])},Co.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var To=ao.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&To.forEach(function(n){"on"+n in fo&&To.remove(n)});var Ro,Do=0;ao.mouse=function(n){return J(n,k())};var Po=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ao.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return J(n,r)},ao.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],g|=n|e,M=r,p({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(y.on(u+d,null).on(o+d,null),m(g),p({type:"dragend"}))}var c,f=this,s=ao.event.target.correspondingElement||ao.event.target,h=f.parentNode,p=r.of(f,arguments),g=0,v=n(),d=".drag"+(null==v?"":"-"+v),y=ao.select(e(s)).on(u+d,a).on(o+d,l),m=W(s),M=t(h,v);i?(c=i.apply(f,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],p({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),i=null,u=e(b,ao.mouse,t,"mousemove","mouseup"),o=e(G,ao.touch,m,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},ao.rebind(n,r,"on")},ao.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?co(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Uo=1e-6,jo=Uo*Uo,Fo=Math.PI,Ho=2*Fo,Oo=Ho-Uo,Io=Fo/2,Yo=Fo/180,Zo=180/Fo,Vo=Math.SQRT2,Xo=2,$o=4;ao.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(jo>h)r=Math.log(c/o)/Vo,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Vo*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+$o*h)/(2*o*Xo*p),v=(c*c-o*o-$o*h)/(2*c*Xo*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Vo,e=function(n){var t=n*r,e=rn(d),a=o/(Xo*p)*(e*un(Vo*t+d)-en(d));return[i+a*f,u+a*s,o*e/rn(Vo*t+d)]}}return e.duration=1e3*r,e},ao.behavior.zoom=function(){function n(n){n.on(L,s).on(Wo+".zoom",p).on("dblclick.zoom",g).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function i(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),u(d=e,r),t=ao.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),d=null)}function s(){function n(){a=1,u(ao.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=ao.select(t(i)).on(q,n).on(T,r),h=e(ao.mouse(i)),p=W(i);Il.call(i),l(o)}function h(){function n(){var n=ao.touches(g);return p=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ao.event.target;ao.select(t).on(x,r).on(b,a),_.push(t);for(var e=ao.event.changedTouches,i=0,u=e.length;u>i;++i)d[e[i].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var f=l[0];o(g,f,d[f.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=ao.touches(g);Il.call(g);for(var a=0,l=o.length;l>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],i(s*p)}M=null,u(n,t),c(v)}function a(){if(ao.event.touches.length){for(var t=ao.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}ao.selectAll(_).on(m,null),w.on(L,s).on(R,h),N(),f(v)}var p,g=this,v=D.of(g,arguments),d={},y=0,m=".zoom-"+ao.event.changedTouches[0].identifier,x="touchmove"+m,b="touchend"+m,_=[],w=ao.select(g),N=W(g);t(),l(v),w.on(L,null).on(R,t)}function p(){var n=D.of(this,arguments);m?clearTimeout(m):(Il.call(this),v=e(d=y||ao.mouse(this)),l(n)),m=setTimeout(function(){m=null,f(n)},50),S(),i(Math.pow(2,.002*Bo())*k.k),u(d,v),c(n)}function g(){var n=ao.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ao.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,y,m,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Jo,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Wo||(Wo="onwheel"in fo?(Bo=function(){return-ao.event.deltaY*(ao.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(Bo=function(){return ao.event.wheelDelta},"mousewheel"):(Bo=function(){return-ao.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?ao.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],i=d?d[0]:e/2,u=d?d[1]:r/2,o=ao.interpolateZoom([(i-k.x)/k.k,(u-k.y)/k.k,e/k.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:i-r[0]*a,y:u-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){f(n)}).each("end.zoom",function(){f(n)}):(this.__chart__=k,l(n),c(n),f(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+t),a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Jo:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(y=t&&[+t[0],+t[1]],n):y},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ao.rebind(n,D,"on")};var Bo,Wo,Jo=[0,1/0];ao.color=an,an.prototype.toString=function(){return this.rgb()+""},ao.hsl=ln;var Go=ln.prototype=new an;Go.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Go.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Go.rgb=function(){return cn(this.h,this.s,this.l)},ao.hcl=fn;var Ko=fn.prototype=new an;Ko.brighter=function(n){return new fn(this.h,this.c,Math.min(100,this.l+Qo*(arguments.length?n:1)))},Ko.darker=function(n){return new fn(this.h,this.c,Math.max(0,this.l-Qo*(arguments.length?n:1)))},Ko.rgb=function(){return sn(this.h,this.c,this.l).rgb()},ao.lab=hn;var Qo=18,na=.95047,ta=1,ea=1.08883,ra=hn.prototype=new an;ra.brighter=function(n){return new hn(Math.min(100,this.l+Qo*(arguments.length?n:1)),this.a,this.b)},ra.darker=function(n){return new hn(Math.max(0,this.l-Qo*(arguments.length?n:1)),this.a,this.b)},ra.rgb=function(){return pn(this.l,this.a,this.b)},ao.rgb=mn;var ia=mn.prototype=new an;ia.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mn(i,i,i)},ia.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mn(n*this.r,n*this.g,n*this.b)},ia.hsl=function(){return wn(this.r,this.g,this.b)},ia.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var ua=ao.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ua.forEach(function(n,t){ua.set(n,Mn(t))}),ao.functor=En,ao.xhr=An(m),ao.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=Cn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i})},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++<c;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}f=e+2;var r=n.charCodeAt(e+1);return 13===r?(i=!0,10===n.charCodeAt(e+2)&&++f):10===r&&(i=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;c>f;){var r=n.charCodeAt(f++),a=1;if(10===r)i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new y,i=[];return t.forEach(function(n){for(var t in n)r.has(t)||i.push(r.add(t))}),[i.map(o).join(n)].concat(t.map(function(t){return i.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},ao.csv=ao.dsv(",","text/csv"),ao.tsv=ao.dsv("	","text/tab-separated-values");var oa,aa,la,ca,fa=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ao.timer=function(){qn.apply(this,arguments)},ao.timer.flush=function(){Rn(),Dn()},ao.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var sa=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);ao.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=ao.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),sa[8+e/3]};var ha=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pa=ao.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ao.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ga=ao.time={},va=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){da.setUTCDate.apply(this._,arguments)},setDay:function(){da.setUTCDay.apply(this._,arguments)},setFullYear:function(){da.setUTCFullYear.apply(this._,arguments)},setHours:function(){da.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){da.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){da.setUTCMinutes.apply(this._,arguments)},setMonth:function(){da.setUTCMonth.apply(this._,arguments)},setSeconds:function(){da.setUTCSeconds.apply(this._,arguments)},setTime:function(){da.setTime.apply(this._,arguments)}};var da=Date.prototype;ga.year=On(function(n){return n=ga.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ga.years=ga.year.range,ga.years.utc=ga.year.utc.range,ga.day=On(function(n){var t=new va(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ga.days=ga.day.range,ga.days.utc=ga.day.utc.range,ga.dayOfYear=function(n){var t=ga.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ga[n]=On(function(n){return(n=ga.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ga[n+"s"]=e.range,ga[n+"s"].utc=e.utc.range,ga[n+"OfYear"]=function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)}}),ga.week=ga.sunday,ga.weeks=ga.sunday.range,ga.weeks.utc=ga.sunday.utc.range,ga.weekOfYear=ga.sundayOfYear;var ya={"-":"",_:" ",0:"0"},ma=/^\s*\d+/,Ma=/^%/;ao.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xa=ao.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
-shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ao.format=xa.numberFormat,ao.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,ba),st(ba.s,this.s,this),this.s?this.t+=ba.t:this.s=ba.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ba=new ft;ao.geo.stream=function(n,t){n&&_a.hasOwnProperty(n.type)?_a[n.type](n,t):ht(n,t)};var _a={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)ht(e[r].geometry,t)}},wa={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){pt(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)pt(e[r],t,0)},Polygon:function(n,t){gt(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)gt(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)ht(e[r],t)}};ao.geo.area=function(n){return Sa=0,ao.geo.stream(n,Na),Sa};var Sa,ka=new ft,Na={sphere:function(){Sa+=4*Fo},point:b,lineStart:b,lineEnd:b,polygonStart:function(){ka.reset(),Na.lineStart=vt},polygonEnd:function(){var n=2*ka;Sa+=0>n?4*Fo+n:n,Na.lineStart=Na.lineEnd=Na.point=b}};ao.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=dt([t*Yo,e*Yo]);if(y){var i=mt(y,r),u=[i[1],-i[0],0],o=mt(u,i);bt(o),o=_t(o);var l=t-g,c=l>0?1:-1,v=o[0]*Zo*c,d=xo(l)>180;if(d^(v>c*g&&c*t>v)){var m=o[1]*Zo;m>p&&(p=m)}else if(v=(v+360)%360-180,d^(v>c*g&&c*t>v)){var m=-o[1]*Zo;s>m&&(s=m)}else s>e&&(s=e),e>p&&(p=e);d?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=xo(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Na.point(n,e),t(n,e)}function u(){Na.lineStart()}function o(){i(v,d),Na.lineEnd(),xo(m)>Uo&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var f,s,h,p,g,v,d,y,m,M,x,b={point:n,lineStart:e,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=u,b.lineEnd=o,m=0,Na.polygonStart()},polygonEnd:function(){Na.polygonEnd(),b.point=n,b.lineStart=e,b.lineEnd=r,0>ka?(f=-(h=180),s=-(p=90)):m>Uo?p=90:-Uo>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){p=h=-(f=s=1/0),M=[],ao.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,i=M[0],u=[i];t>r;++r)e=M[r],c(e[0],i)||c(e[1],i)?(a(i[0],e[1])>a(i[0],i[1])&&(i[1]=e[1]),a(e[0],i[1])>a(i[0],i[1])&&(i[0]=e[0])):u.push(i=e);for(var o,e,g=-(1/0),t=u.length-1,r=0,i=u[t];t>=r;i=e,++r)e=u[r],(o=a(i[1],e[0]))>g&&(g=o,f=e[0],h=i[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),ao.geo.centroid=function(n){Ea=Aa=Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,ja);var t=Da,e=Pa,r=Ua,i=t*t+e*e+r*r;return jo>i&&(t=qa,e=Ta,r=Ra,Uo>Aa&&(t=Ca,e=za,r=La),i=t*t+e*e+r*r,jo>i)?[NaN,NaN]:[Math.atan2(e,t)*Zo,tn(r/Math.sqrt(i))*Zo]};var Ea,Aa,Ca,za,La,qa,Ta,Ra,Da,Pa,Ua,ja={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){ja.lineStart=At},polygonEnd:function(){ja.lineStart=Nt}},Fa=Rt(zt,jt,Ht,[-Fo,-Fo/2]),Ha=1e9;ao.geo.clipExtent=function(){var n,t,e,r,i,u,o={stream:function(n){return i&&(i.valid=!1),i=u(n),i.valid=!0,i},extent:function(a){return arguments.length?(u=Zt(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),i&&(i.valid=!1,i=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ao.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,ao.geo.albers=function(){return ao.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ao.geo.albersUsa=function(){function n(n){var u=n[0],o=n[1];return t=null,e(u,o),t||(r(u,o),t)||i(u,o),t}var t,e,r,i,u=ao.geo.albers(),o=ao.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ao.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=u.scale(),e=u.translate(),r=(n[0]-e[0])/t,i=(n[1]-e[1])/t;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Uo,s+.12*c+Uo],[f-.214*c-Uo,s+.234*c-Uo]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Uo,s+.166*c+Uo],[f-.115*c-Uo,s+.234*c-Uo]]).stream(l).point,n},n.scale(1070)};var Oa,Ia,Ya,Za,Va,Xa,$a={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Ia=0,$a.lineStart=$t},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=b,Oa+=xo(Ia/2)}},Ba={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wa.lineStart=ne},polygonEnd:function(){Wa.point=Gt,Wa.lineStart=Kt,Wa.lineEnd=Qt}};ao.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),ao.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Oa=0,ao.geo.stream(n,i($a)),Oa},n.centroid=function(n){return Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,i(Wa)),Ua?[Da/Ua,Pa/Ua]:Ra?[qa/Ra,Ta/Ra]:La?[Ca/La,za/La]:[NaN,NaN]},n.bounds=function(n){return Va=Xa=-(Ya=Za=1/0),ao.geo.stream(n,i(Ba)),[[Ya,Za],[Va,Xa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(ao.geo.albersUsa()).context(null)},ao.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ao.geo.projection=oe,ao.geo.projectionMutator=ae,(ao.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,ao.geo.rotation=function(n){function t(t){return t=n(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t}return n=se(n[0]%360*Yo,n[1]*Yo,n.length>2?n[2]*Yo:0),t.invert=function(t){return t=n.invert(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t},t},fe.invert=ce,ao.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Yo,-n[1]*Yo,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Zo,n[1]*=Zo}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Yo,i*Yo),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Yo,(i=+r)*Yo),n):i},n.angle(90)},ao.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Yo,i=n[1]*Yo,u=t[1]*Yo,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},ao.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ao.range(Math.ceil(u/d)*d,i,d).map(h).concat(ao.range(Math.ceil(c/y)*y,l,y).map(p)).concat(ao.range(Math.ceil(r/g)*g,e,g).filter(function(n){return xo(n%d)>Uo}).map(f)).concat(ao.range(Math.ceil(a/v)*v,o,v).filter(function(n){return xo(n%y)>Uo}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ao.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=Me,i=xe;return n.distance=function(){return ao.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},ao.geo.interpolate=function(n,t){return be(n[0]*Yo,n[1]*Yo,t[0]*Yo,t[1]*Yo)},ao.geo.length=function(n){return Ja=0,ao.geo.stream(n,Ga),Ja};var Ja,Ga={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ka=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ao.geo.azimuthalEqualArea=function(){return oe(Ka)}).raw=Ka;var Qa=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(ao.geo.azimuthalEquidistant=function(){return oe(Qa)}).raw=Qa,(ao.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(ao.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(ao.geo.gnomonic=function(){return oe(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Io]},(ao.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(ao.geo.orthographic=function(){return oe(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ao.geo.stereographic=function(){return oe(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Io]},(ao.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,ao.geom={},ao.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(qe),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=Le(a),f=Le(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t<f.length-h;++t)p.push(n[a[f[t]][2]]);return p}var e=Ce,r=ze;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},ao.geom.polygon=function(n){return ko(n,rl),n};var rl=ao.geom.polygon.prototype=[];rl.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],i=0;++t<e;)n=r,r=this[t],i+=n[1]*r[0]-n[0]*r[1];return.5*i},rl.centroid=function(n){var t,e,r=-1,i=this.length,u=0,o=0,a=this[i-1];for(arguments.length||(n=-1/(6*this.area()));++r<i;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],u+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[u*n,o*n]},rl.clip=function(n){for(var t,e,r,i,u,o,a=De(n),l=-1,c=this.length-De(this),f=this[c-1];++l<c;){for(t=n.slice(),n.length=0,i=this[l],u=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Te(o,f,i)?(Te(u,f,i)||n.push(Re(u,o,f,i)),n.push(o)):Te(u,f,i)&&n.push(Re(u,o,f,i)),u=o;a&&n.push(n[0]),f=i}return n};var il,ul,ol,al,ll,cl=[],fl=[];Ye.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Ve),t.length},tr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(n,t){var e,r,i;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=or(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.R&&(ir(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ur(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.L&&(ur(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ir(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,i=n.U,u=n.L,o=n.R;if(e=u?o?or(o):u:o,i?i.L===n?i.L=e:i.R=e:this._=e,u&&o?(r=e.C,e.C=n.C,e.L=u,u.U=e,e!==o?(i=e.U,e.U=n.U,n=e.R,i.L=n,e.R=o,o.U=e):(e.U=i,i=e,n=e.R)):(r=n.C,n=e),n&&(n.U=i),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(n===i.L){if(t=i.R,t.C&&(t.C=!1,i.C=!0,ir(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ur(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,ir(this,i),n=this._;break}}else if(t=i.L,t.C&&(t.C=!1,i.C=!0,ur(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,ir(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,ur(this,i),n=this._;break}t.C=!0,n=i,i=i.U}while(!n.C);n&&(n.C=!1)}}},ao.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],i=a[0][1],u=a[1][0],o=a[1][1];return ar(e(n),a).cells.forEach(function(e,a){var l=e.edges,c=e.site,f=t[a]=l.length?l.map(function(n){var t=n.start();return[t.x,t.y]}):c.x>=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Uo)*Uo,y:Math.round(o(n,t)/Uo)*Uo,i:t}})}var r=Ce,i=ze,u=r,o=i,a=sl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u,o=e.site,a=e.edges.sort(Ve),l=-1,c=a.length,f=a[c-1].edge,s=f.l===o?f.r:f.l;++l<c;)i=f,u=s,f=a[l].edge,s=f.l===o?f.r:f.l,r<u.i&&r<s.i&&cr(o,u,s)<0&&t.push([n[r],n[u.i],n[s.i]])}),t},t.x=function(n){return arguments.length?(u=En(r=n),t):r},t.y=function(n){return arguments.length?(o=En(i=n),t):i},t.clipExtent=function(n){return arguments.length?(a=null==n?sl:n,t):a===sl?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===sl?null:a&&a[1]},t)};var sl=[[-1e6,-1e6],[1e6,1e6]];ao.geom.delaunay=function(n){return ao.geom.voronoi().triangles(n)},ao.geom.quadtree=function(n,t,e,r,i){function u(n){function u(n,t,e,r,i,u,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var l=n.x,f=n.y;if(null!=l)if(xo(l-e)+xo(f-r)<.01)c(n,t,e,r,i,u,o,a);else{var s=n.point;n.x=n.y=n.point=null,c(n,s,l,f,i,u,o,a),c(n,t,e,r,i,u,o,a)}else n.x=e,n.y=r,n.point=t}else c(n,t,e,r,i,u,o,a)}function c(n,t,e,r,i,o,a,l){var c=.5*(i+a),f=.5*(o+l),s=e>=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]=hr()),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=En(a),x=En(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)f=n[p],f.x<v&&(v=f.x),f.y<d&&(d=f.y),f.x>y&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k=hr();if(k.add=function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)},k.visit=function(n){pr(n,k,v,d,y,m)},k.find=function(n){return gr(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p<g;)u(k,n[p],s[p],h[p],v,d,y,m);--p}else n.forEach(k.add);return s=h=n=f=null,k}var o,a=Ce,l=ze;return(o=arguments.length)?(a=fr,l=sr,3===o&&(i=e,r=t,e=t=0),u(n)):(u.x=function(n){return arguments.length?(a=n,u):a},u.y=function(n){return arguments.length?(l=n,u):l},u.extent=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],i=+n[1][1]),u):null==t?null:[[t,e],[r,i]]},u.size=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=e=0,r=+n[0],i=+n[1]),u):null==t?null:[r-t,i-e]},u)},ao.interpolateRgb=vr,ao.interpolateObject=dr,ao.interpolateNumber=yr,ao.interpolateString=mr;var hl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pl=new RegExp(hl.source,"g");ao.interpolate=Mr,ao.interpolators=[function(n,t){var e=typeof t;return("string"===e?ua.has(t.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(t)?vr:mr:t instanceof an?vr:Array.isArray(t)?xr:"object"===e&&isNaN(t)?dr:yr)(n,t)}],ao.interpolateArray=xr;var gl=function(){return m},vl=ao.map({linear:gl,poly:Er,quad:function(){return Sr},cubic:function(){return kr},sin:function(){return Ar},exp:function(){return Cr},circle:function(){return zr},elastic:Lr,back:qr,bounce:function(){return Tr}}),dl=ao.map({"in":m,out:_r,"in-out":wr,"out-in":function(n){return wr(_r(n))}});ao.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||gl,r=dl.get(r)||m,br(r(e.apply(null,lo.call(arguments,1))))},ao.interpolateHcl=Rr,ao.interpolateHsl=Dr,ao.interpolateLab=Pr,ao.interpolateRound=Ur,ao.transform=function(n){var t=fo.createElementNS(ao.ns.prefix.svg,"g");return(ao.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:yl)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yl={a:1,b:0,c:0,d:1,e:0,f:0};ao.interpolateTransform=$r,ao.layout={},ao.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Jr(n[e]));return t}},ao.layout.chord=function(){function n(){var n,c,s,h,p,g={},v=[],d=ao.range(u),y=[];for(e=[],r=[],n=0,h=-1;++h<u;){for(c=0,p=-1;++p<u;)c+=i[h][p];v.push(c),y.push(ao.range(u)),n+=c}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&y.forEach(function(n,t){n.sort(function(n,e){return a(i[t][n],i[t][e])})}),n=(Ho-f*u)/n,c=0,h=-1;++h<u;){for(s=c,p=-1;++p<u;){var m=d[h],M=y[m][p],x=i[m][M],b=c,_=c+=x*n;g[m+"-"+M]={index:m,subindex:M,startAngle:b,endAngle:_,value:x}}r[m]={index:m,startAngle:s,endAngle:c,value:v[m]},c+=f}for(h=-1;++h<u;)for(p=h-1;++p<u;){var w=g[h+"-"+p],S=g[p+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}l&&t()}function t(){e.sort(function(n,t){return l((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,i,u,o,a,l,c={},f=0;return c.matrix=function(n){return arguments.length?(u=(i=n)&&i.length,e=r=null,c):i},c.padding=function(n){return arguments.length?(f=n,e=r=null,c):f},c.sortGroups=function(n){return arguments.length?(o=n,e=r=null,c):o},c.sortSubgroups=function(n){return arguments.length?(a=n,e=null,c):a},c.sortChords=function(n){return arguments.length?(l=n,e&&t(),c):l},c.chords=function(){return e||n(),e},c.groups=function(){return r||n(),r},c},ao.layout.force=function(){function n(n){return function(t,e,r,i){if(t.point!==n){var u=t.cx-n.x,o=t.cy-n.y,a=i-e,l=u*u+o*o;if(l>a*a/y){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=ao.event.x,n.py=ao.event.y,l.resume()}var e,r,i,u,o,a,l={},c=ao.dispatch("start","tick","end"),f=[1,1],s=.9,h=ml,p=Ml,g=-30,v=xl,d=.1,y=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,p=l.target,m=p.x-h.x,b=p.y-h.y,(v=m*m+b*b)&&(v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,m*=v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)l=M[r],l.x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(ri(t=ao.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(y=n*n,l):Math.sqrt(y)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++l<f;)if(!isNaN(o=a[l][n]))return o;return Math.random()*r}var t,e,r,i=M.length,c=x.length,s=f[0],v=f[1];for(t=0;i>t;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=ao.behavior.drag().origin(m).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",ni)),arguments.length?void this.on("mouseover.force",ti).on("mouseout.force",ei).call(r):r},ao.rebind(l,c,"on")};var ml=20,Ml=1,xl=1/0;ao.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return oi(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=ci,e=ai,r=li;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ui(t,function(n){n.children&&(n.value=0)}),oi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ao.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++c<o;)n(a=u[c],e,l=a.value*r,i),e+=l}}function t(n){var e=n.children,r=0;if(e&&(i=e.length))for(var i,u=-1;++u<i;)r=Math.max(r,t(e[u]));return 1+r}function e(e,u){var o=r.call(this,e,u);return n(o[0],0,i[0],i[1]/t(o[0])),o}var r=ao.layout.hierarchy(),i=[1,1];return e.size=function(n){return arguments.length?(i=n,e):i},ii(e,r)},ao.layout.pie=function(){function n(o){var a,l=o.length,c=o.map(function(e,r){return+t.call(n,e,r)}),f=+("function"==typeof r?r.apply(this,arguments):r),s=("function"==typeof i?i.apply(this,arguments):i)-f,h=Math.min(Math.abs(s)/l,+("function"==typeof u?u.apply(this,arguments):u)),p=h*(0>s?-1:1),g=ao.sum(c),v=g?(s-l*p)/g:0,d=ao.range(l),y=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach(function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}}),y}var t=Number,e=bl,r=0,i=Ho,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var bl={};ao.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map(function(e,r){return t.call(n,e,r)}),f=c.map(function(t){return t.map(function(t,e){return[u.call(n,t,e),o.call(n,t,e)]})}),s=e.call(n,f,l);c=ao.permute(c,s),f=ao.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=m,e=gi,r=vi,i=pi,u=si,o=hi;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||gi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vi,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var _l=ao.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(di),u=n.map(yi),o=ao.range(r).sort(function(n,t){return i[n]-i[t]}),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return ao.range(n.length).reverse()},"default":gi}),wl=ao.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:vi});ao.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),u=-1,h=c.length,p=s.length-1,g=t?1:1/h;++u<p;)o=l[u]=[],o.dx=s[u+1]-(o.x=s[u]),o.y=0;if(p>0)for(u=-1;++u<h;)a=c[u],a>=f[0]&&a<=f[1]&&(o=l[ao.bisect(s,a,1,p)-1],o.y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=bi,i=Mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ao.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,oi(a,function(n){n.r=+f(n.value)}),oi(a,Ni),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;oi(a,function(n){n.r+=s}),oi(a,Ni),oi(a,function(n){n.r-=s})}return Ci(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=ao.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ii(n,e)},ao.layout.tree=function(){function n(n,i){var f=o.call(this,n,i),s=f[0],h=t(s);if(oi(h,e),h.parent.m=-h.z,ui(h,r),c)ui(s,u);else{var p=s,g=s,v=s;ui(s,function(n){n.x<p.x&&(p=n),n.x>g.x&&(g=n),n.depth>v.depth&&(v=n)});var d=a(p,g)/2-p.x,y=l[0]/(g.x+a(g,p)/2+d),m=l[1]/(v.depth||1);ui(s,function(n){n.x=(n.x+d)*y,n.y=n.depth*m})}return f}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Di(n);var u=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-u):n.z=u}else r&&(n.z=r.z+a(n._,r._));n.parent.A=i(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function i(n,t,e){if(t){for(var r,i=n,u=n,o=t,l=i.parent.children[0],c=i.m,f=u.m,s=o.m,h=l.m;o=Ti(o),i=qi(i),o&&i;)l=qi(l),u=Ti(u),u.a=n,r=o.z+s-i.z-c+a(o._,i._),r>0&&(Ri(Pi(o,n,e),n,r),c+=r,f+=r),s+=o.m,c+=i.m,h+=l.m,f+=u.m;o&&!Ti(u)&&(u.t=o,u.m+=s-f),i&&!qi(l)&&(l.t=i,l.m+=c-h,e=n)}return e}function u(n){n.x*=l[0],n.y=n.depth*l[1]}var o=ao.layout.hierarchy().sort(null).value(null),a=Li,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(c=null==(l=t)?u:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:u,n):c?l:null},ii(n,o)},ao.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;oi(l,function(n){var t=n.children;t&&t.length?(n.x=ji(t),n.y=Ui(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)});var f=Fi(l),s=Hi(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return oi(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=ao.layout.hierarchy().sort(null).value(null),e=Li,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},ii(n,t)},ao.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++i<u;)r=(e=n[i]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(u>e&&(u=e),e>i&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0;
-if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++u<o;)i=n[u],i.x=a,i.y=c,i.dy=f,a+=i.dx=Math.min(e.x+e.dx-a,f?l(i.area/f):0);i.z=!0,i.dx+=e.x+e.dx-a,e.y+=f,e.dy-=f}else{for((r||f>e.dx)&&(f=e.dx);++u<o;)i=n[u],i.x=a,i.y=c,i.dx=f,c+=i.dy=Math.min(e.y+e.dy-c,f?l(i.area/f):0);i.z=!1,i.dy+=e.y+e.dy-c,e.x+=f,e.dx-=f}}function u(r){var i=o||a(r),u=i[0];return u.x=u.y=0,u.value?(u.dx=c[0],u.dy=c[1]):u.dx=u.dy=0,o&&a.revalue(u),n([u],u.dx*u.dy/u.value),(o?e:t)(u),h&&(o=i),i}var o,a=ao.layout.hierarchy(),l=Math.round,c=[1,1],f=null,s=Oi,h=!1,p="squarify",g=.5*(1+Math.sqrt(5));return u.size=function(n){return arguments.length?(c=n,u):c},u.padding=function(n){function t(t){var e=n.call(u,t,t.depth);return null==e?Oi(t):Ii(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Ii(t,n)}if(!arguments.length)return f;var r;return s=null==(f=n)?Oi:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,u},u.round=function(n){return arguments.length?(l=n?Math.round:Number,u):l!=Number},u.sticky=function(n){return arguments.length?(h=n,o=null,u):h},u.ratio=function(n){return arguments.length?(g=n,u):g},u.mode=function(n){return arguments.length?(p=n+"",u):p},ii(u,a)},ao.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=ao.random.normal.apply(ao,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ao.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ao.scale={};var Sl={floor:m,ceil:m};ao.scale.linear=function(){return Wi([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ao.scale.log=function(){return ru(ao.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=ao.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ao.scale.pow=function(){return iu(ao.scale.linear(),1,[0,1])},ao.scale.sqrt=function(){return ao.scale.pow().exponent(.5)},ao.scale.ordinal=function(){return ou([],{t:"range",a:[[]]})},ao.scale.category10=function(){return ao.scale.ordinal().range(Al)},ao.scale.category20=function(){return ao.scale.ordinal().range(Cl)},ao.scale.category20b=function(){return ao.scale.ordinal().range(zl)},ao.scale.category20c=function(){return ao.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);ao.scale.quantile=function(){return au([],[])},ao.scale.quantize=function(){return lu(0,1,[0,1])},ao.scale.threshold=function(){return cu([.5],[0,1])},ao.scale.identity=function(){return fu([0,1])},ao.svg={},ao.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Io,s=a.apply(this,arguments)-Io,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Oo)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===ql?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(d/c*Math.sin(y))),n&&(N=tn(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Fo?0:1;if(E&&yu(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Fo?0:1;if(N&&yu(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Uo&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Fo>h){var D=null==S?[_,w]:null==x?[m,M]:Re([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=mu(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=mu([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^yu(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=mu([m,M],[S,k],n,-R,p),V=mu([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^yu(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hu,r=pu,i=su,u=ql,o=gu,a=vu,l=du;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=En(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==ql?ql:En(t),n):u},n.startAngle=function(t){return arguments.length?(o=En(t),n):o},n.endAngle=function(t){return arguments.length?(a=En(t),n):a},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Io;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";ao.svg.line=function(){return Mu(m)};var Tl=ao.map({linear:xu,"linear-closed":bu,step:_u,"step-before":wu,"step-after":Su,basis:zu,"basis-open":Lu,"basis-closed":qu,bundle:Tu,cardinal:Eu,"cardinal-open":ku,"cardinal-closed":Nu,monotone:Fu});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];ao.svg.line.radial=function(){var n=Mu(Hu);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wu.reverse=Su,Su.reverse=wu,ao.svg.area=function(){return Ou(m)},ao.svg.area.radial=function(){var n=Ou(Hu);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ao.svg.chord=function(){function n(n,a){var l=t(this,u,n,a),c=t(this,o,n,a);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var i=t.call(n,e,r),u=a.call(n,i,r),o=l.call(n,i,r)-Io,f=c.call(n,i,r)-Io;return{r:u,a0:o,a1:f,p0:[u*Math.cos(o),u*Math.sin(o)],p1:[u*Math.cos(f),u*Math.sin(f)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Fo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=Me,o=xe,a=Iu,l=gu,c=vu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},ao.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yu;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ao.svg.diagonal.radial=function(){var n=ao.svg.diagonal(),t=Yu,e=n.projection;return n.projection=function(n){return arguments.length?e(Zu(t=n)):t},n},ao.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$u)(e.call(this,n,r))}var t=Xu,e=Vu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=ao.map({circle:$u,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ao.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Yo);Co.transition=function(n){for(var t,e,r=Hl||++Zl,i=Ku(n),u=[],o=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},a=-1,l=this.length;++a<l;){u.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(e=c[f])&&Qu(e,f,i,r,o),t.push(e)}return Wu(u,i,r)},Co.interrupt=function(n){return this.each(null==n?Il:Bu(Ku(n)))};var Hl,Ol,Il=Bu(Ku()),Yl=[],Zl=0;Yl.call=Co.call,Yl.empty=Co.empty,Yl.node=Co.node,Yl.size=Co.size,ao.transition=function(n,t){return n&&n.transition?Hl?n.transition(t):n:ao.selection().transition(n)},ao.transition.prototype=Yl,Yl.select=function(n){var t,e,r,i=this.id,u=this.namespace,o=[];n=A(n);for(var a=-1,l=this.length;++a<l;){o.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(r=c[f])&&(e=n.call(r,r.__data__,f,a))?("__data__"in r&&(e.__data__=r.__data__),Qu(e,f,u,i,r[u][i]),t.push(e)):t.push(null)}return Wu(o,u,i)},Yl.selectAll=function(n){var t,e,r,i,u,o=this.id,a=this.namespace,l=[];n=C(n);for(var c=-1,f=this.length;++c<f;)for(var s=this[c],h=-1,p=s.length;++h<p;)if(r=s[h]){u=r[a][o],e=n.call(r,r.__data__,h,c),l.push(t=[]);for(var g=-1,v=e.length;++g<v;)(i=e[g])&&Qu(i,g,a,o,u),t.push(i)}return Wu(l,a,o)},Yl.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]);for(var e=this[u],a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return Wu(i,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function i(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function u(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?$r:Mr,a=ao.ns.qualify(n);return Ju(this,"attr."+n,t,a.local?u:i)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(i));return r&&function(n){this.setAttribute(i,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(i.space,i.local));return r&&function(n){this.setAttributeNS(i.space,i.local,r(n))}}var i=ao.ns.qualify(n);return this.tween("attr."+n,i.local?r:e)},Yl.style=function(n,e,r){function i(){this.style.removeProperty(n)}function u(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Mr(u,e),function(t){this.style.setProperty(n,i(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ju(this,"style."+n,e,u)},Yl.styleTween=function(n,e,r){function i(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,i)},Yl.text=function(n){return Ju(this,"text",n,Gu)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ao.ease.apply(ao,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ol,u=Hl;try{Hl=e,Y(this,function(t,i,u){Ol=t[r][e],n.call(t,t.__data__,i,u)})}finally{Ol=i,Hl=u}}else Y(this,function(i){var u=i[r][e];(u.event||(u.event=ao.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,i=this.id,u=++Zl,o=this.namespace,a=[],l=0,c=this.length;c>l;l++){a.push(n=[]);for(var t=this[l],f=0,s=t.length;s>f;f++)(e=t[f])&&(r=e[o][i],Qu(e,f,o,u,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wu(a,o,u)},ao.svg.axis=function(){function n(n){n.each(function(){var n,c=ao.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):m:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Uo),d=ao.transition(g.exit()).style("opacity",Uo).remove(),y=ao.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=Zi(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ao.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=y.select("line"),C=g.select("text").text(p),z=v.select("text"),L=y.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=no,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=to,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),y.call(n,s,s)})}var t,e=ao.scale.linear(),r=Vl,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(a=co(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};ao.svg.brush=function(){function n(t){t.each(function(){var t=ao.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,m);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=ao.transition(t),h=ao.transition(o);c&&(l=Zi(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=Zi(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==ao.event.keyCode&&(C||(M=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function v(){32==ao.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function d(){var n=ao.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ao.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]<M[0])],L[1]=h[+(n[1]<M[1])]):M=null),E&&y(n,c,0)&&(r(k),t=!0),A&&y(n,f,1)&&(i(k),t=!0),t&&(e(k),w({type:"brush",mode:C?"move":"resize"}))}function y(n,t,e){var r,i,u=Zi(t),l=u[0],c=u[1],f=L[e],v=e?h:s,d=v[1]-v[0];return C&&(l-=f,c-=d+f),r=(e?g:p)?Math.max(l,Math.min(c,n[e])):n[e],C?i=(r+=f)+d:(M&&(f=Math.max(l,Math.min(c,2*M[e]-r))),r>f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function m(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ao.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ao.select(ao.event.target),w=l.of(b,arguments),k=ao.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&f,C=_.classed("extent"),z=W(b),L=ao.mouse(b),q=ao.select(t(b)).on("keydown.brush",u).on("keyup.brush",v);if(ao.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",m):q.on("mousemove.brush",d).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),C)L[0]=s[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[s[1-T]-L[0],h[1-R]-L[1]],L[0]=s[T],L[1]=h[R]}else ao.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ao.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,l=N(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Hl?ao.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(s,t.x),r=xr(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!f],n):c},n.y=function(t){return arguments.length?(f=t,v=Bl[!c<<1|!f],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},ao.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=ga.format=xa.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?eo:Gl,eo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},eo.toString=Gl.toString,ga.second=On(function(n){return new va(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ga.seconds=ga.second.range,ga.seconds.utc=ga.second.utc.range,ga.minute=On(function(n){return new va(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ga.minutes=ga.minute.range,ga.minutes.utc=ga.minute.utc.range,ga.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new va(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ga.hours=ga.hour.range,ga.hours.utc=ga.hour.utc.range,ga.month=On(function(n){return n=ga.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ga.months=ga.month.range,ga.months.utc=ga.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[ga.second,1],[ga.second,5],[ga.second,15],[ga.second,30],[ga.minute,1],[ga.minute,5],[ga.minute,15],[ga.minute,30],[ga.hour,1],[ga.hour,3],[ga.hour,6],[ga.hour,12],[ga.day,1],[ga.day,2],[ga.week,1],[ga.month,1],[ga.month,3],[ga.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return ao.range(Math.ceil(n/e)*e,+t,e).map(io)},floor:m,ceil:m};Ql.year=ga.year,ga.scale=function(){return ro(ao.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=ga.year.utc,ga.scale.utc=function(){return ro(ao.scale.linear(),ec,rc)},ao.text=An(function(n){return n.responseText}),ao.json=function(n,t){return Cn(n,"application/json",uo,t)},ao.html=function(n,t){return Cn(n,"text/html",oo,t)},ao.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=ao,define(ao)):"object"==typeof module&&module.exports?module.exports=ao:this.d3=ao}();/*!
-
-Holder - client side image placeholders
-Version 2.7.1+6hydf
-© 2015 Ivan Malopinsky - http://imsky.co
-
-Site:     http://holderjs.com
-Issues:   https://github.com/imsky/holder/issues
-License:  http://opensource.org/licenses/MIT
-
-*/
-!function(a){if(a.document){var b=a.document;b.querySelectorAll||(b.querySelectorAll=function(c){var d,e=b.createElement("style"),f=[];for(b.documentElement.firstChild.appendChild(e),b._qsa=[],e.styleSheet.cssText=c+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",a.scrollBy(0,0),e.parentNode.removeChild(e);b._qsa.length;)d=b._qsa.shift(),d.style.removeAttribute("x-qsa"),f.push(d);return b._qsa=null,f}),b.querySelector||(b.querySelector=function(a){var c=b.querySelectorAll(a);return c.length?c[0]:null}),b.getElementsByClassName||(b.getElementsByClassName=function(a){return a=String(a).replace(/^|\s+/g,"."),b.querySelectorAll(a)}),Object.keys||(Object.keys=function(a){if(a!==Object(a))throw TypeError("Object.keys called on non-object");var b,c=[];for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&c.push(b);return c}),function(a){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a.atob=a.atob||function(a){a=String(a);var c,d=0,e=[],f=0,g=0;if(a=a.replace(/\s/g,""),a.length%4===0&&(a=a.replace(/=+$/,"")),a.length%4===1)throw Error("InvalidCharacterError");if(/[^+/0-9A-Za-z]/.test(a))throw Error("InvalidCharacterError");for(;d<a.length;)c=b.indexOf(a.charAt(d)),f=f<<6|c,g+=6,24===g&&(e.push(String.fromCharCode(f>>16&255)),e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f)),g=0,f=0),d+=1;return 12===g?(f>>=4,e.push(String.fromCharCode(255&f))):18===g&&(f>>=2,e.push(String.fromCharCode(f>>8&255)),e.push(String.fromCharCode(255&f))),e.join("")},a.btoa=a.btoa||function(a){a=String(a);var c,d,e,f,g,h,i,j=0,k=[];if(/[^\x00-\xFF]/.test(a))throw Error("InvalidCharacterError");for(;j<a.length;)c=a.charCodeAt(j++),d=a.charCodeAt(j++),e=a.charCodeAt(j++),f=c>>2,g=(3&c)<<4|d>>4,h=(15&d)<<2|e>>6,i=63&e,j===a.length+2?(h=64,i=64):j===a.length+1&&(i=64),k.push(b.charAt(f),b.charAt(g),b.charAt(h),b.charAt(i));return k.join("")}}(a),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(a){var b=this.__proto__||this.constructor.prototype;return a in this&&(!(a in b)||b[a]!==this[a])}),function(){if("performance"in a==!1&&(a.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in a.performance==!1){var b=Date.now();performance.timing&&performance.timing.navigationStart&&(b=performance.timing.navigationStart),a.performance.now=function(){return Date.now()-b}}}(),a.requestAnimationFrame||(a.webkitRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return webkitRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=webkitCancelAnimationFrame}(a):a.mozRequestAnimationFrame?!function(a){a.requestAnimationFrame=function(b){return mozRequestAnimationFrame(function(){b(a.performance.now())})},a.cancelAnimationFrame=mozCancelAnimationFrame}(a):!function(a){a.requestAnimationFrame=function(b){return a.setTimeout(b,1e3/60)},a.cancelAnimationFrame=a.clearTimeout}(a))}}(this),function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):"object"==typeof exports?exports.Holder=b():a.Holder=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){(function(b){function d(a,b,c,d){var f=e(c.substr(c.lastIndexOf(a.domain)),a);f&&h({mode:null,el:d,flags:f,engineSettings:b})}function e(a,b){var c={theme:B(J.settings.themes.gray,null),stylesheets:b.stylesheets,instanceOptions:b};return a.match(/([\d]+p?)x([\d]+p?)(?:\?|$)/)?f(a,c):g(a,c)}function f(a,b){var c=a.split("?"),d=c[0].split("/");b.holderURL=a;var e=d[1],f=e.match(/([\d]+p?)x([\d]+p?)/);if(!f)return!1;if(b.fluid=-1!==e.indexOf("p"),b.dimensions={width:f[1].replace("p","%"),height:f[2].replace("p","%")},2===c.length){var g=A.parse(c[1]);if(g.bg&&(b.theme.background=(-1===g.bg.indexOf("#")?"#":"")+g.bg),g.fg&&(b.theme.foreground=(-1===g.fg.indexOf("#")?"#":"")+g.fg),g.theme&&b.instanceOptions.themes.hasOwnProperty(g.theme)&&(b.theme=B(b.instanceOptions.themes[g.theme],null)),g.text&&(b.text=g.text),g.textmode&&(b.textmode=g.textmode),g.size&&(b.size=g.size),g.font&&(b.font=g.font),g.align&&(b.align=g.align),b.nowrap=z.truthy(g.nowrap),b.auto=z.truthy(g.auto),z.truthy(g.random)){J.vars.cache.themeKeys=J.vars.cache.themeKeys||Object.keys(b.instanceOptions.themes);var h=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(b.instanceOptions.themes[h],null)}}return b}function g(a,b){var c=!1,d=String.fromCharCode(11),e=a.replace(/([^\\])\//g,"$1"+d).split(d),f=/%[0-9a-f]{2}/gi,g=b.instanceOptions;b.holderURL=[];for(var h=e.length,i=0;h>i;i++){var j=e[i];if(j.match(f))try{j=decodeURIComponent(j)}catch(k){j=e[i]}var l=!1;if(J.flags.dimensions.match(j))c=!0,b.dimensions=J.flags.dimensions.output(j),l=!0;else if(J.flags.fluid.match(j))c=!0,b.dimensions=J.flags.fluid.output(j),b.fluid=!0,l=!0;else if(J.flags.textmode.match(j))b.textmode=J.flags.textmode.output(j),l=!0;else if(J.flags.colors.match(j)){var m=J.flags.colors.output(j);b.theme=B(b.theme,m),l=!0}else if(g.themes[j])g.themes.hasOwnProperty(j)&&(b.theme=B(g.themes[j],null)),l=!0;else if(J.flags.font.match(j))b.font=J.flags.font.output(j),l=!0;else if(J.flags.auto.match(j))b.auto=!0,l=!0;else if(J.flags.text.match(j))b.text=J.flags.text.output(j),l=!0;else if(J.flags.size.match(j))b.size=J.flags.size.output(j),l=!0;else if(J.flags.random.match(j)){null==J.vars.cache.themeKeys&&(J.vars.cache.themeKeys=Object.keys(g.themes));var n=J.vars.cache.themeKeys[0|Math.random()*J.vars.cache.themeKeys.length];b.theme=B(g.themes[n],null),l=!0}l&&b.holderURL.push(j)}return b.holderURL.unshift(g.domain),b.holderURL=b.holderURL.join("/"),c?b:!1}function h(a){var b=a.mode,c=a.el,d=a.flags,e=a.engineSettings,f=d.dimensions,g=d.theme,h=f.width+"x"+f.height;if(b=null==b?d.fluid?"fluid":"image":b,null!=d.text&&(g.text=d.text,"object"===c.nodeName.toLowerCase())){for(var j=g.text.split("\\n"),k=0;k<j.length;k++)j[k]=z.encodeHtmlEntity(j[k]);g.text=j.join("\\n")}var n=d.holderURL,o=B(e,null);if(d.font&&(g.font=d.font,!o.noFontFallback&&"img"===c.nodeName.toLowerCase()&&J.setup.supportsCanvas&&"svg"===o.renderer&&(o=B(o,{renderer:"canvas"}))),d.font&&"canvas"==o.renderer&&(o.reRender=!0),"background"==b)null==c.getAttribute("data-background-src")&&r(c,{"data-background-src":n});else{var p={};p[J.vars.dataAttr]=n,r(c,p)}d.theme=g,c.holderData={flags:d,engineSettings:o},("image"==b||"fluid"==b)&&r(c,{alt:g.text?g.text+" ["+h+"]":h});var q={mode:b,el:c,holderSettings:{dimensions:f,theme:g,flags:d},engineSettings:o};"image"==b?("html"!=o.renderer&&d.auto||(c.style.width=f.width+"px",c.style.height=f.height+"px"),"html"==o.renderer?c.style.backgroundColor=g.background:(i(q),"exact"==d.textmode&&(c.holderData.resizeUpdate=!0,J.vars.resizableImages.push(c),l(c)))):"background"==b&&"html"!=o.renderer?i(q):"fluid"==b&&(c.holderData.resizeUpdate=!0,"%"==f.height.slice(-1)?c.style.height=f.height:null!=d.auto&&d.auto||(c.style.height=f.height+"px"),"%"==f.width.slice(-1)?c.style.width=f.width:null!=d.auto&&d.auto||(c.style.width=f.width+"px"),("inline"==c.style.display||""===c.style.display||"none"==c.style.display)&&(c.style.display="block"),m(c),"html"==o.renderer?c.style.backgroundColor=g.background:(J.vars.resizableImages.push(c),l(c)))}function i(a){function c(){var b=null;switch(h.renderer){case"canvas":b=L(k,a);break;case"svg":b=M(k,a);break;default:throw"Holder: invalid renderer: "+h.renderer}return b}var d=null,e=a.mode,f=a.holderSettings,g=a.el,h=a.engineSettings;switch(h.renderer){case"svg":if(!J.setup.supportsSVG)return;break;case"canvas":if(!J.setup.supportsCanvas)return;break;default:return}var i={width:f.dimensions.width,height:f.dimensions.height,theme:f.theme,flags:f.flags},k=j(i);if(d=c(),null==d)throw"Holder: couldn't render placeholder";"background"==e?(g.style.backgroundImage="url("+d+")",g.style.backgroundSize=i.width+"px "+i.height+"px"):("img"===g.nodeName.toLowerCase()?r(g,{src:d}):"object"===g.nodeName.toLowerCase()&&(r(g,{data:d}),r(g,{type:"image/svg+xml"})),h.reRender&&b.setTimeout(function(){var a=c();if(null==a)throw"Holder: couldn't render placeholder";"img"===g.nodeName.toLowerCase()?r(g,{src:a}):"object"===g.nodeName.toLowerCase()&&(r(g,{data:a}),r(g,{type:"image/svg+xml"}))},100)),r(g,{"data-holder-rendered":!0})}function j(a){function b(a,b,c,d){b.width=c,b.height=d,a.width=Math.max(a.width,b.width),a.height+=b.height}var c=J.defaults.size;switch(parseFloat(a.theme.size)?c=a.theme.size:parseFloat(a.flags.size)&&(c=a.flags.size),a.font={family:a.theme.font?a.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:k(a.width,a.height,c),units:a.theme.units?a.theme.units:J.defaults.units,weight:a.theme.fontweight?a.theme.fontweight:"bold"},a.text=a.theme.text||Math.floor(a.width)+"x"+Math.floor(a.height),a.noWrap=a.theme.nowrap||a.flags.nowrap,a.align=a.theme.align||a.flags.align||"center",a.flags.textmode){case"literal":a.text=a.flags.dimensions.width+"x"+a.flags.dimensions.height;break;case"exact":if(!a.flags.exactDimensions)break;a.text=Math.floor(a.flags.exactDimensions.width)+"x"+Math.floor(a.flags.exactDimensions.height)}var d=new y({width:a.width,height:a.height}),e=d.Shape,f=new e.Rect("holderBg",{fill:a.theme.background});f.resize(a.width,a.height),d.root.add(f);var g=new e.Group("holderTextGroup",{text:a.text,align:a.align,font:a.font,fill:a.theme.foreground});g.moveTo(null,null,1),d.root.add(g);var h=g.textPositionData=K(d);if(!h)throw"Holder: staging fallback not supported yet.";g.properties.leading=h.boundingBox.height;var i=null,j=null,l=a.width*J.setup.lineWrapRatio,m=l;if(h.lineCount>1){var n,o=0,p=0,q=0;j=new e.Group("line"+q),("left"===a.align||"right"===a.align)&&(m=a.width*(1-2*(1-J.setup.lineWrapRatio)));for(var r=0;r<h.words.length;r++){var s=h.words[r];i=new e.Text(s.text);var t="\\n"==s.text;!a.noWrap&&(o+s.width>=m||t===!0)&&(b(g,j,o,g.properties.leading),g.add(j),o=0,p+=g.properties.leading,q+=1,j=new e.Group("line"+q),j.y=p),t!==!0&&(i.moveTo(o,0),o+=h.spaceWidth+s.width,j.add(i))}if(b(g,j,o,g.properties.leading),g.add(j),"left"===a.align)g.moveTo(a.width-l,null,null);else if("right"===a.align){for(n in g.children)j=g.children[n],j.moveTo(a.width-j.width,null,null);g.moveTo(0-(a.width-l),null,null)}else{for(n in g.children)j=g.children[n],j.moveTo((g.width-j.width)/2,null,null);g.moveTo((a.width-g.width)/2,null,null)}g.moveTo(null,(a.height-g.height)/2,null),(a.height-g.height)/2<0&&g.moveTo(null,0,null)}else i=new e.Text(a.text),j=new e.Group("line0"),j.add(i),g.add(j),"left"===a.align?g.moveTo(a.width-l,null,null):"right"===a.align?g.moveTo(0-(a.width-l),null,null):g.moveTo((a.width-h.boundingBox.width)/2,null,null),g.moveTo(null,(a.height-h.boundingBox.height)/2,null);return d}function k(a,b,c){var d=parseInt(a,10),e=parseInt(b,10),f=Math.max(d,e),g=Math.min(d,e),h=.8*Math.min(g,f*J.defaults.scale);return Math.round(Math.max(c,h))}function l(a){var b;b=null==a||null==a.nodeType?J.vars.resizableImages:[a];for(var c=0,d=b.length;d>c;c++){var e=b[c];if(e.holderData){var f=e.holderData.flags,g=D(e);if(g){if(!e.holderData.resizeUpdate)continue;if(f.fluid&&f.auto){var h=e.holderData.fluidConfig;switch(h.mode){case"width":g.height=g.width/h.ratio;break;case"height":g.width=g.height*h.ratio}}var j={mode:"image",holderSettings:{dimensions:g,theme:f.theme,flags:f},el:e,engineSettings:e.holderData.engineSettings};"exact"==f.textmode&&(f.exactDimensions=g,j.holderSettings.dimensions=f.dimensions),i(j)}else p(e)}}}function m(a){if(a.holderData){var b=D(a);if(b){var c=a.holderData.flags,d={fluidHeight:"%"==c.dimensions.height.slice(-1),fluidWidth:"%"==c.dimensions.width.slice(-1),mode:null,initialDimensions:b};d.fluidWidth&&!d.fluidHeight?(d.mode="width",d.ratio=d.initialDimensions.width/parseFloat(c.dimensions.height)):!d.fluidWidth&&d.fluidHeight&&(d.mode="height",d.ratio=parseFloat(c.dimensions.width)/d.initialDimensions.height),a.holderData.fluidConfig=d}else p(a)}}function n(){for(var a,c=[],d=Object.keys(J.vars.invisibleImages),e=0,f=d.length;f>e;e++)a=J.vars.invisibleImages[d[e]],D(a)&&"img"==a.nodeName.toLowerCase()&&(c.push(a),delete J.vars.invisibleImages[d[e]]);c.length&&I.run({images:c}),b.requestAnimationFrame(n)}function o(){J.vars.visibilityCheckStarted||(b.requestAnimationFrame(n),J.vars.visibilityCheckStarted=!0)}function p(a){a.holderData.invisibleId||(J.vars.invisibleId+=1,J.vars.invisibleImages["i"+J.vars.invisibleId]=a,a.holderData.invisibleId=J.vars.invisibleId)}function q(a,b){return null==b?document.createElement(a):document.createElementNS(b,a)}function r(a,b){for(var c in b)a.setAttribute(c,b[c])}function s(a,b,c){var d,e;null==a?(a=q("svg",E),d=q("defs",E),e=q("style",E),r(e,{type:"text/css"}),d.appendChild(e),a.appendChild(d)):e=a.querySelector("style"),a.webkitMatchesSelector&&a.setAttribute("xmlns",E);for(var f=0;f<a.childNodes.length;f++)a.childNodes[f].nodeType===F&&a.removeChild(a.childNodes[f]);for(;e.childNodes.length;)e.removeChild(e.childNodes[0]);return r(a,{width:b,height:c,viewBox:"0 0 "+b+" "+c,preserveAspectRatio:"none"}),a}function t(a,c){if(b.XMLSerializer){var d=new XMLSerializer,e="",f=c.stylesheets;if(c.svgXMLStylesheet){for(var g=u(),h=f.length-1;h>=0;h--){var i=g.createProcessingInstruction("xml-stylesheet",'href="'+f[h]+'" rel="stylesheet"');g.insertBefore(i,g.firstChild)}g.removeChild(g.documentElement),e=d.serializeToString(g)}var j=d.serializeToString(a);return j=j.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1"),e+j}}function u(){return b.DOMParser?(new DOMParser).parseFromString("<xml />","application/xml"):void 0}function v(a){J.vars.debounceTimer||a.call(this),J.vars.debounceTimer&&b.clearTimeout(J.vars.debounceTimer),J.vars.debounceTimer=b.setTimeout(function(){J.vars.debounceTimer=null,a.call(this)},J.setup.debounce)}function w(){v(function(){l(null)})}var x=c(1),y=c(2),z=c(3),A=c(4),B=z.extend,C=z.getNodeArray,D=z.dimensionCheck,E="http://www.w3.org/2000/svg",F=8,G="2.7.1",H="\nCreated with Holder.js "+G+".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n",I={version:G,addTheme:function(a,b){return null!=a&&null!=b&&(J.settings.themes[a]=b),delete J.vars.cache.themeKeys,this},addImage:function(a,b){var c=document.querySelectorAll(b);if(c.length)for(var d=0,e=c.length;e>d;d++){var f=q("img"),g={};g[J.vars.dataAttr]=a,r(f,g),c[d].appendChild(f)}return this},setResizeUpdate:function(a,b){a.holderData&&(a.holderData.resizeUpdate=!!b,a.holderData.resizeUpdate&&l(a))},run:function(a){a=a||{};var c={},f=B(J.settings,a);J.vars.preempted=!0,J.vars.dataAttr=f.dataAttr||J.vars.dataAttr,c.renderer=f.renderer?f.renderer:J.setup.renderer,-1===J.setup.renderers.join(",").indexOf(c.renderer)&&(c.renderer=J.setup.supportsSVG?"svg":J.setup.supportsCanvas?"canvas":"html");var g=C(f.images),i=C(f.bgnodes),j=C(f.stylenodes),k=C(f.objects);c.stylesheets=[],c.svgXMLStylesheet=!0,c.noFontFallback=f.noFontFallback?f.noFontFallback:!1;for(var l=0;l<j.length;l++){var m=j[l];if(m.attributes.rel&&m.attributes.href&&"stylesheet"==m.attributes.rel.value){var n=m.attributes.href.value,o=q("a");o.href=n;var p=o.protocol+"//"+o.host+o.pathname+o.search;c.stylesheets.push(p)}}for(l=0;l<i.length;l++)if(b.getComputedStyle){var r=b.getComputedStyle(i[l],null).getPropertyValue("background-image"),s=i[l].getAttribute("data-background-src"),t=null;t=null==s?r:s;var u=null,v="?"+f.domain+"/";if(0===t.indexOf(v))u=t.slice(1);else if(-1!=t.indexOf(v)){var w=t.substr(t.indexOf(v)).slice(1),x=w.match(/([^\"]*)"?\)/);null!=x&&(u=x[1])}if(null!=u){var y=e(u,f);y&&h({mode:"background",el:i[l],flags:y,engineSettings:c})}}for(l=0;l<k.length;l++){var A=k[l],D={};try{D.data=A.getAttribute("data"),D.dataSrc=A.getAttribute(J.vars.dataAttr)}catch(E){}var F=null!=D.data&&0===D.data.indexOf(f.domain),G=null!=D.dataSrc&&0===D.dataSrc.indexOf(f.domain);F?d(f,c,D.data,A):G&&d(f,c,D.dataSrc,A)}for(l=0;l<g.length;l++){var H=g[l],I={};try{I.src=H.getAttribute("src"),I.dataSrc=H.getAttribute(J.vars.dataAttr),I.rendered=H.getAttribute("data-holder-rendered")}catch(E){}var K=null!=I.src,L=null!=I.dataSrc&&0===I.dataSrc.indexOf(f.domain),M=null!=I.rendered&&"true"==I.rendered;K?0===I.src.indexOf(f.domain)?d(f,c,I.src,H):L&&(M?d(f,c,I.dataSrc,H):!function(a,b,c,e,f){z.imageExists(a,function(a){a||d(b,c,e,f)})}(I.src,f,c,I.dataSrc,H)):L&&d(f,c,I.dataSrc,H)}return this}},J={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",stylesheets:[],themes:{gray:{background:"#EEEEEE",foreground:"#AAAAAA"},social:{background:"#3a5a97",foreground:"#FFFFFF"},industrial:{background:"#434A52",foreground:"#C2F200"},sky:{background:"#0D8FDB",foreground:"#FFFFFF"},vine:{background:"#39DBAC",foreground:"#1E292C"},lava:{background:"#F8591A",foreground:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16},flags:{dimensions:{regex:/^(\d+)x(\d+)$/,output:function(a){var b=this.regex.exec(a);return{width:+b[1],height:+b[2]}}},fluid:{regex:/^([0-9]+%?)x([0-9]+%?)$/,output:function(a){var b=this.regex.exec(a);return{width:b[1],height:b[2]}}},colors:{regex:/(?:#|\^)([0-9a-f]{3,})\:(?:#|\^)([0-9a-f]{3,})/i,output:function(a){var b=this.regex.exec(a);return{foreground:"#"+b[2],background:"#"+b[1]}}},text:{regex:/text\:(.*)/,output:function(a){return this.regex.exec(a)[1].replace("\\/","/")}},font:{regex:/font\:(.*)/,output:function(a){return this.regex.exec(a)[1]}},auto:{regex:/^auto$/},textmode:{regex:/textmode\:(.*)/,output:function(a){return this.regex.exec(a)[1]}},random:{regex:/^random$/},size:{regex:/size\:(\d+)/,output:function(a){return this.regex.exec(a)[1]}}}},K=function(){var a=null,b=null,c=null;return function(d){var e=d.root;if(J.setup.supportsSVG){var f=!1,g=function(a){return document.createTextNode(a)};(null==a||a.parentNode!==document.body)&&(f=!0),a=s(a,e.properties.width,e.properties.height),a.style.display="block",f&&(b=q("text",E),c=g(null),r(b,{x:0}),b.appendChild(c),a.appendChild(b),document.body.appendChild(a),a.style.visibility="hidden",a.style.position="absolute",a.style.top="-100%",a.style.left="-100%");var h=e.children.holderTextGroup,i=h.properties;r(b,{y:i.font.size,style:z.cssProps({"font-weight":i.font.weight,"font-size":i.font.size+i.font.units,"font-family":i.font.family})}),c.nodeValue=i.text;var j=b.getBBox(),k=Math.ceil(j.width/(e.properties.width*J.setup.lineWrapRatio)),l=i.text.split(" "),m=i.text.match(/\\n/g);k+=null==m?0:m.length,c.nodeValue=i.text.replace(/[ ]+/g,"");var n=b.getComputedTextLength(),o=j.width-n,p=Math.round(o/Math.max(1,l.length-1)),t=[];if(k>1){c.nodeValue="";for(var u=0;u<l.length;u++)if(0!==l[u].length){c.nodeValue=z.decodeHtmlEntity(l[u]);var v=b.getBBox();t.push({text:l[u],width:v.width})}}return a.style.display="none",{spaceWidth:p,lineCount:k,boundingBox:j,words:t}}return!1}}(),L=function(){var a=q("canvas"),b=null;return function(c){null==b&&(b=a.getContext("2d"));var d=c.root;a.width=J.dpr(d.properties.width),a.height=J.dpr(d.properties.height),b.textBaseline="middle",b.fillStyle=d.children.holderBg.properties.fill,b.fillRect(0,0,J.dpr(d.children.holderBg.width),J.dpr(d.children.holderBg.height));{var e=d.children.holderTextGroup;e.properties}b.font=e.properties.font.weight+" "+J.dpr(e.properties.font.size)+e.properties.font.units+" "+e.properties.font.family+", monospace",b.fillStyle=e.properties.fill;for(var f in e.children){var g=e.children[f];for(var h in g.children){var i=g.children[h],j=J.dpr(e.x+g.x+i.x),k=J.dpr(e.y+g.y+i.y+e.properties.leading/2);b.fillText(i.properties.text,j,k)}}return a.toDataURL("image/png")}}(),M=function(){if(b.XMLSerializer){var a=u(),c=s(null,0,0),d=q("rect",E);return c.appendChild(d),function(b,e){var f=b.root;s(c,f.properties.width,f.properties.height);for(var g=c.querySelectorAll("g"),h=0;h<g.length;h++)g[h].parentNode.removeChild(g[h]);var i=e.holderSettings.flags.holderURL,j="holder_"+(Number(new Date)+32768+(0|32768*Math.random())).toString(16),k=q("g",E),l=f.children.holderTextGroup,m=l.properties,n=q("g",E),o=l.textPositionData,p="#"+j+" text { "+z.cssProps({fill:m.fill,"font-weight":m.font.weight,"font-family":m.font.family+", monospace","font-size":m.font.size+m.font.units})+" } ",u=a.createComment("\nSource URL: "+i+H),v=a.createCDATASection(p),w=c.querySelector("style");r(k,{id:j}),c.insertBefore(u,c.firstChild),w.appendChild(v),k.appendChild(d),k.appendChild(n),c.appendChild(k),r(d,{width:f.children.holderBg.width,height:f.children.holderBg.height,fill:f.children.holderBg.properties.fill}),l.y+=.8*o.boundingBox.height;for(var x in l.children){var y=l.children[x];for(var A in y.children){var B=y.children[A],C=l.x+y.x+B.x,D=l.y+y.y+B.y,F=q("text",E),G=document.createTextNode(null);r(F,{x:C,y:D}),G.nodeValue=B.properties.text,F.appendChild(G),n.appendChild(F)}}var I=N(t(c,e.engineSettings),"background"===e.mode);return I}}}(),N=function(){var a="data:image/svg+xml;charset=UTF-8,",b="data:image/svg+xml;charset=UTF-8;base64,";return function(c,d){return d?b+btoa(unescape(encodeURIComponent(c))):a+encodeURIComponent(c)}}();for(var O in J.flags)J.flags.hasOwnProperty(O)&&(J.flags[O].match=function(a){return a.match(this.regex)});J.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:!1,supportsSVG:!1,lineWrapRatio:.9,renderers:["html","canvas","svg"]},J.dpr=function(a){return a*J.setup.ratio},J.vars={preempted:!1,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:!1,debounceTimer:null,cache:{},dataAttr:"data-src"},function(){var a=1,c=1,d=q("canvas"),e=null;d.getContext&&-1!=d.toDataURL("image/png").indexOf("data:image/png")&&(J.setup.renderer="canvas",e=d.getContext("2d"),J.setup.supportsCanvas=!0),J.setup.supportsCanvas&&(a=b.devicePixelRatio||1,c=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1),J.setup.ratio=a/c,document.createElementNS&&document.createElementNS(E,"svg").createSVGRect&&(J.setup.renderer="svg",J.setup.supportsSVG=!0)}(),o(),x&&x(function(){J.vars.preempted||I.run(),b.addEventListener?(b.addEventListener("resize",w,!1),b.addEventListener("orientationchange",w,!1)):b.attachEvent("onresize",w),"object"==typeof b.Turbolinks&&b.document.addEventListener("page:change",function(){I.run()})}),a.exports=I}).call(b,function(){return this}())},function(a){function b(a){function b(a){if(!v){if(!g.body)return e(b);for(v=!0;a=w.shift();)e(a)}}function c(a){(t||a.type===i||g[m]===l)&&(d(),b())}function d(){t?(g[s](q,c,j),a[s](i,c,j)):(g[o](r,c),a[o](k,c))}function e(a,b){setTimeout(a,+b>=0?b:1)}function f(a){v?e(a):w.push(a)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function y(){document.removeEventListener("DOMContentLoaded",y,!1),document.readyState="complete"},!1),document.readyState="loading");var g=a.document,h=g.documentElement,i="load",j=!1,k="on"+i,l="complete",m="readyState",n="attachEvent",o="detachEvent",p="addEventListener",q="DOMContentLoaded",r="onreadystatechange",s="removeEventListener",t=p in g,u=j,v=j,w=[];if(g[m]===l)e(b);else if(t)g[p](q,c,j),a[p](i,c,j);else{g[n](r,c),a[n](k,c);try{u=null==a.frameElement&&h}catch(x){}u&&u.doScroll&&!function z(){if(!v){try{u.doScroll("left")}catch(a){return e(z,50)}d(),b()}}()}return f.version="1.4.0",f.isReady=function(){return v},f}a.exports="undefined"!=typeof window&&b(window)},function(a,b,c){var d=c(5),e=function(a){function b(a,b){for(var c in b)a[c]=b[c];return a}var c=1,e=d.defclass({constructor:function(a){c++,this.parent=null,this.children={},this.id=c,this.name="n"+c,null!=a&&(this.name=a),this.x=0,this.y=0,this.z=0,this.width=0,this.height=0},resize:function(a,b){null!=a&&(this.width=a),null!=b&&(this.height=b)},moveTo:function(a,b,c){this.x=null!=a?a:this.x,this.y=null!=b?b:this.y,this.z=null!=c?c:this.z},add:function(a){var b=a.name;if(null!=this.children[b])throw"SceneGraph: child with that name already exists: "+b;this.children[b]=a,a.parent=this}}),f=d(e,function(b){this.constructor=function(){b.constructor.call(this,"root"),this.properties=a}}),g=d(e,function(a){function c(c,d){if(a.constructor.call(this,c),this.properties={fill:"#000"},null!=d)b(this.properties,d);else if(null!=c&&"string"!=typeof c)throw"SceneGraph: invalid node name"}this.Group=d.extend(this,{constructor:c,type:"group"}),this.Rect=d.extend(this,{constructor:c,type:"rect"}),this.Text=d.extend(this,{constructor:function(a){c.call(this),this.properties.text=a},type:"text"})}),h=new f;return this.Shape=g,this.root=h,this};a.exports=e},function(a,b){(function(a){b.extend=function(a,b){var c={};for(var d in a)a.hasOwnProperty(d)&&(c[d]=a[d]);if(null!=b)for(var e in b)b.hasOwnProperty(e)&&(c[e]=b[e]);return c},b.cssProps=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c+":"+a[c]);return b.join(";")},b.encodeHtmlEntity=function(a){for(var b=[],c=0,d=a.length-1;d>=0;d--)c=a.charCodeAt(d),b.unshift(c>128?["&#",c,";"].join(""):a[d]);return b.join("")},b.getNodeArray=function(b){var c=null;return"string"==typeof b?c=document.querySelectorAll(b):a.NodeList&&b instanceof a.NodeList?c=b:a.Node&&b instanceof a.Node?c=[b]:a.HTMLCollection&&b instanceof a.HTMLCollection?c=b:b instanceof Array?c=b:null===b&&(c=[]),c},b.imageExists=function(a,b){var c=new Image;c.onerror=function(){b.call(this,!1)},c.onload=function(){b.call(this,!0)},c.src=a},b.decodeHtmlEntity=function(a){return a.replace(/&#(\d+);/g,function(a,b){return String.fromCharCode(b)})},b.dimensionCheck=function(a){var b={height:a.clientHeight,width:a.clientWidth};return b.height&&b.width?b:!1},b.truthy=function(a){return"string"==typeof a?"true"===a||"yes"===a||"1"===a||"on"===a||"✓"===a:!!a}}).call(b,function(){return this}())},function(a,b,c){var d=encodeURIComponent,e=decodeURIComponent,f=c(6),g=c(7),h=/(\w+)\[(\d+)\]/,i=/\w+\.\w+/;b.parse=function(a){if("string"!=typeof a)return{};if(a=f(a),""===a)return{};"?"===a.charAt(0)&&(a=a.slice(1));for(var b={},c=a.split("&"),d=0;d<c.length;d++){var g,j,k,l=c[d].split("="),m=e(l[0]);if(g=h.exec(m))b[g[1]]=b[g[1]]||[],b[g[1]][g[2]]=e(l[1]);else if(g=i.test(m)){for(g=m.split("."),j=b;g.length;)if(k=g.shift(),k.length){if(j[k]){if(j[k]&&"object"!=typeof j[k])break}else j[k]={};g.length||(j[k]=e(l[1])),j=j[k]}}else b[l[0]]=null==l[1]?"":e(l[1])}return b},b.stringify=function(a){if(!a)return"";var b=[];for(var c in a){var e=a[c];if("array"!=g(e))b.push(d(c)+"="+d(a[c]));else for(var f=0;f<e.length;++f)b.push(d(c+"["+f+"]")+"="+d(e[f]))}return b.join("&")}},function(a){var b=function(){},c=Array.prototype.slice,d=function(a,d){var e=b.prototype="function"==typeof a?a.prototype:a,f=new b,g=d.apply(f,c.call(arguments,2).concat(e));if("object"==typeof g)for(var h in g)f[h]=g[h];if(!f.hasOwnProperty("constructor"))return f;var i=f.constructor;return i.prototype=f,i};d.defclass=function(a){var b=a.constructor;return b.prototype=a,b},d.extend=function(a,b){return d(a,function(a){return this.uber=a,b})},a.exports=d},function(a,b){function c(a){return a.replace(/^\s*|\s*$/g,"")}b=a.exports=c,b.left=function(a){return a.replace(/^\s*/,"")},b.right=function(a){return a.replace(/\s*$/,"")}},function(a){var b=Object.prototype.toString;a.exports=function(a){switch(b.call(a)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===a?"null":void 0===a?"undefined":a!==a?"nan":a&&1===a.nodeType?"element":(a=a.valueOf?a.valueOf():Object.prototype.valueOf.apply(a),typeof a)}}])}),function(a,b){b&&(Holder=a.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package);
-/**
-* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
-*/
-;(function(window, document) {
-/*jshint evil:true */
-  /** version */
-  var version = '3.7.3';
-
-  /** Preset options */
-  var options = window.html5 || {};
-
-  /** Used to skip problem elements */
-  var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
-
-  /** Not all elements can be cloned in IE **/
-  var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
-
-  /** Detect whether the browser supports default html5 styles */
-  var supportsHtml5Styles;
-
-  /** Name of the expando, to work with multiple documents or to re-shiv one document */
-  var expando = '_html5shiv';
-
-  /** The id for the the documents expando */
-  var expanID = 0;
-
-  /** Cached data for each document */
-  var expandoData = {};
-
-  /** Detect whether the browser supports unknown elements */
-  var supportsUnknownElements;
-
-  (function() {
-    try {
-        var a = document.createElement('a');
-        a.innerHTML = '<xyz></xyz>';
-        //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
-        supportsHtml5Styles = ('hidden' in a);
-
-        supportsUnknownElements = a.childNodes.length == 1 || (function() {
-          // assign a false positive if unable to shiv
-          (document.createElement)('a');
-          var frag = document.createDocumentFragment();
-          return (
-            typeof frag.cloneNode == 'undefined' ||
-            typeof frag.createDocumentFragment == 'undefined' ||
-            typeof frag.createElement == 'undefined'
-          );
-        }());
-    } catch(e) {
-      // assign a false positive if detection fails => unable to shiv
-      supportsHtml5Styles = true;
-      supportsUnknownElements = true;
-    }
-
-  }());
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates a style sheet with the given CSS text and adds it to the document.
-   * @private
-   * @param {Document} ownerDocument The document.
-   * @param {String} cssText The CSS text.
-   * @returns {StyleSheet} The style element.
-   */
-  function addStyleSheet(ownerDocument, cssText) {
-    var p = ownerDocument.createElement('p'),
-        parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
-
-    p.innerHTML = 'x<style>' + cssText + '</style>';
-    return parent.insertBefore(p.lastChild, parent.firstChild);
-  }
-
-  /**
-   * Returns the value of `html5.elements` as an array.
-   * @private
-   * @returns {Array} An array of shived element node names.
-   */
-  function getElements() {
-    var elements = html5.elements;
-    return typeof elements == 'string' ? elements.split(' ') : elements;
-  }
-
-  /**
-   * Extends the built-in list of html5 elements
-   * @memberOf html5
-   * @param {String|Array} newElements whitespace separated list or array of new element names to shiv
-   * @param {Document} ownerDocument The context document.
-   */
-  function addElements(newElements, ownerDocument) {
-    var elements = html5.elements;
-    if(typeof elements != 'string'){
-      elements = elements.join(' ');
-    }
-    if(typeof newElements != 'string'){
-      newElements = newElements.join(' ');
-    }
-    html5.elements = elements +' '+ newElements;
-    shivDocument(ownerDocument);
-  }
-
-   /**
-   * Returns the data associated to the given document
-   * @private
-   * @param {Document} ownerDocument The document.
-   * @returns {Object} An object of data.
-   */
-  function getExpandoData(ownerDocument) {
-    var data = expandoData[ownerDocument[expando]];
-    if (!data) {
-        data = {};
-        expanID++;
-        ownerDocument[expando] = expanID;
-        expandoData[expanID] = data;
-    }
-    return data;
-  }
-
-  /**
-   * returns a shived element for the given nodeName and document
-   * @memberOf html5
-   * @param {String} nodeName name of the element
-   * @param {Document|DocumentFragment} ownerDocument The context document.
-   * @returns {Object} The shived element.
-   */
-  function createElement(nodeName, ownerDocument, data){
-    if (!ownerDocument) {
-        ownerDocument = document;
-    }
-    if(supportsUnknownElements){
-        return ownerDocument.createElement(nodeName);
-    }
-    if (!data) {
-        data = getExpandoData(ownerDocument);
-    }
-    var node;
-
-    if (data.cache[nodeName]) {
-        node = data.cache[nodeName].cloneNode();
-    } else if (saveClones.test(nodeName)) {
-        node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
-    } else {
-        node = data.createElem(nodeName);
-    }
-
-    // Avoid adding some elements to fragments in IE < 9 because
-    // * Attributes like `name` or `type` cannot be set/changed once an element
-    //   is inserted into a document/fragment
-    // * Link elements with `src` attributes that are inaccessible, as with
-    //   a 403 response, will cause the tab/window to crash
-    // * Script elements appended to fragments will execute when their `src`
-    //   or `text` property is set
-    return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
-  }
-
-  /**
-   * returns a shived DocumentFragment for the given document
-   * @memberOf html5
-   * @param {Document} ownerDocument The context document.
-   * @returns {Object} The shived DocumentFragment.
-   */
-  function createDocumentFragment(ownerDocument, data){
-    if (!ownerDocument) {
-        ownerDocument = document;
-    }
-    if(supportsUnknownElements){
-        return ownerDocument.createDocumentFragment();
-    }
-    data = data || getExpandoData(ownerDocument);
-    var clone = data.frag.cloneNode(),
-        i = 0,
-        elems = getElements(),
-        l = elems.length;
-    for(;i<l;i++){
-        clone.createElement(elems[i]);
-    }
-    return clone;
-  }
-
-  /**
-   * Shivs the `createElement` and `createDocumentFragment` methods of the document.
-   * @private
-   * @param {Document|DocumentFragment} ownerDocument The document.
-   * @param {Object} data of the document.
-   */
-  function shivMethods(ownerDocument, data) {
-    if (!data.cache) {
-        data.cache = {};
-        data.createElem = ownerDocument.createElement;
-        data.createFrag = ownerDocument.createDocumentFragment;
-        data.frag = data.createFrag();
-    }
-
-
-    ownerDocument.createElement = function(nodeName) {
-      //abort shiv
-      if (!html5.shivMethods) {
-          return data.createElem(nodeName);
-      }
-      return createElement(nodeName, ownerDocument, data);
-    };
-
-    ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
-      'var n=f.cloneNode(),c=n.createElement;' +
-      'h.shivMethods&&(' +
-        // unroll the `createElement` calls
-        getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
-          data.createElem(nodeName);
-          data.frag.createElement(nodeName);
-          return 'c("' + nodeName + '")';
-        }) +
-      ');return n}'
-    )(html5, data.frag);
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Shivs the given document.
-   * @memberOf html5
-   * @param {Document} ownerDocument The document to shiv.
-   * @returns {Document} The shived document.
-   */
-  function shivDocument(ownerDocument) {
-    if (!ownerDocument) {
-        ownerDocument = document;
-    }
-    var data = getExpandoData(ownerDocument);
-
-    if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
-      data.hasCSS = !!addStyleSheet(ownerDocument,
-        // corrects block display not defined in IE6/7/8/9
-        'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
-        // adds styling not present in IE6/7/8/9
-        'mark{background:#FF0;color:#000}' +
-        // hides non-rendered elements
-        'template{display:none}'
-      );
-    }
-    if (!supportsUnknownElements) {
-      shivMethods(ownerDocument, data);
-    }
-    return ownerDocument;
-  }
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The `html5` object is exposed so that more elements can be shived and
-   * existing shiving can be detected on iframes.
-   * @type Object
-   * @example
-   *
-   * // options can be changed before the script is included
-   * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
-   */
-  var html5 = {
-
-    /**
-     * An array or space separated string of node names of the elements to shiv.
-     * @memberOf html5
-     * @type Array|String
-     */
-    'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
-
-    /**
-     * current version of html5shiv
-     */
-    'version': version,
-
-    /**
-     * A flag to indicate that the HTML5 style sheet should be inserted.
-     * @memberOf html5
-     * @type Boolean
-     */
-    'shivCSS': (options.shivCSS !== false),
-
-    /**
-     * Is equal to true if a browser supports creating unknown/HTML5 elements
-     * @memberOf html5
-     * @type boolean
-     */
-    'supportsUnknownElements': supportsUnknownElements,
-
-    /**
-     * A flag to indicate that the document's `createElement` and `createDocumentFragment`
-     * methods should be overwritten.
-     * @memberOf html5
-     * @type Boolean
-     */
-    'shivMethods': (options.shivMethods !== false),
-
-    /**
-     * A string to describe the type of `html5` object ("default" or "default print").
-     * @memberOf html5
-     * @type String
-     */
-    'type': 'default',
-
-    // shivs the document according to the specified `html5` object options
-    'shivDocument': shivDocument,
-
-    //creates a shived element
-    createElement: createElement,
-
-    //creates a shived documentFragment
-    createDocumentFragment: createDocumentFragment,
-
-    //extends list of elements
-    addElements: addElements
-  };
-
-  /*--------------------------------------------------------------------------*/
-
-  // expose html5
-  window.html5 = html5;
-
-  // shiv the document
-  shivDocument(document);
-
-  if(typeof module == 'object' && module.exports){
-    module.exports = html5;
-  }
-
-}(typeof window !== "undefined" ? window : this, document));
-/*! jQuery v1.12.3 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
-}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ra(b),i=l.boxSizing&&"border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Sa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Oa.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+eb(b,c,e||(i?"border":"content"),f,h)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){
-return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0;
-})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
-/* nvd3 version 1.8.1 (https://github.com/novus/nvd3) 2015-06-15 */
-!function(){var a={};a.dev=!1,a.tooltip=a.tooltip||{},a.utils=a.utils||{},a.models=a.models||{},a.charts={},a.logs={},a.dom={},a.dispatch=d3.dispatch("render_start","render_end"),Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e}),a.dev&&(a.dispatch.on("render_start",function(){a.logs.startTime=+new Date}),a.dispatch.on("render_end",function(){a.logs.endTime=+new Date,a.logs.totalTime=a.logs.endTime-a.logs.startTime,a.log("total",a.logs.totalTime)})),a.log=function(){if(a.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(a.dev&&window.console&&"function"==typeof console.log&&Function.prototype.bind){var b=Function.prototype.bind.call(console.log,console);b.apply(console,arguments)}return arguments[arguments.length-1]},a.deprecated=function(a,b){console&&console.warn&&console.warn("nvd3 warning: `"+a+"` has been deprecated. ",b||"")},a.render=function(b){b=b||1,a.render.active=!0,a.dispatch.render_start();var c=function(){for(var d,e,f=0;b>f&&(e=a.render.queue[f]);f++)d=e.generate(),typeof e.callback==typeof Function&&e.callback(d);a.render.queue.splice(0,f),a.render.queue.length?setTimeout(c):(a.dispatch.render_end(),a.render.active=!1)};setTimeout(c)},a.render.active=!1,a.render.queue=[],a.addGraph=function(b){typeof arguments[0]==typeof Function&&(b={generate:arguments[0],callback:arguments[1]}),a.render.queue.push(b),a.render.active||a.render()},"undefined"!=typeof module&&"undefined"!=typeof exports&&(module.exports=a),"undefined"!=typeof window&&(window.nv=a),a.dom.write=function(a){return void 0!==window.fastdom?fastdom.write(a):a()},a.dom.read=function(a){return void 0!==window.fastdom?fastdom.read(a):a()},a.interactiveGuideline=function(){"use strict";function b(l){l.each(function(l){function m(){var a=d3.mouse(this),d=a[0],e=a[1],i=!0,j=!1;if(k&&(d=d3.event.offsetX,e=d3.event.offsetY,"svg"!==d3.event.target.tagName&&(i=!1),d3.event.target.className.baseVal.match("nv-legend")&&(j=!0)),i&&(d-=f.left,e-=f.top),0>d||0>e||d>o||e>p||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement||j){if(k&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.className.match(c.nvPointerEventsClass)))return;return h.elementMouseout({mouseX:d,mouseY:e}),b.renderGuideLine(null),void c.hidden(!0)}c.hidden(!1);var l=g.invert(d);h.elementMousemove({mouseX:d,mouseY:e,pointXValue:l}),"dblclick"===d3.event.type&&h.elementDblclick({mouseX:d,mouseY:e,pointXValue:l}),"click"===d3.event.type&&h.elementClick({mouseX:d,mouseY:e,pointXValue:l})}var n=d3.select(this),o=d||960,p=e||400,q=n.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([l]),r=q.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");r.append("g").attr("class","nv-interactiveGuideLine"),j&&(j.on("touchmove",m).on("mousemove",m,!0).on("mouseout",m,!0).on("dblclick",m).on("click",m),b.guideLine=null,b.renderGuideLine=function(c){i&&(b.guideLine&&b.guideLine.attr("x1")===c||a.dom.write(function(){var b=q.select(".nv-interactiveGuideLine").selectAll("line").data(null!=c?[a.utils.NaNtoZero(c)]:[],String);b.enter().append("line").attr("class","nv-guideline").attr("x1",function(a){return a}).attr("x2",function(a){return a}).attr("y1",p).attr("y2",0),b.exit().remove()}))})})}var c=a.models.tooltip();c.duration(0).hideDelay(0)._isInteractiveLayer(!0).hidden(!1);var d=null,e=null,f={left:0,top:0},g=d3.scale.linear(),h=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick"),i=!0,j=null,k="ActiveXObject"in window;return b.dispatch=h,b.tooltip=c,b.margin=function(a){return arguments.length?(f.top="undefined"!=typeof a.top?a.top:f.top,f.left="undefined"!=typeof a.left?a.left:f.left,b):f},b.width=function(a){return arguments.length?(d=a,b):d},b.height=function(a){return arguments.length?(e=a,b):e},b.xScale=function(a){return arguments.length?(g=a,b):g},b.showGuideLine=function(a){return arguments.length?(i=a,b):i},b.svgContainer=function(a){return arguments.length?(j=a,b):j},b},a.interactiveBisect=function(a,b,c){"use strict";if(!(a instanceof Array))return null;var d;d="function"!=typeof c?function(a){return a.x}:c;var e=function(a,b){return d(a)-b},f=d3.bisector(e).left,g=d3.max([0,f(a,b)-1]),h=d(a[g]);if("undefined"==typeof h&&(h=g),h===b)return g;var i=d3.min([g+1,a.length-1]),j=d(a[i]);return"undefined"==typeof j&&(j=i),Math.abs(j-b)>=Math.abs(h-b)?g:i},a.nearestValueIndex=function(a,b,c){"use strict";var d=1/0,e=null;return a.forEach(function(a,f){var g=Math.abs(b-a);null!=a&&d>=g&&c>g&&(d=g,e=f)}),e},function(){"use strict";a.models.tooltip=function(){function b(){if(k){var a=d3.select(k);"svg"!==a.node().tagName&&(a=a.select("svg"));var b=a.node()?a.attr("viewBox"):null;if(b){b=b.split(" ");var c=parseInt(a.style("width"),10)/b[2];p.left=p.left*c,p.top=p.top*c}}}function c(){if(!n){var a;a=k?k:document.body,n=d3.select(a).append("div").attr("class","nvtooltip "+(j?j:"xy-tooltip")).attr("id",v),n.style("top",0).style("left",0),n.style("opacity",0),n.selectAll("div, table, td, tr").classed(w,!0),n.classed(w,!0),o=n.node()}}function d(){if(r&&B(e)){b();var f=p.left,g=null!==i?i:p.top;return a.dom.write(function(){c();var b=A(e);b&&(o.innerHTML=b),k&&u?a.dom.read(function(){var a=k.getElementsByTagName("svg")[0],b={left:0,top:0};if(a){var c=a.getBoundingClientRect(),d=k.getBoundingClientRect(),e=c.top;if(0>e){var i=k.getBoundingClientRect();e=Math.abs(e)>i.height?0:e}b.top=Math.abs(e-d.top),b.left=Math.abs(c.left-d.left)}f+=k.offsetLeft+b.left-2*k.scrollLeft,g+=k.offsetTop+b.top-2*k.scrollTop,h&&h>0&&(g=Math.floor(g/h)*h),C([f,g])}):C([f,g])}),d}}var e=null,f="w",g=25,h=0,i=null,j=null,k=null,l=!0,m=400,n=null,o=null,p={left:null,top:null},q={left:0,top:0},r=!0,s=100,t=!0,u=!1,v="nvtooltip-"+Math.floor(1e5*Math.random()),w="nv-pointer-events-none",x=function(a){return a},y=function(a){return a},z=function(a){return a},A=function(a){if(null===a)return"";var b=d3.select(document.createElement("table"));if(t){var c=b.selectAll("thead").data([a]).enter().append("thead");c.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(y(a.value))}var d=b.selectAll("tbody").data([a]).enter().append("tbody"),e=d.selectAll("tr").data(function(a){return a.series}).enter().append("tr").classed("highlight",function(a){return a.highlight});e.append("td").classed("legend-color-guide",!0).append("div").style("background-color",function(a){return a.color}),e.append("td").classed("key",!0).html(function(a,b){return z(a.key,b)}),e.append("td").classed("value",!0).html(function(a,b){return x(a.value,b)}),e.selectAll("td").each(function(a){if(a.highlight){var b=d3.scale.linear().domain([0,1]).range(["#fff",a.color]),c=.6;d3.select(this).style("border-bottom-color",b(c)).style("border-top-color",b(c))}});var f=b.node().outerHTML;return void 0!==a.footer&&(f+="<div class='footer'>"+a.footer+"</div>"),f},B=function(a){if(a&&a.series){if(a.series instanceof Array)return!!a.series.length;if(a.series instanceof Object)return a.series=[a.series],!0}return!1},C=function(b){o&&a.dom.read(function(){var c,d,e=parseInt(o.offsetHeight,10),h=parseInt(o.offsetWidth,10),i=a.utils.windowSize().width,j=a.utils.windowSize().height,k=window.pageYOffset,p=window.pageXOffset;j=window.innerWidth>=document.body.scrollWidth?j:j-16,i=window.innerHeight>=document.body.scrollHeight?i:i-16;var r,t,u=function(a){var b=d;do isNaN(a.offsetTop)||(b+=a.offsetTop),a=a.offsetParent;while(a);return b},v=function(a){var b=c;do isNaN(a.offsetLeft)||(b+=a.offsetLeft),a=a.offsetParent;while(a);return b};switch(f){case"e":c=b[0]-h-g,d=b[1]-e/2,r=v(o),t=u(o),p>r&&(c=b[0]+g>p?b[0]+g:p-r+c),k>t&&(d=k-t+d),t+e>k+j&&(d=k+j-t+d-e);break;case"w":c=b[0]+g,d=b[1]-e/2,r=v(o),t=u(o),r+h>i&&(c=b[0]-h-g),k>t&&(d=k+5),t+e>k+j&&(d=k+j-t+d-e);break;case"n":c=b[0]-h/2-5,d=b[1]+g,r=v(o),t=u(o),p>r&&(c=p+5),r+h>i&&(c=c-h/2+5),t+e>k+j&&(d=k+j-t+d-e);break;case"s":c=b[0]-h/2,d=b[1]-e-g,r=v(o),t=u(o),p>r&&(c=p+5),r+h>i&&(c=c-h/2+5),k>t&&(d=k);break;case"none":c=b[0],d=b[1]-g,r=v(o),t=u(o)}c-=q.left,d-=q.top;var w=o.getBoundingClientRect(),k=window.pageYOffset||document.documentElement.scrollTop,p=window.pageXOffset||document.documentElement.scrollLeft,x="translate("+(w.left+p)+"px, "+(w.top+k)+"px)",y="translate("+c+"px, "+d+"px)",z=d3.interpolateString(x,y),A=n.style("opacity")<.1;l?n.transition().delay(m).duration(0).style("opacity",0):n.interrupt().transition().duration(A?0:s).styleTween("transform",function(){return z},"important").style("-webkit-transform",y).style("opacity",1)})};return d.nvPointerEventsClass=w,d.options=a.utils.optionsFunc.bind(d),d._options=Object.create({},{duration:{get:function(){return s},set:function(a){s=a}},gravity:{get:function(){return f},set:function(a){f=a}},distance:{get:function(){return g},set:function(a){g=a}},snapDistance:{get:function(){return h},set:function(a){h=a}},classes:{get:function(){return j},set:function(a){j=a}},chartContainer:{get:function(){return k},set:function(a){k=a}},fixedTop:{get:function(){return i},set:function(a){i=a}},enabled:{get:function(){return r},set:function(a){r=a}},hideDelay:{get:function(){return m},set:function(a){m=a}},contentGenerator:{get:function(){return A},set:function(a){A=a}},valueFormatter:{get:function(){return x},set:function(a){x=a}},headerFormatter:{get:function(){return y},set:function(a){y=a}},keyFormatter:{get:function(){return z},set:function(a){z=a}},headerEnabled:{get:function(){return t},set:function(a){t=a}},_isInteractiveLayer:{get:function(){return u},set:function(a){u=!!a}},position:{get:function(){return p},set:function(a){p.left=void 0!==a.left?a.left:p.left,p.top=void 0!==a.top?a.top:p.top}},offset:{get:function(){return q},set:function(a){q.left=void 0!==a.left?a.left:q.left,q.top=void 0!==a.top?a.top:q.top}},hidden:{get:function(){return l},set:function(a){l!=a&&(l=!!a,d())}},data:{get:function(){return e},set:function(a){a.point&&(a.value=a.point.x,a.series=a.series||{},a.series.value=a.point.y,a.series.color=a.point.color||a.series.color),e=a}},tooltipElem:{get:function(){return o},set:function(){}},id:{get:function(){return v},set:function(){}}}),a.utils.initOptions(d),d}}(),a.utils.windowSize=function(){var a={width:640,height:480};return window.innerWidth&&window.innerHeight?(a.width=window.innerWidth,a.height=window.innerHeight,a):"CSS1Compat"==document.compatMode&&document.documentElement&&document.documentElement.offsetWidth?(a.width=document.documentElement.offsetWidth,a.height=document.documentElement.offsetHeight,a):document.body&&document.body.offsetWidth?(a.width=document.body.offsetWidth,a.height=document.body.offsetHeight,a):a},a.utils.windowResize=function(b){return window.addEventListener?window.addEventListener("resize",b):a.log("ERROR: Failed to bind to window.resize with: ",b),{callback:b,clear:function(){window.removeEventListener("resize",b)}}},a.utils.getColor=function(b){if(void 0===b)return a.utils.defaultColor();if(Array.isArray(b)){var c=d3.scale.ordinal().range(b);return function(a,b){var d=void 0===b?a:b;return a.color||c(d)}}return b},a.utils.defaultColor=function(){return a.utils.getColor(d3.scale.category20().range())},a.utils.customTheme=function(a,b,c){b=b||function(a){return a.key},c=c||d3.scale.category20().range();var d=c.length;return function(e){var f=b(e);return"function"==typeof a[f]?a[f]():void 0!==a[f]?a[f]:(d||(d=c.length),d-=1,c[d])}},a.utils.pjax=function(b,c){var d=function(d){d3.html(d,function(d){var e=d3.select(c).node();e.parentNode.replaceChild(d3.select(d).select(c).node(),e),a.utils.pjax(b,c)})};d3.selectAll(b).on("click",function(){history.pushState(this.href,this.textContent,this.href),d(this.href),d3.event.preventDefault()}),d3.select(window).on("popstate",function(){d3.event.state&&d(d3.event.state)})},a.utils.calcApproxTextWidth=function(a){if("function"==typeof a.style&&"function"==typeof a.text){var b=parseInt(a.style("font-size").replace("px",""),10),c=a.text().length;return c*b*.5}return 0},a.utils.NaNtoZero=function(a){return"number"!=typeof a||isNaN(a)||null===a||1/0===a||a===-1/0?0:a},d3.selection.prototype.watchTransition=function(a){var b=[this].concat([].slice.call(arguments,1));return a.transition.apply(a,b)},a.utils.renderWatch=function(b,c){if(!(this instanceof a.utils.renderWatch))return new a.utils.renderWatch(b,c);var d=void 0!==c?c:250,e=[],f=this;this.models=function(a){return a=[].slice.call(arguments,0),a.forEach(function(a){a.__rendered=!1,function(a){a.dispatch.on("renderEnd",function(){a.__rendered=!0,f.renderEnd("model")})}(a),e.indexOf(a)<0&&e.push(a)}),this},this.reset=function(a){void 0!==a&&(d=a),e=[]},this.transition=function(a,b,c){if(b=arguments.length>1?[].slice.call(arguments,1):[],c=b.length>1?b.pop():void 0!==d?d:250,a.__rendered=!1,e.indexOf(a)<0&&e.push(a),0===c)return a.__rendered=!0,a.delay=function(){return this},a.duration=function(){return this},a;a.__rendered=0===a.length?!0:a.every(function(a){return!a.length})?!0:!1;var g=0;return a.transition().duration(c).each(function(){++g}).each("end",function(){0===--g&&(a.__rendered=!0,f.renderEnd.apply(this,b))})},this.renderEnd=function(){e.every(function(a){return a.__rendered})&&(e.forEach(function(a){a.__rendered=!1}),b.renderEnd.apply(this,arguments))}},a.utils.deepExtend=function(b){var c=arguments.length>1?[].slice.call(arguments,1):[];c.forEach(function(c){for(var d in c){var e=b[d]instanceof Array,f="object"==typeof b[d],g="object"==typeof c[d];f&&!e&&g?a.utils.deepExtend(b[d],c[d]):b[d]=c[d]}})},a.utils.state=function(){if(!(this instanceof a.utils.state))return new a.utils.state;var b={},c=function(){},d=function(){return{}},e=null,f=null;this.dispatch=d3.dispatch("change","set"),this.dispatch.on("set",function(a){c(a,!0)}),this.getter=function(a){return d=a,this},this.setter=function(a,b){return b||(b=function(){}),c=function(c,d){a(c),d&&b()},this},this.init=function(b){e=e||{},a.utils.deepExtend(e,b)};var g=function(){var a=d();if(JSON.stringify(a)===JSON.stringify(b))return!1;for(var c in a)void 0===b[c]&&(b[c]={}),b[c]=a[c],f=!0;return!0};this.update=function(){e&&(c(e,!1),e=null),g.call(this)&&this.dispatch.change(b)}},a.utils.optionsFunc=function(a){return a&&d3.map(a).forEach(function(a,b){"function"==typeof this[a]&&this[a](b)}.bind(this)),this},a.utils.calcTicksX=function(b,c){var d=1,e=0;for(e;e<c.length;e+=1){var f=c[e]&&c[e].values?c[e].values.length:0;d=f>d?f:d}return a.log("Requested number of ticks: ",b),a.log("Calculated max values to be: ",d),b=b>d?b=d-1:b,b=1>b?1:b,b=Math.floor(b),a.log("Calculating tick count as: ",b),b},a.utils.calcTicksY=function(b,c){return a.utils.calcTicksX(b,c)},a.utils.initOption=function(a,b){a._calls&&a._calls[b]?a[b]=a._calls[b]:(a[b]=function(c){return arguments.length?(a._overrides[b]=!0,a._options[b]=c,a):a._options[b]},a["_"+b]=function(c){return arguments.length?(a._overrides[b]||(a._options[b]=c),a):a._options[b]})},a.utils.initOptions=function(b){b._overrides=b._overrides||{};var c=Object.getOwnPropertyNames(b._options||{}),d=Object.getOwnPropertyNames(b._calls||{});c=c.concat(d);for(var e in c)a.utils.initOption(b,c[e])},a.utils.inheritOptionsD3=function(a,b,c){a._d3options=c.concat(a._d3options||[]),c.unshift(b),c.unshift(a),d3.rebind.apply(this,c)},a.utils.arrayUnique=function(a){return a.sort().filter(function(b,c){return!c||b!=a[c-1]})},a.utils.symbolMap=d3.map(),a.utils.symbol=function(){function b(b,e){var f=c.call(this,b,e),g=d.call(this,b,e);return-1!==d3.svg.symbolTypes.indexOf(f)?d3.svg.symbol().type(f).size(g)():a.utils.symbolMap.get(f)(g)}var c,d=64;return b.type=function(a){return arguments.length?(c=d3.functor(a),b):c},b.size=function(a){return arguments.length?(d=d3.functor(a),b):d},b},a.utils.inheritOptions=function(b,c){var d=Object.getOwnPropertyNames(c._options||{}),e=Object.getOwnPropertyNames(c._calls||{}),f=c._inherited||[],g=c._d3options||[],h=d.concat(e).concat(f).concat(g);h.unshift(c),h.unshift(b),d3.rebind.apply(this,h),b._inherited=a.utils.arrayUnique(d.concat(e).concat(f).concat(d).concat(b._inherited||[])),b._d3options=a.utils.arrayUnique(g.concat(b._d3options||[]))},a.utils.initSVG=function(a){a.classed({"nvd3-svg":!0})},a.utils.sanitizeHeight=function(a,b){return a||parseInt(b.style("height"),10)||400},a.utils.sanitizeWidth=function(a,b){return a||parseInt(b.style("width"),10)||960},a.utils.availableHeight=function(b,c,d){return a.utils.sanitizeHeight(b,c)-d.top-d.bottom},a.utils.availableWidth=function(b,c,d){return a.utils.sanitizeWidth(b,c)-d.left-d.right},a.utils.noData=function(b,c){var d=b.options(),e=d.margin(),f=d.noData(),g=null==f?["No Data Available."]:[f],h=a.utils.availableHeight(d.height(),c,e),i=a.utils.availableWidth(d.width(),c,e),j=e.left+i/2,k=e.top+h/2;c.selectAll("g").remove();var l=c.selectAll(".nv-noData").data(g);l.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),l.attr("x",j).attr("y",k).text(function(a){return a})},a.models.axis=function(){"use strict";function b(g){return s.reset(),g.each(function(b){var g=d3.select(this);a.utils.initSVG(g);var p=g.selectAll("g.nv-wrap.nv-axis").data([b]),q=p.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),t=(q.append("g"),p.select("g"));null!==n?c.ticks(n):("top"==c.orient()||"bottom"==c.orient())&&c.ticks(Math.abs(d.range()[1]-d.range()[0])/100),t.watchTransition(s,"axis").call(c),r=r||c.scale();var u=c.tickFormat();null==u&&(u=r.tickFormat());var v=t.selectAll("text.nv-axislabel").data([h||null]);v.exit().remove();var w,x,y;switch(c.orient()){case"top":v.enter().append("text").attr("class","nv-axislabel"),y=d.range().length<2?0:2===d.range().length?d.range()[1]:d.range()[d.range().length-1]+(d.range()[1]-d.range()[0]),v.attr("text-anchor","middle").attr("y",0).attr("x",y/2),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),x.exit().remove(),x.attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b))+",0)"}).select("text").attr("dy","-0.5em").attr("y",-c.tickPadding()).attr("text-anchor","middle").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max top").attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d.range()[c])+",0)"}));break;case"bottom":w=o+36;var z=30,A=0,B=t.selectAll("g").select("text"),C="";if(j%360){B.each(function(){var a=this.getBoundingClientRect(),b=a.width;A=a.height,b>z&&(z=b)}),C="rotate("+j+" 0,"+(A/2+c.tickPadding())+")";var D=Math.abs(Math.sin(j*Math.PI/180));w=(D?D*z:z)+30,B.attr("transform",C).style("text-anchor",j%360>0?"start":"end")}v.enter().append("text").attr("class","nv-axislabel"),y=d.range().length<2?0:2===d.range().length?d.range()[1]:d.range()[d.range().length-1]+(d.range()[1]-d.range()[0]),v.attr("text-anchor","middle").attr("y",w).attr("x",y/2),i&&(x=p.selectAll("g.nv-axisMaxMin").data([d.domain()[0],d.domain()[d.domain().length-1]]),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),x.exit().remove(),x.attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",c.tickPadding()).attr("transform",C).style("text-anchor",j?j%360>0?"start":"end":"middle").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max bottom").attr("transform",function(b){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"})),l&&B.attr("transform",function(a,b){return"translate(0,"+(b%2==0?"0":"12")+")"});break;case"right":v.enter().append("text").attr("class","nv-axislabel"),v.style("text-anchor",k?"middle":"begin").attr("transform",k?"rotate(90)":"").attr("y",k?-Math.max(e.right,f)+12:-10).attr("x",k?d3.max(d.range())/2:c.tickPadding()),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(b){return"translate(0,"+a.utils.NaNtoZero(d(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",c.tickPadding()).style("text-anchor","start").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1));break;case"left":v.enter().append("text").attr("class","nv-axislabel"),v.style("text-anchor",k?"middle":"end").attr("transform",k?"rotate(-90)":"").attr("y",k?-Math.max(e.left,f)+25-(o||0):-10).attr("x",k?-d3.max(d.range())/2:-c.tickPadding()),i&&(x=p.selectAll("g.nv-axisMaxMin").data(d.domain()),x.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),x.exit().remove(),x.attr("transform",function(b){return"translate(0,"+a.utils.NaNtoZero(r(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-c.tickPadding()).attr("text-anchor","end").text(function(a){var b=u(a);return(""+b).match("NaN")?"":b}),x.watchTransition(s,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1))}if(v.text(function(a){return a}),!i||"left"!==c.orient()&&"right"!==c.orient()||(t.selectAll("g").each(function(a){d3.select(this).select("text").attr("opacity",1),(d(a)<d.range()[1]+10||d(a)>d.range()[0]-10)&&((a>1e-10||-1e-10>a)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0))}),d.domain()[0]==d.domain()[1]&&0==d.domain()[0]&&p.selectAll("g.nv-axisMaxMin").style("opacity",function(a,b){return b?0:1})),i&&("top"===c.orient()||"bottom"===c.orient())){var E=[];p.selectAll("g.nv-axisMaxMin").each(function(a,b){try{E.push(b?d(a)-this.getBoundingClientRect().width-4:d(a)+this.getBoundingClientRect().width+4)}catch(c){E.push(b?d(a)-4:d(a)+4)}}),t.selectAll("g").each(function(a){(d(a)<E[0]||d(a)>E[1])&&(a>1e-10||-1e-10>a?d3.select(this).remove():d3.select(this).select("text").remove())})}t.selectAll(".tick").filter(function(a){return!parseFloat(Math.round(1e5*a)/1e6)&&void 0!==a}).classed("zero",!0),r=d.copy()}),s.renderEnd("axis immediate"),b}var c=d3.svg.axis(),d=d3.scale.linear(),e={top:0,right:0,bottom:0,left:0},f=75,g=60,h=null,i=!0,j=0,k=!0,l=!1,m=!1,n=null,o=0,p=250,q=d3.dispatch("renderEnd");c.scale(d).orient("bottom").tickFormat(function(a){return a});var r,s=a.utils.renderWatch(q,p);return b.axis=c,b.dispatch=q,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{axisLabelDistance:{get:function(){return o},set:function(a){o=a}},staggerLabels:{get:function(){return l},set:function(a){l=a}},rotateLabels:{get:function(){return j},set:function(a){j=a}},rotateYLabel:{get:function(){return k},set:function(a){k=a}},showMaxMin:{get:function(){return i},set:function(a){i=a}},axisLabel:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return g},set:function(a){g=a}},ticks:{get:function(){return n},set:function(a){n=a}},width:{get:function(){return f},set:function(a){f=a}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},duration:{get:function(){return p},set:function(a){p=a,s.reset(p)}},scale:{get:function(){return d},set:function(e){d=e,c.scale(d),m="function"==typeof d.rangeBands,a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"])}}}),a.utils.initOptions(b),a.utils.inheritOptionsD3(b,c,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]),a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"]),b},a.models.boxPlot=function(){"use strict";function b(l){return v.reset(),l.each(function(b){var l=j-i.left-i.right,p=k-i.top-i.bottom;r=d3.select(this),a.utils.initSVG(r),m.domain(c||b.map(function(a,b){return o(a,b)})).rangeBands(e||[0,l],.1);var w=[];if(!d){var x=d3.min(b.map(function(a){var b=[];return b.push(a.values.Q1),a.values.hasOwnProperty("whisker_low")&&null!==a.values.whisker_low&&b.push(a.values.whisker_low),a.values.hasOwnProperty("outliers")&&null!==a.values.outliers&&(b=b.concat(a.values.outliers)),d3.min(b)})),y=d3.max(b.map(function(a){var b=[];return b.push(a.values.Q3),a.values.hasOwnProperty("whisker_high")&&null!==a.values.whisker_high&&b.push(a.values.whisker_high),a.values.hasOwnProperty("outliers")&&null!==a.values.outliers&&(b=b.concat(a.values.outliers)),d3.max(b)}));w=[x,y]}n.domain(d||w),n.range(f||[p,0]),g=g||m,h=h||n.copy().range([n(0),n(0)]);{var z=r.selectAll("g.nv-wrap").data([b]);z.enter().append("g").attr("class","nvd3 nv-wrap")}z.attr("transform","translate("+i.left+","+i.top+")");var A=z.selectAll(".nv-boxplot").data(function(a){return a}),B=A.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);A.attr("class","nv-boxplot").attr("transform",function(a,b){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}).classed("hover",function(a){return a.hover}),A.watchTransition(v,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay(function(a,c){return c*t/b.length}).attr("transform",function(a,b){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}),A.exit().remove(),B.each(function(a,b){var c=d3.select(this);["low","high"].forEach(function(d){a.values.hasOwnProperty("whisker_"+d)&&null!==a.values["whisker_"+d]&&(c.append("line").style("stroke",a.color?a.color:q(a,b)).attr("class","nv-boxplot-whisker nv-boxplot-"+d),c.append("line").style("stroke",a.color?a.color:q(a,b)).attr("class","nv-boxplot-tick nv-boxplot-"+d))})});var C=A.selectAll(".nv-boxplot-outlier").data(function(a){return a.values.hasOwnProperty("outliers")&&null!==a.values.outliers?a.values.outliers:[]});C.enter().append("circle").style("fill",function(a,b,c){return q(a,c)}).style("stroke",function(a,b,c){return q(a,c)}).on("mouseover",function(a,b,c){d3.select(this).classed("hover",!0),s.elementMouseover({series:{key:a,color:q(a,c)},e:d3.event})}).on("mouseout",function(a,b,c){d3.select(this).classed("hover",!1),s.elementMouseout({series:{key:a,color:q(a,c)},e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})}),C.attr("class","nv-boxplot-outlier"),C.watchTransition(v,"nv-boxplot: nv-boxplot-outlier").attr("cx",.45*m.rangeBand()).attr("cy",function(a){return n(a)}).attr("r","3"),C.exit().remove();var D=function(){return null===u?.9*m.rangeBand():Math.min(75,.9*m.rangeBand())},E=function(){return.45*m.rangeBand()-D()/2},F=function(){return.45*m.rangeBand()+D()/2};["low","high"].forEach(function(a){var b="low"===a?"Q1":"Q3";A.select("line.nv-boxplot-whisker.nv-boxplot-"+a).watchTransition(v,"nv-boxplot: boxplots").attr("x1",.45*m.rangeBand()).attr("y1",function(b){return n(b.values["whisker_"+a])}).attr("x2",.45*m.rangeBand()).attr("y2",function(a){return n(a.values[b])}),A.select("line.nv-boxplot-tick.nv-boxplot-"+a).watchTransition(v,"nv-boxplot: boxplots").attr("x1",E).attr("y1",function(b){return n(b.values["whisker_"+a])}).attr("x2",F).attr("y2",function(b){return n(b.values["whisker_"+a])})}),["low","high"].forEach(function(a){B.selectAll(".nv-boxplot-"+a).on("mouseover",function(b,c,d){d3.select(this).classed("hover",!0),s.elementMouseover({series:{key:b.values["whisker_"+a],color:q(b,d)},e:d3.event})}).on("mouseout",function(b,c,d){d3.select(this).classed("hover",!1),s.elementMouseout({series:{key:b.values["whisker_"+a],color:q(b,d)},e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})})}),B.append("rect").attr("class","nv-boxplot-box").on("mouseover",function(a,b){d3.select(this).classed("hover",!0),s.elementMouseover({key:a.label,value:a.label,series:[{key:"Q3",value:a.values.Q3,color:a.color||q(a,b)},{key:"Q2",value:a.values.Q2,color:a.color||q(a,b)},{key:"Q1",value:a.values.Q1,color:a.color||q(a,b)}],data:a,index:b,e:d3.event})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),s.elementMouseout({key:a.label,value:a.label,series:[{key:"Q3",value:a.values.Q3,color:a.color||q(a,b)},{key:"Q2",value:a.values.Q2,color:a.color||q(a,b)},{key:"Q1",value:a.values.Q1,color:a.color||q(a,b)}],data:a,index:b,e:d3.event})}).on("mousemove",function(){s.elementMousemove({e:d3.event})}),A.select("rect.nv-boxplot-box").watchTransition(v,"nv-boxplot: boxes").attr("y",function(a){return n(a.values.Q3)}).attr("width",D).attr("x",E).attr("height",function(a){return Math.abs(n(a.values.Q3)-n(a.values.Q1))||1}).style("fill",function(a,b){return a.color||q(a,b)}).style("stroke",function(a,b){return a.color||q(a,b)}),B.append("line").attr("class","nv-boxplot-median"),A.select("line.nv-boxplot-median").watchTransition(v,"nv-boxplot: boxplots line").attr("x1",E).attr("y1",function(a){return n(a.values.Q2)}).attr("x2",F).attr("y2",function(a){return n(a.values.Q2)}),g=m.copy(),h=n.copy()}),v.renderEnd("nv-boxplot immediate"),b}var c,d,e,f,g,h,i={top:0,right:0,bottom:0,left:0},j=960,k=500,l=Math.floor(1e4*Math.random()),m=d3.scale.ordinal(),n=d3.scale.linear(),o=function(a){return a.x},p=function(a){return a.y},q=a.utils.defaultColor(),r=null,s=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),t=250,u=null,v=a.utils.renderWatch(s,t);return b.dispatch=s,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return j},set:function(a){j=a}},height:{get:function(){return k},set:function(a){k=a}},maxBoxWidth:{get:function(){return u},set:function(a){u=a}},x:{get:function(){return o},set:function(a){o=a}},y:{get:function(){return p},set:function(a){p=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return l},set:function(a){l=a}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},color:{get:function(){return q},set:function(b){q=a.utils.getColor(b)}},duration:{get:function(){return t},set:function(a){t=a,v.reset(t)}}}),a.utils.initOptions(b),b},a.models.boxPlotChart=function(){"use strict";function b(k){return t.reset(),t.models(e),l&&t.models(f),m&&t.models(g),k.each(function(k){var p=d3.select(this);a.utils.initSVG(p);var t=(i||parseInt(p.style("width"))||960)-h.left-h.right,u=(j||parseInt(p.style("height"))||400)-h.top-h.bottom;if(b.update=function(){r.beforeUpdate(),p.transition().duration(s).call(b)},b.container=this,!(k&&k.length&&k.filter(function(a){return a.values.hasOwnProperty("Q1")&&a.values.hasOwnProperty("Q2")&&a.values.hasOwnProperty("Q3")}).length)){var v=p.selectAll(".nv-noData").data([q]);return v.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),v.attr("x",h.left+t/2).attr("y",h.top+u/2).text(function(a){return a}),b}p.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var w=p.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([k]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g"),y=x.append("defs"),z=w.select("g");
-x.append("g").attr("class","nv-x nv-axis"),x.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),x.append("g").attr("class","nv-barsWrap"),z.attr("transform","translate("+h.left+","+h.top+")"),n&&z.select(".nv-y.nv-axis").attr("transform","translate("+t+",0)"),e.width(t).height(u);var A=z.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));if(A.transition().call(e),y.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),z.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(o?2:1)).attr("height",16).attr("x",-c.rangeBand()/(o?1:2)),l){f.scale(c).ticks(a.utils.calcTicksX(t/100,k)).tickSize(-u,0),z.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),z.select(".nv-x.nv-axis").call(f);var B=z.select(".nv-x.nv-axis").selectAll("g");o&&B.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2==0?"5":"17")+")"})}m&&(g.scale(d).ticks(Math.floor(u/36)).tickSize(-t,0),z.select(".nv-y.nv-axis").call(g)),z.select(".nv-zeroLine line").attr("x1",0).attr("x2",t).attr("y1",d(0)).attr("y2",d(0))}),t.renderEnd("nv-boxplot chart immediate"),b}var c,d,e=a.models.boxPlot(),f=a.models.axis(),g=a.models.axis(),h={top:15,right:10,bottom:50,left:60},i=null,j=null,k=a.utils.getColor(),l=!0,m=!0,n=!1,o=!1,p=a.models.tooltip(),q="No Data Available.",r=d3.dispatch("tooltipShow","tooltipHide","beforeUpdate","renderEnd"),s=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(n?"right":"left").tickFormat(d3.format(",.1f")),p.duration(0);var t=a.utils.renderWatch(r,s);return e.dispatch.on("elementMouseover.tooltip",function(a){p.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){p.data(a).hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){p.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=r,b.boxplot=e,b.xAxis=f,b.yAxis=g,b.tooltip=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},staggerLabels:{get:function(){return o},set:function(a){o=a}},showXAxis:{get:function(){return l},set:function(a){l=a}},showYAxis:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return tooltips},set:function(a){tooltips=a}},tooltipContent:{get:function(){return p},set:function(a){p=a}},noData:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!==a.top?a.top:h.top,h.right=void 0!==a.right?a.right:h.right,h.bottom=void 0!==a.bottom?a.bottom:h.bottom,h.left=void 0!==a.left?a.left:h.left}},duration:{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.duration(s),g.duration(s)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}},rightAlignYAxis:{get:function(){return n},set:function(a){n=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.bullet=function(){"use strict";function b(d){return d.each(function(b,d){var p=m-c.left-c.right,s=n-c.top-c.bottom;o=d3.select(this),a.utils.initSVG(o);{var t=f.call(this,b,d).slice().sort(d3.descending),u=g.call(this,b,d).slice().sort(d3.descending),v=h.call(this,b,d).slice().sort(d3.descending),w=i.call(this,b,d).slice(),x=j.call(this,b,d).slice(),y=k.call(this,b,d).slice(),z=d3.scale.linear().domain(d3.extent(d3.merge([l,t]))).range(e?[p,0]:[0,p]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range())}this.__chart__=z;var A=d3.min(t),B=d3.max(t),C=t[1],D=o.selectAll("g.nv-wrap.nv-bullet").data([b]),E=D.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet"),F=E.append("g"),G=D.select("g");F.append("rect").attr("class","nv-range nv-rangeMax"),F.append("rect").attr("class","nv-range nv-rangeAvg"),F.append("rect").attr("class","nv-range nv-rangeMin"),F.append("rect").attr("class","nv-measure"),D.attr("transform","translate("+c.left+","+c.top+")");var H=function(a){return Math.abs(z(a)-z(0))},I=function(a){return z(0>a?a:0)};G.select("rect.nv-rangeMax").attr("height",s).attr("width",H(B>0?B:A)).attr("x",I(B>0?B:A)).datum(B>0?B:A),G.select("rect.nv-rangeAvg").attr("height",s).attr("width",H(C)).attr("x",I(C)).datum(C),G.select("rect.nv-rangeMin").attr("height",s).attr("width",H(B)).attr("x",I(B)).attr("width",H(B>0?A:B)).attr("x",I(B>0?A:B)).datum(B>0?A:B),G.select("rect.nv-measure").style("fill",q).attr("height",s/3).attr("y",s/3).attr("width",0>v?z(0)-z(v[0]):z(v[0])-z(0)).attr("x",I(v)).on("mouseover",function(){r.elementMouseover({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})}).on("mousemove",function(){r.elementMousemove({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})}).on("mouseout",function(){r.elementMouseout({value:v[0],label:y[0]||"Current",color:d3.select(this).style("fill")})});var J=s/6,K=u.map(function(a,b){return{value:a,label:x[b]}});F.selectAll("path.nv-markerTriangle").data(K).enter().append("path").attr("class","nv-markerTriangle").attr("transform",function(a){return"translate("+z(a.value)+","+s/2+")"}).attr("d","M0,"+J+"L"+J+","+-J+" "+-J+","+-J+"Z").on("mouseover",function(a){r.elementMouseover({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill"),pos:[z(a.value),s/2]})}).on("mousemove",function(a){r.elementMousemove({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a){r.elementMouseout({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}),D.selectAll(".nv-range").on("mouseover",function(a,b){var c=w[b]||(b?1==b?"Mean":"Minimum":"Maximum");r.elementMouseover({value:a,label:c,color:d3.select(this).style("fill")})}).on("mousemove",function(){r.elementMousemove({value:v[0],label:y[0]||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){var c=w[b]||(b?1==b?"Mean":"Minimum":"Maximum");r.elementMouseout({value:a,label:c,color:d3.select(this).style("fill")})})}),b}var c={top:0,right:0,bottom:0,left:0},d="left",e=!1,f=function(a){return a.ranges},g=function(a){return a.markers?a.markers:[0]},h=function(a){return a.measures},i=function(a){return a.rangeLabels?a.rangeLabels:[]},j=function(a){return a.markerLabels?a.markerLabels:[]},k=function(a){return a.measureLabels?a.measureLabels:[]},l=[0],m=380,n=30,o=null,p=null,q=a.utils.getColor(["#1f77b4"]),r=d3.dispatch("elementMouseover","elementMouseout","elementMousemove");return b.dispatch=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return f},set:function(a){f=a}},markers:{get:function(){return g},set:function(a){g=a}},measures:{get:function(){return h},set:function(a){h=a}},forceX:{get:function(){return l},set:function(a){l=a}},width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},tickFormat:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},orient:{get:function(){return d},set:function(a){d=a,e="right"==d||"bottom"==d}},color:{get:function(){return q},set:function(b){q=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.bulletChart=function(){"use strict";function b(d){return d.each(function(e,o){var p=d3.select(this);a.utils.initSVG(p);var q=a.utils.availableWidth(k,p,g),r=l-g.top-g.bottom;if(b.update=function(){b(d)},b.container=this,!e||!h.call(this,e,o))return a.utils.noData(b,p),b;p.selectAll(".nv-noData").remove();var s=h.call(this,e,o).slice().sort(d3.descending),t=i.call(this,e,o).slice().sort(d3.descending),u=j.call(this,e,o).slice().sort(d3.descending),v=p.selectAll("g.nv-wrap.nv-bulletChart").data([e]),w=v.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),x=w.append("g"),y=v.select("g");x.append("g").attr("class","nv-bulletWrap"),x.append("g").attr("class","nv-titles"),v.attr("transform","translate("+g.left+","+g.top+")");var z=d3.scale.linear().domain([0,Math.max(s[0],t[0],u[0])]).range(f?[q,0]:[0,q]),A=this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range());this.__chart__=z;var B=x.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(l-g.top-g.bottom)/2+")");B.append("text").attr("class","nv-title").text(function(a){return a.title}),B.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(a){return a.subtitle}),c.width(q).height(r);var C=y.select(".nv-bulletWrap");d3.transition(C).call(c);var D=m||z.tickFormat(q/100),E=y.selectAll("g.nv-tick").data(z.ticks(n?n:q/50),function(a){return this.textContent||D(a)}),F=E.enter().append("g").attr("class","nv-tick").attr("transform",function(a){return"translate("+A(a)+",0)"}).style("opacity",1e-6);F.append("line").attr("y1",r).attr("y2",7*r/6),F.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",7*r/6).text(D);var G=d3.transition(E).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1);G.select("line").attr("y1",r).attr("y2",7*r/6),G.select("text").attr("y",7*r/6),d3.transition(E.exit()).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1e-6).remove()}),d3.timer.flush(),b}var c=a.models.bullet(),d=a.models.tooltip(),e="left",f=!1,g={top:5,right:40,bottom:20,left:120},h=function(a){return a.ranges},i=function(a){return a.markers?a.markers:[0]},j=function(a){return a.measures},k=null,l=55,m=null,n=null,o=null,p=d3.dispatch("tooltipShow","tooltipHide");return d.duration(0).headerEnabled(!1),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.label,value:a.value,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){d.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.bullet=c,b.dispatch=p,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return h},set:function(a){h=a}},markers:{get:function(){return i},set:function(a){i=a}},measures:{get:function(){return j},set:function(a){j=a}},width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},tickFormat:{get:function(){return m},set:function(a){m=a}},ticks:{get:function(){return n},set:function(a){n=a}},noData:{get:function(){return o},set:function(a){o=a}},tooltips:{get:function(){return d.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),d.enabled(!!b)}},tooltipContent:{get:function(){return d.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),d.contentGenerator(b)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},orient:{get:function(){return e},set:function(a){e=a,f="right"==e||"bottom"==e}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.candlestickBar=function(){"use strict";function b(x){return x.each(function(b){c=d3.select(this);var x=a.utils.availableWidth(i,c,h),y=a.utils.availableHeight(j,c,h);a.utils.initSVG(c);var A=x/b[0].values.length*.45;l.domain(d||d3.extent(b[0].values.map(n).concat(t))),l.range(v?f||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]:f||[5+A/2,x-A/2-5]),m.domain(e||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(g||[y,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var B=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([b[0].values]),C=B.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar"),D=C.append("defs"),E=C.append("g"),F=B.select("g");E.append("g").attr("class","nv-ticks"),B.attr("transform","translate("+h.left+","+h.top+")"),c.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:k})}),D.append("clipPath").attr("id","nv-chart-clip-path-"+k).append("rect"),B.select("#nv-chart-clip-path-"+k+" rect").attr("width",x).attr("height",y),F.attr("clip-path",w?"url(#nv-chart-clip-path-"+k+")":"");var G=B.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});G.exit().remove();{var H=G.enter().append("g").attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b});H.append("line").attr("class","nv-candlestick-lines").attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),H.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)})}c.selectAll(".nv-candlestick-lines").transition().attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),c.selectAll(".nv-candlestick-rects").transition().attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)})}),b}var c,d,e,f,g,h={top:0,right:0,bottom:0,left:0},i=null,j=null,k=Math.floor(1e4*Math.random()),l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,d){b.clearHighlights(),c.select(".nv-candlestickBar .nv-tick-0-"+a).classed("hover",d)},b.clearHighlights=function(){c.select(".nv-candlestickBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return k},set:function(a){k=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!=a.top?a.top:h.top,h.right=void 0!=a.right?a.right:h.right,h.bottom=void 0!=a.bottom?a.bottom:h.bottom,h.left=void 0!=a.left?a.left:h.left}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.cumulativeLineChart=function(){"use strict";function b(l){return H.reset(),H.models(f),r&&H.models(g),s&&H.models(h),l.each(function(l){function A(){d3.select(b.container).style("cursor","ew-resize")}function E(){G.x=d3.event.x,G.i=Math.round(F.invert(G.x)),K()}function H(){d3.select(b.container).style("cursor","auto"),y.index=G.i,C.stateChange(y)}function K(){bb.data([G]);var a=b.duration();b.duration(0),b.update(),b.duration(a)}var L=d3.select(this);a.utils.initSVG(L),L.classed("nv-chart-"+x,!0);var M=this,N=a.utils.availableWidth(o,L,m),O=a.utils.availableHeight(p,L,m);if(b.update=function(){0===D?L.call(b):L.transition().duration(D).call(b)},b.container=this,y.setter(J(l),b.update).getter(I(l)).update(),y.disabled=l.map(function(a){return!!a.disabled}),!z){var P;z={};for(P in y)z[P]=y[P]instanceof Array?y[P].slice(0):y[P]}var Q=d3.behavior.drag().on("dragstart",A).on("drag",E).on("dragend",H);if(!(l&&l.length&&l.filter(function(a){return a.values.length}).length))return a.utils.noData(b,L),b;if(L.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale(),w)f.yDomain(null);else{var R=l.filter(function(a){return!a.disabled}).map(function(a){var b=d3.extent(a.values,f.y());return b[0]<-.95&&(b[0]=-.95),[(b[0]-b[1])/(1+b[1]),(b[1]-b[0])/(1+b[0])]}),S=[d3.min(R,function(a){return a[0]}),d3.max(R,function(a){return a[1]})];f.yDomain(S)}F.domain([0,l[0].values.length-1]).range([0,N]).clamp(!0);var l=c(G.i,l),T=v?"none":"all",U=L.selectAll("g.nv-wrap.nv-cumulativeLine").data([l]),V=U.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),W=U.select("g");if(V.append("g").attr("class","nv-interactive"),V.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),V.append("g").attr("class","nv-y nv-axis"),V.append("g").attr("class","nv-background"),V.append("g").attr("class","nv-linesWrap").style("pointer-events",T),V.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),V.append("g").attr("class","nv-legendWrap"),V.append("g").attr("class","nv-controlsWrap"),q&&(i.width(N),W.select(".nv-legendWrap").datum(l).call(i),m.top!=i.height()&&(m.top=i.height(),O=a.utils.availableHeight(p,L,m)),W.select(".nv-legendWrap").attr("transform","translate(0,"+-m.top+")")),u){var X=[{key:"Re-scale y-axis",disabled:!w}];j.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),W.select(".nv-controlsWrap").datum(X).attr("transform","translate(0,"+-m.top+")").call(j)}U.attr("transform","translate("+m.left+","+m.top+")"),t&&W.select(".nv-y.nv-axis").attr("transform","translate("+N+",0)");var Y=l.filter(function(a){return a.tempDisabled});U.select(".tempDisabled").remove(),Y.length&&U.append("text").attr("class","tempDisabled").attr("x",N/2).attr("y","-.71em").style("text-anchor","end").text(Y.map(function(a){return a.key}).join(", ")+" values cannot be calculated for this time period."),v&&(k.width(N).height(O).margin({left:m.left,top:m.top}).svgContainer(L).xScale(d),U.select(".nv-interactive").call(k)),V.select(".nv-background").append("rect"),W.select(".nv-background rect").attr("width",N).attr("height",O),f.y(function(a){return a.display.y}).width(N).height(O).color(l.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!l[b].disabled&&!l[b].tempDisabled}));var Z=W.select(".nv-linesWrap").datum(l.filter(function(a){return!a.disabled&&!a.tempDisabled}));Z.call(f),l.forEach(function(a,b){a.seriesIndex=b});var $=l.filter(function(a){return!a.disabled&&!!B(a)}),_=W.select(".nv-avgLinesWrap").selectAll("line").data($,function(a){return a.key}),ab=function(a){var b=e(B(a));return 0>b?0:b>O?O:b};_.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(a){return f.color()(a,a.seriesIndex)}).attr("x1",0).attr("x2",N).attr("y1",ab).attr("y2",ab),_.style("stroke-opacity",function(a){var b=e(B(a));return 0>b||b>O?0:1}).attr("x1",0).attr("x2",N).attr("y1",ab).attr("y2",ab),_.exit().remove();var bb=Z.selectAll(".nv-indexLine").data([G]);bb.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(Q),bb.attr("transform",function(a){return"translate("+F(a.i)+",0)"}).attr("height",O),r&&(g.scale(d)._ticks(a.utils.calcTicksX(N/70,l)).tickSize(-O,0),W.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),W.select(".nv-x.nv-axis").call(g)),s&&(h.scale(e)._ticks(a.utils.calcTicksY(O/36,l)).tickSize(-N,0),W.select(".nv-y.nv-axis").call(h)),W.select(".nv-background rect").on("click",function(){G.x=d3.mouse(this)[0],G.i=Math.round(F.invert(G.x)),y.index=G.i,C.stateChange(y),K()}),f.dispatch.on("elementClick",function(a){G.i=a.pointIndex,G.x=F(G.i),y.index=G.i,C.stateChange(y),K()}),j.dispatch.on("legendClick",function(a){a.disabled=!a.disabled,w=!a.disabled,y.rescaleY=w,C.stateChange(y),b.update()}),i.dispatch.on("stateChange",function(a){for(var c in a)y[c]=a[c];C.stateChange(y),b.update()}),k.dispatch.on("elementMousemove",function(c){f.clearHighlights();var d,e,i,j=[];if(l.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g,h){e=a.interactiveBisect(g.values,c.pointXValue,b.x()),f.highlightPoint(h,e,!0);var k=g.values[e];"undefined"!=typeof k&&("undefined"==typeof d&&(d=k),"undefined"==typeof i&&(i=b.xScale()(b.x()(k,e))),j.push({key:g.key,value:b.y()(k,e),color:n(g,g.seriesIndex)}))}),j.length>2){var o=b.yScale().invert(c.mouseY),p=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),q=.03*p,r=a.nearestValueIndex(j.map(function(a){return a.value}),o,q);null!==r&&(j[r].highlight=!0)}var s=g.tickFormat()(b.x()(d,e),e);k.tooltip.position({left:i+m.left,top:c.mouseY+m.top}).chartContainer(M.parentNode).valueFormatter(function(a){return h.tickFormat()(a)}).data({value:s,series:j})(),k.renderGuideLine(i)}),k.dispatch.on("elementMouseout",function(){f.clearHighlights()}),C.on("changeState",function(a){"undefined"!=typeof a.disabled&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),y.disabled=a.disabled),"undefined"!=typeof a.index&&(G.i=a.index,G.x=F(G.i),y.index=a.index,bb.data([G])),"undefined"!=typeof a.rescaleY&&(w=a.rescaleY),b.update()})}),H.renderEnd("cumulativeLineChart immediate"),b}function c(a,b){return K||(K=f.y()),b.map(function(b){if(!b.values)return b;var c=b.values[a];if(null==c)return b;var d=K(c,a);return-.95>d&&!E?(b.tempDisabled=!0,b):(b.tempDisabled=!1,b.values=b.values.map(function(a,b){return a.display={y:(K(a,b)-d)/(1+d)},a}),b)})}var d,e,f=a.models.line(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.models.legend(),k=a.interactiveGuideline(),l=a.models.tooltip(),m={top:30,right:30,bottom:50,left:60},n=a.utils.defaultColor(),o=null,p=null,q=!0,r=!0,s=!0,t=!1,u=!0,v=!1,w=!0,x=f.id(),y=a.utils.state(),z=null,A=null,B=function(a){return a.average},C=d3.dispatch("stateChange","changeState","renderEnd"),D=250,E=!1;y.index=0,y.rescaleY=w,g.orient("bottom").tickPadding(7),h.orient(t?"right":"left"),l.valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)}),j.updateState(!1);var F=d3.scale.linear(),G={i:0,x:0},H=a.utils.renderWatch(C,D),I=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),index:G.i,rescaleY:w}}},J=function(a){return function(b){void 0!==b.index&&(G.i=b.index),void 0!==b.rescaleY&&(w=b.rescaleY),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};f.dispatch.on("elementMouseover.tooltip",function(a){var c={x:b.x()(a.point),y:b.y()(a.point),color:a.point.color};a.point=c,l.data(a).position(a.pos).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(){l.hidden(!0)});var K=null;return b.dispatch=C,b.lines=f,b.legend=i,b.controls=j,b.xAxis=g,b.yAxis=h,b.interactiveLayer=k,b.state=y,b.tooltip=l,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return o},set:function(a){o=a}},height:{get:function(){return p},set:function(a){p=a}},rescaleY:{get:function(){return w},set:function(a){w=a}},showControls:{get:function(){return u},set:function(a){u=a}},showLegend:{get:function(){return q},set:function(a){q=a}},average:{get:function(){return B},set:function(a){B=a}},defaultState:{get:function(){return z},set:function(a){z=a}},noData:{get:function(){return A},set:function(a){A=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},noErrorCheck:{get:function(){return E},set:function(a){E=a}},tooltips:{get:function(){return l.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),l.enabled(!!b)}},tooltipContent:{get:function(){return l.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),l.contentGenerator(b)}},margin:{get:function(){return m},set:function(a){m.top=void 0!==a.top?a.top:m.top,m.right=void 0!==a.right?a.right:m.right,m.bottom=void 0!==a.bottom?a.bottom:m.bottom,m.left=void 0!==a.left?a.left:m.left}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),i.color(n)}},useInteractiveGuideline:{get:function(){return v},set:function(a){v=a,a===!0&&(b.interactive(!1),b.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,h.orient(a?"right":"left")}},duration:{get:function(){return D},set:function(a){D=a,f.duration(D),g.duration(D),h.duration(D),H.reset(D)}}}),a.utils.inheritOptions(b,f),a.utils.initOptions(b),b},a.models.discreteBar=function(){"use strict";function b(m){return y.reset(),m.each(function(b){var m=k-j.left-j.right,x=l-j.top-j.bottom;c=d3.select(this),a.utils.initSVG(c),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var z=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),y0:a.y0}})});n.domain(d||d3.merge(z).map(function(a){return a.x})).rangeBands(f||[0,m],.1),o.domain(e||d3.extent(d3.merge(z).map(function(a){return a.y}).concat(r))),o.range(t?g||[x-(o.domain()[0]<0?12:0),o.domain()[1]>0?12:0]:g||[x,0]),h=h||n,i=i||o.copy().range([o(0),o(0)]);{var A=c.selectAll("g.nv-wrap.nv-discretebar").data([b]),B=A.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar"),C=B.append("g");A.select("g")}C.append("g").attr("class","nv-groups"),A.attr("transform","translate("+j.left+","+j.top+")");var D=A.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});D.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),D.exit().watchTransition(y,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),D.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}),D.watchTransition(y,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var E=D.selectAll("g.nv-bar").data(function(a){return a.values});E.exit().remove();var F=E.enter().append("g").attr("transform",function(a,b){return"translate("+(n(p(a,b))+.05*n.rangeBand())+", "+o(0)+")"}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),v.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),v.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){v.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){v.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){v.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()});F.append("rect").attr("height",0).attr("width",.9*n.rangeBand()/b.length),t?(F.append("text").attr("text-anchor","middle"),E.select("text").text(function(a,b){return u(q(a,b))}).watchTransition(y,"discreteBar: bars text").attr("x",.9*n.rangeBand()/2).attr("y",function(a,b){return q(a,b)<0?o(q(a,b))-o(0)+12:-4})):E.selectAll("text").remove(),E.attr("class",function(a,b){return q(a,b)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(a,b){return a.color||s(a,b)}).style("stroke",function(a,b){return a.color||s(a,b)}).select("rect").attr("class",w).watchTransition(y,"discreteBar: bars rect").attr("width",.9*n.rangeBand()/b.length),E.watchTransition(y,"discreteBar: bars").attr("transform",function(a,b){var c=n(p(a,b))+.05*n.rangeBand(),d=q(a,b)<0?o(0):o(0)-o(q(a,b))<1?o(0)-1:o(q(a,b));return"translate("+c+", "+d+")"}).select("rect").attr("height",function(a,b){return Math.max(Math.abs(o(q(a,b))-o(e&&e[0]||0))||1)}),h=n.copy(),i=o.copy()}),y.renderEnd("discreteBar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=d3.scale.ordinal(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){return a.y},r=[0],s=a.utils.defaultColor(),t=!1,u=d3.format(",.2f"),v=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),w="discreteBar",x=250,y=a.utils.renderWatch(v,x);return b.dispatch=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},forceY:{get:function(){return r},set:function(a){r=a}},showValues:{get:function(){return t},set:function(a){t=a}},x:{get:function(){return p},set:function(a){p=a}},y:{get:function(){return q},set:function(a){q=a}},xScale:{get:function(){return n},set:function(a){n=a}},yScale:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},valueFormat:{get:function(){return u},set:function(a){u=a}},id:{get:function(){return m},set:function(a){m=a}},rectClass:{get:function(){return w},set:function(a){w=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},color:{get:function(){return s},set:function(b){s=a.utils.getColor(b)}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x)}}}),a.utils.initOptions(b),b},a.models.discreteBarChart=function(){"use strict";function b(h){return t.reset(),t.models(e),m&&t.models(f),n&&t.models(g),h.each(function(h){var l=d3.select(this);a.utils.initSVG(l);var q=a.utils.availableWidth(j,l,i),t=a.utils.availableHeight(k,l,i);if(b.update=function(){r.beforeUpdate(),l.transition().duration(s).call(b)},b.container=this,!(h&&h.length&&h.filter(function(a){return a.values.length}).length))return a.utils.noData(b,l),b;l.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var u=l.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([h]),v=u.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),w=v.append("defs"),x=u.select("g");v.append("g").attr("class","nv-x nv-axis"),v.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),v.append("g").attr("class","nv-barsWrap"),x.attr("transform","translate("+i.left+","+i.top+")"),o&&x.select(".nv-y.nv-axis").attr("transform","translate("+q+",0)"),e.width(q).height(t);var y=x.select(".nv-barsWrap").datum(h.filter(function(a){return!a.disabled}));if(y.transition().call(e),w.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),x.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(p?2:1)).attr("height",16).attr("x",-c.rangeBand()/(p?1:2)),m){f.scale(c)._ticks(a.utils.calcTicksX(q/100,h)).tickSize(-t,0),x.select(".nv-x.nv-axis").attr("transform","translate(0,"+(d.range()[0]+(e.showValues()&&d.domain()[0]<0?16:0))+")"),x.select(".nv-x.nv-axis").call(f);
-var z=x.select(".nv-x.nv-axis").selectAll("g");p&&z.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2==0?"5":"17")+")"})}n&&(g.scale(d)._ticks(a.utils.calcTicksY(t/36,h)).tickSize(-q,0),x.select(".nv-y.nv-axis").call(g)),x.select(".nv-zeroLine line").attr("x1",0).attr("x2",q).attr("y1",d(0)).attr("y2",d(0))}),t.renderEnd("discreteBar chart immediate"),b}var c,d,e=a.models.discreteBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.tooltip(),i={top:15,right:10,bottom:50,left:60},j=null,k=null,l=a.utils.getColor(),m=!0,n=!0,o=!1,p=!1,q=null,r=d3.dispatch("beforeUpdate","renderEnd"),s=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(o?"right":"left").tickFormat(d3.format(",.1f")),h.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).keyFormatter(function(a,b){return f.tickFormat()(a,b)});var t=a.utils.renderWatch(r,s);return e.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color},h.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){h.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){h.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=r,b.discretebar=e,b.xAxis=f,b.yAxis=g,b.tooltip=h,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return j},set:function(a){j=a}},height:{get:function(){return k},set:function(a){k=a}},staggerLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return m},set:function(a){m=a}},showYAxis:{get:function(){return n},set:function(a){n=a}},noData:{get:function(){return q},set:function(a){q=a}},tooltips:{get:function(){return h.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),h.enabled(!!b)}},tooltipContent:{get:function(){return h.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),h.contentGenerator(b)}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},duration:{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.duration(s),g.duration(s)}},color:{get:function(){return l},set:function(b){l=a.utils.getColor(b),e.color(l)}},rightAlignYAxis:{get:function(){return o},set:function(a){o=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.distribution=function(){"use strict";function b(k){return m.reset(),k.each(function(b){var k=(e-("x"===g?d.left+d.right:d.top+d.bottom),"x"==g?"y":"x"),l=d3.select(this);a.utils.initSVG(l),c=c||j;var n=l.selectAll("g.nv-distribution").data([b]),o=n.enter().append("g").attr("class","nvd3 nv-distribution"),p=(o.append("g"),n.select("g"));n.attr("transform","translate("+d.left+","+d.top+")");var q=p.selectAll("g.nv-dist").data(function(a){return a},function(a){return a.key});q.enter().append("g"),q.attr("class",function(a,b){return"nv-dist nv-series-"+b}).style("stroke",function(a,b){return i(a,b)});var r=q.selectAll("line.nv-dist"+g).data(function(a){return a.values});r.enter().append("line").attr(g+"1",function(a,b){return c(h(a,b))}).attr(g+"2",function(a,b){return c(h(a,b))}),m.transition(q.exit().selectAll("line.nv-dist"+g),"dist exit").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}).style("stroke-opacity",0).remove(),r.attr("class",function(a,b){return"nv-dist"+g+" nv-dist"+g+"-"+b}).attr(k+"1",0).attr(k+"2",f),m.transition(r,"dist").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}),c=j.copy()}),m.renderEnd("distribution immediate"),b}var c,d={top:0,right:0,bottom:0,left:0},e=400,f=8,g="x",h=function(a){return a[g]},i=a.utils.defaultColor(),j=d3.scale.linear(),k=250,l=d3.dispatch("renderEnd"),m=a.utils.renderWatch(l,k);return b.options=a.utils.optionsFunc.bind(b),b.dispatch=l,b.margin=function(a){return arguments.length?(d.top="undefined"!=typeof a.top?a.top:d.top,d.right="undefined"!=typeof a.right?a.right:d.right,d.bottom="undefined"!=typeof a.bottom?a.bottom:d.bottom,d.left="undefined"!=typeof a.left?a.left:d.left,b):d},b.width=function(a){return arguments.length?(e=a,b):e},b.axis=function(a){return arguments.length?(g=a,b):g},b.size=function(a){return arguments.length?(f=a,b):f},b.getData=function(a){return arguments.length?(h=d3.functor(a),b):h},b.scale=function(a){return arguments.length?(j=a,b):j},b.color=function(c){return arguments.length?(i=a.utils.getColor(c),b):i},b.duration=function(a){return arguments.length?(k=a,m.reset(k),b):k},b},a.models.furiousLegend=function(){"use strict";function b(p){function q(a,b){return"furious"!=o?"#000":m?a.disengaged?g(a,b):"#fff":m?void 0:a.disabled?g(a,b):"#fff"}function r(a,b){return m&&"furious"==o?a.disengaged?"#fff":g(a,b):a.disabled?"#fff":g(a,b)}return p.each(function(b){var p=d-c.left-c.right,s=d3.select(this);a.utils.initSVG(s);var t=s.selectAll("g.nv-legend").data([b]),u=(t.enter().append("g").attr("class","nvd3 nv-legend").append("g"),t.select("g"));t.attr("transform","translate("+c.left+","+c.top+")");var v,w=u.selectAll(".nv-series").data(function(a){return"furious"!=o?a:a.filter(function(a){return m?!0:!a.disengaged})}),x=w.enter().append("g").attr("class","nv-series");if("classic"==o)x.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),v=w.select("circle");else if("furious"==o){x.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),v=w.select("rect"),x.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var y=w.select(".nv-check-box");y.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",q(a,b))})}x.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var z=w.select("text.nv-legend-text");w.on("mouseover",function(a,b){n.legendMouseover(a,b)}).on("mouseout",function(a,b){n.legendMouseout(a,b)}).on("click",function(a,b){n.legendClick(a,b);var c=w.data();if(k){if("classic"==o)l?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==o)if(m)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!m){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}n.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=o||!m)&&(n.legendDblclick(a,b),k)){var c=w.data();c.forEach(function(a){a.disabled=!0,"furious"==o&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==o&&(a.userDisabled=a.disabled),n.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),w.classed("nv-disabled",function(a){return a.userDisabled}),w.exit().remove(),z.attr("fill",q).text(f);var A;switch(o){case"furious":A=23;break;case"classic":A=20}if(h){var B=[];w.each(function(){var b,c=d3.select(this).select("text");try{if(b=c.node().getComputedTextLength(),0>=b)throw Error()}catch(d){b=a.utils.calcApproxTextWidth(c)}B.push(b+i)});for(var C=0,D=0,E=[];p>D&&C<B.length;)E[C]=B[C],D+=B[C++];for(0===C&&(C=1);D>p&&C>1;){E=[],C--;for(var F=0;F<B.length;F++)B[F]>(E[F%C]||0)&&(E[F%C]=B[F]);D=E.reduce(function(a,b){return a+b})}for(var G=[],H=0,I=0;C>H;H++)G[H]=I,I+=E[H];w.attr("transform",function(a,b){return"translate("+G[b%C]+","+(5+Math.floor(b/C)*A)+")"}),j?u.attr("transform","translate("+(d-c.right-D)+","+c.top+")"):u.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(B.length/C)*A}else{var J,K=5,L=5,M=0;w.attr("transform",function(){var a=d3.select(this).select("text").node().getComputedTextLength()+i;return J=L,d<c.left+c.right+J+a&&(L=J=5,K+=A),L+=a,L>M&&(M=L),"translate("+J+","+K+")"}),u.attr("transform","translate("+(d-c.right-M)+","+c.top+")"),e=c.top+c.bottom+K+15}"furious"==o&&v.attr("width",function(a,b){return z[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),v.style("fill",r).style("stroke",function(a,b){return a.color||g(a,b)})}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.utils.getColor(),h=!0,i=28,j=!0,k=!0,l=!1,m=!1,n=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),o="classic";return b.dispatch=n,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},align:{get:function(){return h},set:function(a){h=a}},rightAlign:{get:function(){return j},set:function(a){j=a}},padding:{get:function(){return i},set:function(a){i=a}},updateState:{get:function(){return k},set:function(a){k=a}},radioButtonMode:{get:function(){return l},set:function(a){l=a}},expanded:{get:function(){return m},set:function(a){m=a}},vers:{get:function(){return o},set:function(a){o=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},set:function(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBar=function(){"use strict";function b(x){return x.each(function(b){w.reset(),k=d3.select(this);var x=a.utils.availableWidth(h,k,g),y=a.utils.availableHeight(i,k,g);a.utils.initSVG(k),l.domain(c||d3.extent(b[0].values.map(n).concat(p))),l.range(r?e||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]:e||[0,x]),m.domain(d||d3.extent(b[0].values.map(o).concat(q))).range(f||[y,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var z=k.selectAll("g.nv-wrap.nv-historicalBar-"+j).data([b[0].values]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+j),B=A.append("defs"),C=A.append("g"),D=z.select("g");C.append("g").attr("class","nv-bars"),z.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){u.chartClick({data:a,index:b,pos:d3.event,id:j})}),B.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),z.select("#nv-chart-clip-path-"+j+" rect").attr("width",x).attr("height",y),D.attr("clip-path",s?"url(#nv-chart-clip-path-"+j+")":"");var E=z.select(".nv-bars").selectAll(".nv-bar").data(function(a){return a},function(a,b){return n(a,b)});E.exit().remove(),E.enter().append("rect").attr("x",0).attr("y",function(b,c){return a.utils.NaNtoZero(m(Math.max(0,o(b,c))))}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.abs(m(o(b,c))-m(0)))}).attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).on("mouseover",function(a,b){v&&(d3.select(this).classed("hover",!0),u.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mouseout",function(a,b){v&&(d3.select(this).classed("hover",!1),u.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mousemove",function(a,b){v&&u.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){v&&(u.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}).on("dblclick",function(a,b){v&&(u.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}),E.attr("fill",function(a,b){return t(a,b)}).attr("class",function(a,b,c){return(o(a,b)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+c+"-"+b}).watchTransition(w,"bars").attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).attr("width",x/b[0].values.length*.9),E.watchTransition(w,"bars").attr("y",function(b,c){var d=o(b,c)<0?m(0):m(0)-m(o(b,c))<1?m(0)-1:m(o(b,c));return a.utils.NaNtoZero(d)}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.max(Math.abs(m(o(b,c))-m(0)),1))})}),w.renderEnd("historicalBar immediate"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=[],q=[0],r=!1,s=!0,t=a.utils.defaultColor(),u=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),v=!0,w=a.utils.renderWatch(u,0);return b.highlightPoint=function(a,b){k.select(".nv-bars .nv-bar-0-"+a).classed("hover",b)},b.clearHighlights=function(){k.select(".nv-bars .nv-bar.hover").classed("hover",!1)},b.dispatch=u,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},forceX:{get:function(){return p},set:function(a){p=a}},forceY:{get:function(){return q},set:function(a){q=a}},padData:{get:function(){return r},set:function(a){r=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},clipEdge:{get:function(){return s},set:function(a){s=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return v},set:function(a){v=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return t},set:function(b){t=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBarChart=function(b){"use strict";function c(b){return b.each(function(k){z.reset(),z.models(f),q&&z.models(g),r&&z.models(h);var w=d3.select(this),A=this;a.utils.initSVG(w);var B=a.utils.availableWidth(n,w,l),C=a.utils.availableHeight(o,w,l);if(c.update=function(){w.transition().duration(y).call(c)},c.container=this,u.disabled=k.map(function(a){return!!a.disabled}),!v){var D;v={};for(D in u)v[D]=u[D]instanceof Array?u[D].slice(0):u[D]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(c,w),c;w.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale();var E=w.selectAll("g.nv-wrap.nv-historicalBarChart").data([k]),F=E.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),G=E.select("g");F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-barsWrap"),F.append("g").attr("class","nv-legendWrap"),F.append("g").attr("class","nv-interactive"),p&&(i.width(B),G.select(".nv-legendWrap").datum(k).call(i),l.top!=i.height()&&(l.top=i.height(),C=a.utils.availableHeight(o,w,l)),E.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")),E.attr("transform","translate("+l.left+","+l.top+")"),s&&G.select(".nv-y.nv-axis").attr("transform","translate("+B+",0)"),t&&(j.width(B).height(C).margin({left:l.left,top:l.top}).svgContainer(w).xScale(d),E.select(".nv-interactive").call(j)),f.width(B).height(C).color(k.map(function(a,b){return a.color||m(a,b)}).filter(function(a,b){return!k[b].disabled}));var H=G.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));H.transition().call(f),q&&(g.scale(d)._ticks(a.utils.calcTicksX(B/100,k)).tickSize(-C,0),G.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),G.select(".nv-x.nv-axis").transition().call(g)),r&&(h.scale(e)._ticks(a.utils.calcTicksY(C/36,k)).tickSize(-B,0),G.select(".nv-y.nv-axis").transition().call(h)),j.dispatch.on("elementMousemove",function(b){f.clearHighlights();var d,e,i,n=[];k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g){e=a.interactiveBisect(g.values,b.pointXValue,c.x()),f.highlightPoint(e,!0);var h=g.values[e];void 0!==h&&(void 0===d&&(d=h),void 0===i&&(i=c.xScale()(c.x()(h,e))),n.push({key:g.key,value:c.y()(h,e),color:m(g,g.seriesIndex),data:g.values[e]}))});var o=g.tickFormat()(c.x()(d,e));j.tooltip.position({left:i+l.left,top:b.mouseY+l.top}).chartContainer(A.parentNode).valueFormatter(function(a){return h.tickFormat()(a)}).data({value:o,index:e,series:n})(),j.renderGuideLine(i)}),j.dispatch.on("elementMouseout",function(){x.tooltipHide(),f.clearHighlights()}),i.dispatch.on("legendClick",function(a){a.disabled=!a.disabled,k.filter(function(a){return!a.disabled}).length||k.map(function(a){return a.disabled=!1,E.selectAll(".nv-series").classed("disabled",!1),a}),u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),b.transition().call(c)}),i.dispatch.on("legendDblclick",function(a){k.forEach(function(a){a.disabled=!0}),a.disabled=!1,u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),c.update()}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),c.update()})}),z.renderEnd("historicalBarChart immediate"),c}var d,e,f=b||a.models.historicalBar(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right:90,bottom:50,left:90},m=a.utils.defaultColor(),n=null,o=null,p=!1,q=!0,r=!0,s=!1,t=!1,u={},v=null,w=null,x=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),y=250;g.orient("bottom").tickPadding(7),h.orient(s?"right":"left"),k.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)});var z=a.utils.renderWatch(x,0);return f.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:c.x()(a.data),value:c.y()(a.data),color:a.color},k.data(a).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(){k.hidden(!0)}),f.dispatch.on("elementMousemove.tooltip",function(){k.position({top:d3.event.pageY,left:d3.event.pageX})()}),c.dispatch=x,c.bars=f,c.legend=i,c.xAxis=g,c.yAxis=h,c.interactiveLayer=j,c.tooltip=k,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{width:{get:function(){return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a){o=a}},showLegend:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return q},set:function(a){q=a}},showYAxis:{get:function(){return r},set:function(a){r=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},tooltips:{get:function(){return k.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),k.enabled(!!b)}},tooltipContent:{get:function(){return k.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),k.contentGenerator(b)}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),i.color(m),f.color(m)}},duration:{get:function(){return y},set:function(a){y=a,z.reset(y),h.duration(y),g.duration(y)}},rightAlignYAxis:{get:function(){return s},set:function(a){s=a,h.orient(a?"right":"left")}},useInteractiveGuideline:{get:function(){return t},set:function(a){t=a,a===!0&&c.interactive(!1)}}}),a.utils.inheritOptions(c,f),a.utils.initOptions(c),c},a.models.ohlcBarChart=function(){var b=a.models.historicalBarChart(a.models.ohlcBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open<c.close?"2ca02c":"d62728";return'<h3 style="color: #'+d+'">'+a.value+"</h3><table><tr><td>open:</td><td>"+b.yAxis.tickFormat()(c.open)+"</td></tr><tr><td>close:</td><td>"+b.yAxis.tickFormat()(c.close)+"</td></tr><tr><td>high</td><td>"+b.yAxis.tickFormat()(c.high)+"</td></tr><tr><td>low:</td><td>"+b.yAxis.tickFormat()(c.low)+"</td></tr></table>"}),b},a.models.candlestickBarChart=function(){var b=a.models.historicalBarChart(a.models.candlestickBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open<c.close?"2ca02c":"d62728";return'<h3 style="color: #'+d+'">'+a.value+"</h3><table><tr><td>open:</td><td>"+b.yAxis.tickFormat()(c.open)+"</td></tr><tr><td>close:</td><td>"+b.yAxis.tickFormat()(c.close)+"</td></tr><tr><td>high</td><td>"+b.yAxis.tickFormat()(c.high)+"</td></tr><tr><td>low:</td><td>"+b.yAxis.tickFormat()(c.low)+"</td></tr></table>"}),b},a.models.legend=function(){"use strict";function b(p){function q(a,b){return"furious"!=o?"#000":m?a.disengaged?"#000":"#fff":m?void 0:(a.color||(a.color=g(a,b)),a.disabled?a.color:"#fff")}function r(a,b){return m&&"furious"==o&&a.disengaged?"#eee":a.color||g(a,b)}function s(a){return m&&"furious"==o?1:a.disabled?0:1}return p.each(function(b){var g=d-c.left-c.right,p=d3.select(this);a.utils.initSVG(p);var t=p.selectAll("g.nv-legend").data([b]),u=t.enter().append("g").attr("class","nvd3 nv-legend").append("g"),v=t.select("g");t.attr("transform","translate("+c.left+","+c.top+")");var w,x,y=v.selectAll(".nv-series").data(function(a){return"furious"!=o?a:a.filter(function(a){return m?!0:!a.disengaged})}),z=y.enter().append("g").attr("class","nv-series");switch(o){case"furious":x=23;break;case"classic":x=20}if("classic"==o)z.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),w=y.select("circle");else if("furious"==o){z.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),w=y.select(".nv-legend-symbol"),z.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var A=y.select(".nv-check-box");A.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",q(a,b))})}z.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var B=y.select("text.nv-legend-text");y.on("mouseover",function(a,b){n.legendMouseover(a,b)}).on("mouseout",function(a,b){n.legendMouseout(a,b)}).on("click",function(a,b){n.legendClick(a,b);var c=y.data();if(k){if("classic"==o)l?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==o)if(m)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!m){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}n.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=o||!m)&&(n.legendDblclick(a,b),k)){var c=y.data();c.forEach(function(a){a.disabled=!0,"furious"==o&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==o&&(a.userDisabled=a.disabled),n.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),y.classed("nv-disabled",function(a){return a.userDisabled}),y.exit().remove(),B.attr("fill",q).text(f);var C=0;if(h){var D=[];y.each(function(){var b,c=d3.select(this).select("text");try{if(b=c.node().getComputedTextLength(),0>=b)throw Error()}catch(d){b=a.utils.calcApproxTextWidth(c)}D.push(b+i)});var E=0,F=[];for(C=0;g>C&&E<D.length;)F[E]=D[E],C+=D[E++];for(0===E&&(E=1);C>g&&E>1;){F=[],E--;for(var G=0;G<D.length;G++)D[G]>(F[G%E]||0)&&(F[G%E]=D[G]);C=F.reduce(function(a,b){return a+b})}for(var H=[],I=0,J=0;E>I;I++)H[I]=J,J+=F[I];y.attr("transform",function(a,b){return"translate("+H[b%E]+","+(5+Math.floor(b/E)*x)+")"}),j?v.attr("transform","translate("+(d-c.right-C)+","+c.top+")"):v.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(D.length/E)*x}else{var K,L=5,M=5,N=0;y.attr("transform",function(){var a=d3.select(this).select("text").node().getComputedTextLength()+i;return K=M,d<c.left+c.right+K+a&&(M=K=5,L+=x),M+=a,M>N&&(N=M),K+N>C&&(C=K+N),"translate("+K+","+L+")"}),v.attr("transform","translate("+(d-c.right-N)+","+c.top+")"),e=c.top+c.bottom+L+15}if("furious"==o){w.attr("width",function(a,b){return B[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),u.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0);var O=v.select(".nv-legend-bg");O.transition().duration(300).attr("x",-x).attr("width",C+x-12).attr("height",e+10).attr("y",-c.top-10).attr("opacity",m?1:0)}w.style("fill",r).style("fill-opacity",s).style("stroke",r)}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=a.utils.getColor(),h=!0,i=32,j=!0,k=!0,l=!1,m=!1,n=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),o="classic";return b.dispatch=n,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},align:{get:function(){return h},set:function(a){h=a}},rightAlign:{get:function(){return j},set:function(a){j=a}},padding:{get:function(){return i},set:function(a){i=a}},updateState:{get:function(){return k},set:function(a){k=a}},radioButtonMode:{get:function(){return l},set:function(a){l=a}},expanded:{get:function(){return m},set:function(a){m=a}},vers:{get:function(){return o},set:function(a){o=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return g},set:function(b){g=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.line=function(){"use strict";function b(r){return v.reset(),v.models(e),r.each(function(b){i=d3.select(this);var r=a.utils.availableWidth(g,i,f),s=a.utils.availableHeight(h,i,f);a.utils.initSVG(i),c=e.xScale(),d=e.yScale(),t=t||c,u=u||d;var w=i.selectAll("g.nv-wrap.nv-line").data([b]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),y=x.append("defs"),z=x.append("g"),A=w.select("g");z.append("g").attr("class","nv-groups"),z.append("g").attr("class","nv-scatterWrap"),w.attr("transform","translate("+f.left+","+f.top+")"),e.width(r).height(s);var B=w.select(".nv-scatterWrap");B.call(e),y.append("clipPath").attr("id","nv-edge-clip-"+e.id()).append("rect"),w.select("#nv-edge-clip-"+e.id()+" rect").attr("width",r).attr("height",s>0?s:0),A.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":""),B.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":"");var C=w.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});C.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",function(a){return a.strokeWidth||j}).style("fill-opacity",1e-6),C.exit().remove(),C.attr("class",function(a,b){return(a.classed||"")+" nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return k(a,b)}).style("stroke",function(a,b){return k(a,b)}),C.watchTransition(v,"line: groups").style("stroke-opacity",1).style("fill-opacity",function(a){return a.fillOpacity||.5});var D=C.selectAll("path.nv-area").data(function(a){return o(a)?[a]:[]});D.enter().append("path").attr("class","nv-area").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y0(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))}).y1(function(){return u(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])}),C.exit().selectAll("path.nv-area").remove(),D.watchTransition(v,"line: areaPaths").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y0(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))}).y1(function(){return d(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])});var E=C.selectAll("path.nv-line").data(function(a){return[a.values]});E.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))})),E.watchTransition(v,"line: linePaths").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))})),t=c.copy(),u=d.copy()}),v.renderEnd("line immediate"),b}var c,d,e=a.models.scatter(),f={top:0,right:0,bottom:0,left:0},g=960,h=500,i=null,j=1.5,k=a.utils.defaultColor(),l=function(a){return a.x},m=function(a){return a.y},n=function(a,b){return!isNaN(m(a,b))&&null!==m(a,b)},o=function(a){return a.area},p=!1,q="linear",r=250,s=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");e.pointSize(16).pointDomain([16,256]);var t,u,v=a.utils.renderWatch(s,r);return b.dispatch=s,b.scatter=e,e.dispatch.on("elementClick",function(){s.elementClick.apply(this,arguments)}),e.dispatch.on("elementMouseover",function(){s.elementMouseover.apply(this,arguments)}),e.dispatch.on("elementMouseout",function(){s.elementMouseout.apply(this,arguments)}),b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},defined:{get:function(){return n},set:function(a){n=a}},interpolate:{get:function(){return q},set:function(a){q=a}},clipEdge:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},duration:{get:function(){return r},set:function(a){r=a,v.reset(r),e.duration(r)}},isArea:{get:function(){return o},set:function(a){o=d3.functor(a)}},x:{get:function(){return l},set:function(a){l=a,e.x(a)}},y:{get:function(){return m},set:function(a){m=a,e.y(a)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.lineChart=function(){"use strict";function b(j){return y.reset(),y.models(e),p&&y.models(f),q&&y.models(g),j.each(function(j){var v=d3.select(this),y=this;a.utils.initSVG(v);var B=a.utils.availableWidth(m,v,k),C=a.utils.availableHeight(n,v,k);if(b.update=function(){0===x?v.call(b):v.transition().duration(x).call(b)},b.container=this,t.setter(A(j),b.update).getter(z(j)).update(),t.disabled=j.map(function(a){return!!a.disabled}),!u){var D;u={};for(D in t)u[D]=t[D]instanceof Array?t[D].slice(0):t[D]
-}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,v),b;v.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var E=v.selectAll("g.nv-wrap.nv-lineChart").data([j]),F=E.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),G=E.select("g");F.append("rect").style("opacity",0),F.append("g").attr("class","nv-x nv-axis"),F.append("g").attr("class","nv-y nv-axis"),F.append("g").attr("class","nv-linesWrap"),F.append("g").attr("class","nv-legendWrap"),F.append("g").attr("class","nv-interactive"),G.select("rect").attr("width",B).attr("height",C>0?C:0),o&&(h.width(B),G.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),C=a.utils.availableHeight(n,v,k)),E.select(".nv-legendWrap").attr("transform","translate(0,"+-k.top+")")),E.attr("transform","translate("+k.left+","+k.top+")"),r&&G.select(".nv-y.nv-axis").attr("transform","translate("+B+",0)"),s&&(i.width(B).height(C).margin({left:k.left,top:k.top}).svgContainer(v).xScale(c),E.select(".nv-interactive").call(i)),e.width(B).height(C).color(j.map(function(a,b){return a.color||l(a,b)}).filter(function(a,b){return!j[b].disabled}));var H=G.select(".nv-linesWrap").datum(j.filter(function(a){return!a.disabled}));H.call(e),p&&(f.scale(c)._ticks(a.utils.calcTicksX(B/100,j)).tickSize(-C,0),G.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),G.select(".nv-x.nv-axis").call(f)),q&&(g.scale(d)._ticks(a.utils.calcTicksY(C/36,j)).tickSize(-B,0),G.select(".nv-y.nv-axis").call(g)),h.dispatch.on("stateChange",function(a){for(var c in a)t[c]=a[c];w.stateChange(t),b.update()}),i.dispatch.on("elementMousemove",function(c){e.clearHighlights();var d,h,m,n=[];if(j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(f,g){h=a.interactiveBisect(f.values,c.pointXValue,b.x());var i=f.values[h],j=b.y()(i,h);null!=j&&e.highlightPoint(g,h,!0),void 0!==i&&(void 0===d&&(d=i),void 0===m&&(m=b.xScale()(b.x()(i,h))),n.push({key:f.key,value:j,color:l(f,f.seriesIndex)}))}),n.length>2){var o=b.yScale().invert(c.mouseY),p=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),q=.03*p,r=a.nearestValueIndex(n.map(function(a){return a.value}),o,q);null!==r&&(n[r].highlight=!0)}var s=f.tickFormat()(b.x()(d,h));i.tooltip.position({left:c.mouseX+k.left,top:c.mouseY+k.top}).chartContainer(y.parentNode).valueFormatter(function(a){return null==a?"N/A":g.tickFormat()(a)}).data({value:s,index:h,series:n})(),i.renderGuideLine(m)}),i.dispatch.on("elementClick",function(c){var d,f=[];j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(e){var g=a.interactiveBisect(e.values,c.pointXValue,b.x()),h=e.values[g];if("undefined"!=typeof h){"undefined"==typeof d&&(d=b.xScale()(b.x()(h,g)));var i=b.yScale()(b.y()(h,g));f.push({point:h,pointIndex:g,pos:[d,i],seriesIndex:e.seriesIndex,series:e})}}),e.dispatch.elementClick(f)}),i.dispatch.on("elementMouseout",function(){e.clearHighlights()}),w.on("changeState",function(a){"undefined"!=typeof a.disabled&&j.length===a.disabled.length&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),t.disabled=a.disabled),b.update()})}),y.renderEnd("lineChart immediate"),b}var c,d,e=a.models.line(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.interactiveGuideline(),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=a.utils.defaultColor(),m=null,n=null,o=!0,p=!0,q=!0,r=!1,s=!1,t=a.utils.state(),u=null,v=null,w=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),x=250;f.orient("bottom").tickPadding(7),g.orient(r?"right":"left"),j.valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)});var y=a.utils.renderWatch(w,x),z=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},A=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.dispatch.on("elementMouseover.tooltip",function(a){j.data(a).position(a.pos).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),b.dispatch=w,b.lines=e,b.legend=h,b.xAxis=f,b.yAxis=g,b.interactiveLayer=i,b.tooltip=j,b.dispatch=w,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return o},set:function(a){o=a}},showXAxis:{get:function(){return p},set:function(a){p=a}},showYAxis:{get:function(){return q},set:function(a){q=a}},defaultState:{get:function(){return u},set:function(a){u=a}},noData:{get:function(){return v},set:function(a){v=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x),e.duration(x),f.duration(x),g.duration(x)}},color:{get:function(){return l},set:function(b){l=a.utils.getColor(b),h.color(l),e.color(l)}},rightAlignYAxis:{get:function(){return r},set:function(a){r=a,g.orient(r?"right":"left")}},useInteractiveGuideline:{get:function(){return s},set:function(a){s=a,s&&(e.interactive(!1),e.useVoronoi(!1))}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.linePlusBarChart=function(){"use strict";function b(v){return v.each(function(v){function J(a){var b=+("e"==a),c=b?1:-1,d=X/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function S(){u.empty()||u.extent(I),kb.data([u.empty()?e.domain():I]).each(function(a){var b=e(a[0])-e.range()[0],c=e.range()[1]-e(a[1]);d3.select(this).select(".left").attr("width",0>b?0:b),d3.select(this).select(".right").attr("x",e(a[1])).attr("width",0>c?0:c)})}function T(){I=u.empty()?null:u.extent(),c=u.empty()?e.domain():u.extent(),K.brush({extent:c,brush:u}),S(),l.width(V).height(W).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),j.width(V).height(W).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var b=db.select(".nv-focus .nv-barsWrap").datum(Z.length?Z.map(function(a){return{key:a.key,values:a.values.filter(function(a,b){return l.x()(a,b)>=c[0]&&l.x()(a,b)<=c[1]})}}):[{values:[]}]),h=db.select(".nv-focus .nv-linesWrap").datum($[0].disabled?[{values:[]}]:$.map(function(a){return{area:a.area,fillOpacity:a.fillOpacity,key:a.key,values:a.values.filter(function(a,b){return j.x()(a,b)>=c[0]&&j.x()(a,b)<=c[1]})}}));d=Z.length?l.xScale():j.xScale(),n.scale(d)._ticks(a.utils.calcTicksX(V/100,v)).tickSize(-W,0),n.domain([Math.ceil(c[0]),Math.floor(c[1])]),db.select(".nv-x.nv-axis").transition().duration(L).call(n),b.transition().duration(L).call(l),h.transition().duration(L).call(j),db.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),p.scale(f)._ticks(a.utils.calcTicksY(W/36,v)).tickSize(-V,0),q.scale(g)._ticks(a.utils.calcTicksY(W/36,v)).tickSize(Z.length?0:-V,0),db.select(".nv-focus .nv-y1.nv-axis").style("opacity",Z.length?1:0),db.select(".nv-focus .nv-y2.nv-axis").style("opacity",$.length&&!$[0].disabled?1:0).attr("transform","translate("+d.range()[1]+",0)"),db.select(".nv-focus .nv-y1.nv-axis").transition().duration(L).call(p),db.select(".nv-focus .nv-y2.nv-axis").transition().duration(L).call(q)}var U=d3.select(this);a.utils.initSVG(U);var V=a.utils.availableWidth(y,U,w),W=a.utils.availableHeight(z,U,w)-(E?H:0),X=H-x.top-x.bottom;if(b.update=function(){U.transition().duration(L).call(b)},b.container=this,M.setter(R(v),b.update).getter(Q(v)).update(),M.disabled=v.map(function(a){return!!a.disabled}),!N){var Y;N={};for(Y in M)N[Y]=M[Y]instanceof Array?M[Y].slice(0):M[Y]}if(!(v&&v.length&&v.filter(function(a){return a.values.length}).length))return a.utils.noData(b,U),b;U.selectAll(".nv-noData").remove();var Z=v.filter(function(a){return!a.disabled&&a.bar}),$=v.filter(function(a){return!a.bar});d=l.xScale(),e=o.scale(),f=l.yScale(),g=j.yScale(),h=m.yScale(),i=k.yScale();var _=v.filter(function(a){return!a.disabled&&a.bar}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})}),ab=v.filter(function(a){return!a.disabled&&!a.bar}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})});d.range([0,V]),e.domain(d3.extent(d3.merge(_.concat(ab)),function(a){return a.x})).range([0,V]);var bb=U.selectAll("g.nv-wrap.nv-linePlusBar").data([v]),cb=bb.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),db=bb.select("g");cb.append("g").attr("class","nv-legendWrap");var eb=cb.append("g").attr("class","nv-focus");eb.append("g").attr("class","nv-x nv-axis"),eb.append("g").attr("class","nv-y1 nv-axis"),eb.append("g").attr("class","nv-y2 nv-axis"),eb.append("g").attr("class","nv-barsWrap"),eb.append("g").attr("class","nv-linesWrap");var fb=cb.append("g").attr("class","nv-context");if(fb.append("g").attr("class","nv-x nv-axis"),fb.append("g").attr("class","nv-y1 nv-axis"),fb.append("g").attr("class","nv-y2 nv-axis"),fb.append("g").attr("class","nv-barsWrap"),fb.append("g").attr("class","nv-linesWrap"),fb.append("g").attr("class","nv-brushBackground"),fb.append("g").attr("class","nv-x nv-brush"),D){var gb=t.align()?V/2:V,hb=t.align()?gb:0;t.width(gb),db.select(".nv-legendWrap").datum(v.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.originalKey+(a.bar?O:P),a})).call(t),w.top!=t.height()&&(w.top=t.height(),W=a.utils.availableHeight(z,U,w)-H),db.select(".nv-legendWrap").attr("transform","translate("+hb+","+-w.top+")")}bb.attr("transform","translate("+w.left+","+w.top+")"),db.select(".nv-context").style("display",E?"initial":"none"),m.width(V).height(X).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),k.width(V).height(X).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var ib=db.select(".nv-context .nv-barsWrap").datum(Z.length?Z:[{values:[]}]),jb=db.select(".nv-context .nv-linesWrap").datum($[0].disabled?[{values:[]}]:$);db.select(".nv-context").attr("transform","translate(0,"+(W+w.bottom+x.top)+")"),ib.transition().call(m),jb.transition().call(k),G&&(o._ticks(a.utils.calcTicksX(V/100,v)).tickSize(-X,0),db.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+h.range()[0]+")"),db.select(".nv-context .nv-x.nv-axis").transition().call(o)),F&&(r.scale(h)._ticks(X/36).tickSize(-V,0),s.scale(i)._ticks(X/36).tickSize(Z.length?0:-V,0),db.select(".nv-context .nv-y3.nv-axis").style("opacity",Z.length?1:0).attr("transform","translate(0,"+e.range()[0]+")"),db.select(".nv-context .nv-y2.nv-axis").style("opacity",$.length?1:0).attr("transform","translate("+e.range()[1]+",0)"),db.select(".nv-context .nv-y1.nv-axis").transition().call(r),db.select(".nv-context .nv-y2.nv-axis").transition().call(s)),u.x(e).on("brush",T),I&&u.extent(I);var kb=db.select(".nv-brushBackground").selectAll("g").data([I||u.extent()]),lb=kb.enter().append("g");lb.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",X),lb.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",X);var mb=db.select(".nv-x.nv-brush").call(u);mb.selectAll("rect").attr("height",X),mb.selectAll(".resize").append("path").attr("d",J),t.dispatch.on("stateChange",function(a){for(var c in a)M[c]=a[c];K.stateChange(M),b.update()}),K.on("changeState",function(a){"undefined"!=typeof a.disabled&&(v.forEach(function(b,c){b.disabled=a.disabled[c]}),M.disabled=a.disabled),b.update()}),T()}),b}var c,d,e,f,g,h,i,j=a.models.line(),k=a.models.line(),l=a.models.historicalBar(),m=a.models.historicalBar(),n=a.models.axis(),o=a.models.axis(),p=a.models.axis(),q=a.models.axis(),r=a.models.axis(),s=a.models.axis(),t=a.models.legend(),u=d3.svg.brush(),v=a.models.tooltip(),w={top:30,right:30,bottom:30,left:60},x={top:0,right:30,bottom:20,left:60},y=null,z=null,A=function(a){return a.x},B=function(a){return a.y},C=a.utils.defaultColor(),D=!0,E=!0,F=!1,G=!0,H=50,I=null,J=null,K=d3.dispatch("brush","stateChange","changeState"),L=0,M=a.utils.state(),N=null,O=" (left axis)",P=" (right axis)";j.clipEdge(!0),k.interactive(!1),n.orient("bottom").tickPadding(5),p.orient("left"),q.orient("right"),o.orient("bottom").tickPadding(5),r.orient("left"),s.orient("right"),v.headerEnabled(!0).headerFormatter(function(a,b){return n.tickFormat()(a,b)});var Q=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},R=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return j.dispatch.on("elementMouseover.tooltip",function(a){v.duration(100).valueFormatter(function(a,b){return q.tickFormat()(a,b)}).data(a).position(a.pos).hidden(!1)}),j.dispatch.on("elementMouseout.tooltip",function(){v.hidden(!0)}),l.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={value:b.y()(a.data),color:a.color},v.duration(0).valueFormatter(function(a,b){return p.tickFormat()(a,b)}).data(a).hidden(!1)}),l.dispatch.on("elementMouseout.tooltip",function(){v.hidden(!0)}),l.dispatch.on("elementMousemove.tooltip",function(){v.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=K,b.legend=t,b.lines=j,b.lines2=k,b.bars=l,b.bars2=m,b.xAxis=n,b.x2Axis=o,b.y1Axis=p,b.y2Axis=q,b.y3Axis=r,b.y4Axis=s,b.tooltip=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return y},set:function(a){y=a}},height:{get:function(){return z},set:function(a){z=a}},showLegend:{get:function(){return D},set:function(a){D=a}},brushExtent:{get:function(){return I},set:function(a){I=a}},noData:{get:function(){return J},set:function(a){J=a}},focusEnable:{get:function(){return E},set:function(a){E=a}},focusHeight:{get:function(){return H},set:function(a){H=a}},focusShowAxisX:{get:function(){return G},set:function(a){G=a}},focusShowAxisY:{get:function(){return F},set:function(a){F=a}},legendLeftAxisHint:{get:function(){return O},set:function(a){O=a}},legendRightAxisHint:{get:function(){return P},set:function(a){P=a}},tooltips:{get:function(){return v.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),v.enabled(!!b)}},tooltipContent:{get:function(){return v.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),v.contentGenerator(b)}},margin:{get:function(){return w},set:function(a){w.top=void 0!==a.top?a.top:w.top,w.right=void 0!==a.right?a.right:w.right,w.bottom=void 0!==a.bottom?a.bottom:w.bottom,w.left=void 0!==a.left?a.left:w.left}},duration:{get:function(){return L},set:function(a){L=a}},color:{get:function(){return C},set:function(b){C=a.utils.getColor(b),t.color(C)}},x:{get:function(){return A},set:function(a){A=a,j.x(a),k.x(a),l.x(a),m.x(a)}},y:{get:function(){return B},set:function(a){B=a,j.y(a),k.y(a),l.y(a),m.y(a)}}}),a.utils.inheritOptions(b,j),a.utils.initOptions(b),b},a.models.lineWithFocusChart=function(){"use strict";function b(o){return o.each(function(o){function z(a){var b=+("e"==a),c=b?1:-1,d=M/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function G(){n.empty()||n.extent(y),U.data([n.empty()?e.domain():y]).each(function(a){var b=e(a[0])-c.range()[0],d=K-e(a[1]);d3.select(this).select(".left").attr("width",0>b?0:b),d3.select(this).select(".right").attr("x",e(a[1])).attr("width",0>d?0:d)})}function H(){y=n.empty()?null:n.extent();var a=n.empty()?e.domain():n.extent();if(!(Math.abs(a[0]-a[1])<=1)){A.brush({extent:a,brush:n}),G();var b=Q.select(".nv-focus .nv-linesWrap").datum(o.filter(function(a){return!a.disabled}).map(function(b){return{key:b.key,area:b.area,values:b.values.filter(function(b,c){return g.x()(b,c)>=a[0]&&g.x()(b,c)<=a[1]})}}));b.transition().duration(B).call(g),Q.select(".nv-focus .nv-x.nv-axis").transition().duration(B).call(i),Q.select(".nv-focus .nv-y.nv-axis").transition().duration(B).call(j)}}var I=d3.select(this),J=this;a.utils.initSVG(I);var K=a.utils.availableWidth(t,I,q),L=a.utils.availableHeight(u,I,q)-v,M=v-r.top-r.bottom;if(b.update=function(){I.transition().duration(B).call(b)},b.container=this,C.setter(F(o),b.update).getter(E(o)).update(),C.disabled=o.map(function(a){return!!a.disabled}),!D){var N;D={};for(N in C)D[N]=C[N]instanceof Array?C[N].slice(0):C[N]}if(!(o&&o.length&&o.filter(function(a){return a.values.length}).length))return a.utils.noData(b,I),b;I.selectAll(".nv-noData").remove(),c=g.xScale(),d=g.yScale(),e=h.xScale(),f=h.yScale();var O=I.selectAll("g.nv-wrap.nv-lineWithFocusChart").data([o]),P=O.enter().append("g").attr("class","nvd3 nv-wrap nv-lineWithFocusChart").append("g"),Q=O.select("g");P.append("g").attr("class","nv-legendWrap");var R=P.append("g").attr("class","nv-focus");R.append("g").attr("class","nv-x nv-axis"),R.append("g").attr("class","nv-y nv-axis"),R.append("g").attr("class","nv-linesWrap"),R.append("g").attr("class","nv-interactive");var S=P.append("g").attr("class","nv-context");S.append("g").attr("class","nv-x nv-axis"),S.append("g").attr("class","nv-y nv-axis"),S.append("g").attr("class","nv-linesWrap"),S.append("g").attr("class","nv-brushBackground"),S.append("g").attr("class","nv-x nv-brush"),x&&(m.width(K),Q.select(".nv-legendWrap").datum(o).call(m),q.top!=m.height()&&(q.top=m.height(),L=a.utils.availableHeight(u,I,q)-v),Q.select(".nv-legendWrap").attr("transform","translate(0,"+-q.top+")")),O.attr("transform","translate("+q.left+","+q.top+")"),w&&(p.width(K).height(L).margin({left:q.left,top:q.top}).svgContainer(I).xScale(c),O.select(".nv-interactive").call(p)),g.width(K).height(L).color(o.map(function(a,b){return a.color||s(a,b)}).filter(function(a,b){return!o[b].disabled})),h.defined(g.defined()).width(K).height(M).color(o.map(function(a,b){return a.color||s(a,b)}).filter(function(a,b){return!o[b].disabled})),Q.select(".nv-context").attr("transform","translate(0,"+(L+q.bottom+r.top)+")");var T=Q.select(".nv-context .nv-linesWrap").datum(o.filter(function(a){return!a.disabled}));d3.transition(T).call(h),i.scale(c)._ticks(a.utils.calcTicksX(K/100,o)).tickSize(-L,0),j.scale(d)._ticks(a.utils.calcTicksY(L/36,o)).tickSize(-K,0),Q.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+L+")"),n.x(e).on("brush",function(){H()}),y&&n.extent(y);var U=Q.select(".nv-brushBackground").selectAll("g").data([y||n.extent()]),V=U.enter().append("g");V.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",M),V.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",M);var W=Q.select(".nv-x.nv-brush").call(n);W.selectAll("rect").attr("height",M),W.selectAll(".resize").append("path").attr("d",z),H(),k.scale(e)._ticks(a.utils.calcTicksX(K/100,o)).tickSize(-M,0),Q.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),d3.transition(Q.select(".nv-context .nv-x.nv-axis")).call(k),l.scale(f)._ticks(a.utils.calcTicksY(M/36,o)).tickSize(-K,0),d3.transition(Q.select(".nv-context .nv-y.nv-axis")).call(l),Q.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),m.dispatch.on("stateChange",function(a){for(var c in a)C[c]=a[c];A.stateChange(C),b.update()}),p.dispatch.on("elementMousemove",function(c){g.clearHighlights();var d,f,h,k=[];if(o.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(i,j){var l=n.empty()?e.domain():n.extent(),m=i.values.filter(function(a,b){return g.x()(a,b)>=l[0]&&g.x()(a,b)<=l[1]});f=a.interactiveBisect(m,c.pointXValue,g.x());var o=m[f],p=b.y()(o,f);null!=p&&g.highlightPoint(j,f,!0),void 0!==o&&(void 0===d&&(d=o),void 0===h&&(h=b.xScale()(b.x()(o,f))),k.push({key:i.key,value:b.y()(o,f),color:s(i,i.seriesIndex)}))}),k.length>2){var l=b.yScale().invert(c.mouseY),m=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),r=.03*m,t=a.nearestValueIndex(k.map(function(a){return a.value}),l,r);null!==t&&(k[t].highlight=!0)}var u=i.tickFormat()(b.x()(d,f));p.tooltip.position({left:c.mouseX+q.left,top:c.mouseY+q.top}).chartContainer(J.parentNode).valueFormatter(function(a){return null==a?"N/A":j.tickFormat()(a)}).data({value:u,index:f,series:k})(),p.renderGuideLine(h)}),p.dispatch.on("elementMouseout",function(){g.clearHighlights()}),A.on("changeState",function(a){"undefined"!=typeof a.disabled&&o.forEach(function(b,c){b.disabled=a.disabled[c]}),b.update()})}),b}var c,d,e,f,g=a.models.line(),h=a.models.line(),i=a.models.axis(),j=a.models.axis(),k=a.models.axis(),l=a.models.axis(),m=a.models.legend(),n=d3.svg.brush(),o=a.models.tooltip(),p=a.interactiveGuideline(),q={top:30,right:30,bottom:30,left:60},r={top:0,right:30,bottom:20,left:60},s=a.utils.defaultColor(),t=null,u=null,v=50,w=!1,x=!0,y=null,z=null,A=d3.dispatch("brush","stateChange","changeState"),B=250,C=a.utils.state(),D=null;g.clipEdge(!0).duration(0),h.interactive(!1),i.orient("bottom").tickPadding(5),j.orient("left"),k.orient("bottom").tickPadding(5),l.orient("left"),o.valueFormatter(function(a,b){return j.tickFormat()(a,b)}).headerFormatter(function(a,b){return i.tickFormat()(a,b)});var E=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},F=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return g.dispatch.on("elementMouseover.tooltip",function(a){o.data(a).position(a.pos).hidden(!1)}),g.dispatch.on("elementMouseout.tooltip",function(){o.hidden(!0)}),b.dispatch=A,b.legend=m,b.lines=g,b.lines2=h,b.xAxis=i,b.yAxis=j,b.x2Axis=k,b.y2Axis=l,b.interactiveLayer=p,b.tooltip=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return t},set:function(a){t=a}},height:{get:function(){return u},set:function(a){u=a}},focusHeight:{get:function(){return v},set:function(a){v=a}},showLegend:{get:function(){return x},set:function(a){x=a}},brushExtent:{get:function(){return y},set:function(a){y=a}},defaultState:{get:function(){return D},set:function(a){D=a}},noData:{get:function(){return z},set:function(a){z=a}},tooltips:{get:function(){return o.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),o.enabled(!!b)}},tooltipContent:{get:function(){return o.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),o.contentGenerator(b)}},margin:{get:function(){return q},set:function(a){q.top=void 0!==a.top?a.top:q.top,q.right=void 0!==a.right?a.right:q.right,q.bottom=void 0!==a.bottom?a.bottom:q.bottom,q.left=void 0!==a.left?a.left:q.left}},color:{get:function(){return s},set:function(b){s=a.utils.getColor(b),m.color(s)}},interpolate:{get:function(){return g.interpolate()},set:function(a){g.interpolate(a),h.interpolate(a)}},xTickFormat:{get:function(){return i.tickFormat()},set:function(a){i.tickFormat(a),k.tickFormat(a)}},yTickFormat:{get:function(){return j.tickFormat()},set:function(a){j.tickFormat(a),l.tickFormat(a)}},duration:{get:function(){return B},set:function(a){B=a,j.duration(B),l.duration(B),i.duration(B),k.duration(B)}},x:{get:function(){return g.x()},set:function(a){g.x(a),h.x(a)}},y:{get:function(){return g.y()},set:function(a){g.y(a),h.y(a)}},useInteractiveGuideline:{get:function(){return w},set:function(a){w=a,w&&(g.interactive(!1),g.useVoronoi(!1))}}}),a.utils.inheritOptions(b,g),a.utils.initOptions(b),b},a.models.multiBar=function(){"use strict";function b(E){return C.reset(),E.each(function(b){var E=k-j.left-j.right,F=l-j.top-j.bottom;p=d3.select(this),a.utils.initSVG(p);var G=0;if(x&&b.length&&(x=[{values:b[0].values.map(function(a){return{x:a.x,y:0,series:a.series,size:.01}})}]),u){var H=d3.layout.stack().offset(v).values(function(a){return a.values}).y(r)(!b.length&&x?x:b);H.forEach(function(a,c){a.nonStackable?(b[c].nonStackableSeries=G++,H[c]=b[c]):c>0&&H[c-1].nonStackable&&H[c].values.map(function(a,b){a.y0-=H[c-1].values[b].y,a.y1=a.y0+a.y})}),b=H}b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),u&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a,f){if(!b[f].nonStackable){var g=a.values[c];g.size=Math.abs(g.y),g.y<0?(g.y1=e,e-=g.size):(g.y1=g.size+d,d+=g.size)}})});var I=d&&e?[]:b.map(function(a,b){return a.values.map(function(a,c){return{x:q(a,c),y:r(a,c),y0:a.y0,y1:a.y1,idx:b}})});m.domain(d||d3.merge(I).map(function(a){return a.x})).rangeBands(f||[0,E],A),n.domain(e||d3.extent(d3.merge(I).map(function(a){var c=a.y;return u&&!b[a.idx].nonStackable&&(c=a.y>0?a.y1:a.y1+a.y),c}).concat(s))).range(g||[F,0]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]:[-1,1]),n.domain()[0]===n.domain()[1]&&n.domain(n.domain()[0]?[n.domain()[0]+.01*n.domain()[0],n.domain()[1]-.01*n.domain()[1]]:[-1,1]),h=h||m,i=i||n;var J=p.selectAll("g.nv-wrap.nv-multibar").data([b]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),L=K.append("defs"),M=K.append("g"),N=J.select("g");M.append("g").attr("class","nv-groups"),J.attr("transform","translate("+j.left+","+j.top+")"),L.append("clipPath").attr("id","nv-edge-clip-"+o).append("rect"),J.select("#nv-edge-clip-"+o+" rect").attr("width",E).attr("height",F),N.attr("clip-path",t?"url(#nv-edge-clip-"+o+")":"");var O=J.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});O.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var P=C.transition(O.exit().selectAll("rect.nv-bar"),"multibarExit",Math.min(100,z)).attr("y",function(a){var c=i(0)||0;return u&&b[a.series]&&!b[a.series].nonStackable&&(c=i(a.y0)),c}).attr("height",0).remove();P.delay&&P.delay(function(a,b){var c=b*(z/(D+1))-b;return c}),O.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return w(a,b)}).style("stroke",function(a,b){return w(a,b)}),O.style("stroke-opacity",1).style("fill-opacity",.75);var Q=O.selectAll("rect.nv-bar").data(function(a){return x&&!b.length?x.values:a.values});Q.exit().remove();Q.enter().append("rect").attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("x",function(a,c,d){return u&&!b[d].nonStackable?0:d*m.rangeBand()/b.length}).attr("y",function(a,c,d){return i(u&&!b[d].nonStackable?a.y0:0)||0}).attr("height",0).attr("width",function(a,c,d){return m.rangeBand()/(u&&!b[d].nonStackable?1:b.length)}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"});Q.style("fill",function(a,b,c){return w(a,c,b)}).style("stroke",function(a,b,c){return w(a,c,b)}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),B.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),B.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){B.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){B.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){B.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),Q.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"}),y&&(c||(c=b.map(function(){return!0})),Q.style("fill",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}));var R=Q.watchTransition(C,"multibar",Math.min(250,z)).delay(function(a,c){return c*z/b[0].values.length});u?R.attr("y",function(a,c,d){var e=0;return e=b[d].nonStackable?r(a,c)<0?n(0):n(0)-n(r(a,c))<-1?n(0)-1:n(r(a,c))||0:n(a.y1)}).attr("height",function(a,c,d){return b[d].nonStackable?Math.max(Math.abs(n(r(a,c))-n(0)),1)||0:Math.max(Math.abs(n(a.y+a.y0)-n(a.y0)),1)}).attr("x",function(a,c,d){var e=0;return b[d].nonStackable&&(e=a.series*m.rangeBand()/b.length,b.length!==G&&(e=b[d].nonStackableSeries*m.rangeBand()/(2*G))),e}).attr("width",function(a,c,d){if(b[d].nonStackable){var e=m.rangeBand()/G;return b.length!==G&&(e=m.rangeBand()/(2*G)),e}return m.rangeBand()}):R.attr("x",function(a){return a.series*m.rangeBand()/b.length}).attr("width",m.rangeBand()/b.length).attr("y",function(a,b){return r(a,b)<0?n(0):n(0)-n(r(a,b))<1?n(0)-1:n(r(a,b))||0}).attr("height",function(a,b){return Math.max(Math.abs(n(r(a,b))-n(0)),1)||0}),h=m.copy(),i=n.copy(),b[0]&&b[0].values&&(D=b[0].values.length)}),C.renderEnd("multibar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=d3.scale.ordinal(),n=d3.scale.linear(),o=Math.floor(1e4*Math.random()),p=null,q=function(a){return a.x},r=function(a){return a.y},s=[0],t=!0,u=!1,v="zero",w=a.utils.defaultColor(),x=!1,y=null,z=500,A=.1,B=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),C=a.utils.renderWatch(B,z),D=0;return b.dispatch=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return s},set:function(a){s=a}},stacked:{get:function(){return u},set:function(a){u=a}},stackOffset:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return t},set:function(a){t=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return o},set:function(a){o=a}},hideable:{get:function(){return x},set:function(a){x=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return z},set:function(a){z=a,C.reset(z)}},color:{get:function(){return w},set:function(b){w=a.utils.getColor(b)}},barColor:{get:function(){return y},set:function(b){y=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarChart=function(){"use strict";function b(j){return D.reset(),D.models(e),r&&D.models(f),s&&D.models(g),j.each(function(j){var z=d3.select(this);a.utils.initSVG(z);var D=a.utils.availableWidth(l,z,k),H=a.utils.availableHeight(m,z,k);if(b.update=function(){0===C?z.call(b):z.transition().duration(C).call(b)},b.container=this,x.setter(G(j),b.update).getter(F(j)).update(),x.disabled=j.map(function(a){return!!a.disabled}),!y){var I;y={};for(I in x)y[I]=x[I]instanceof Array?x[I].slice(0):x[I]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,z),b;z.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();
-var J=z.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([j]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),L=J.select("g");if(K.append("g").attr("class","nv-x nv-axis"),K.append("g").attr("class","nv-y nv-axis"),K.append("g").attr("class","nv-barsWrap"),K.append("g").attr("class","nv-legendWrap"),K.append("g").attr("class","nv-controlsWrap"),q&&(h.width(D-B()),L.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),H=a.utils.availableHeight(m,z,k)),L.select(".nv-legendWrap").attr("transform","translate("+B()+","+-k.top+")")),o){var M=[{key:p.grouped||"Grouped",disabled:e.stacked()},{key:p.stacked||"Stacked",disabled:!e.stacked()}];i.width(B()).color(["#444","#444","#444"]),L.select(".nv-controlsWrap").datum(M).attr("transform","translate(0,"+-k.top+")").call(i)}J.attr("transform","translate("+k.left+","+k.top+")"),t&&L.select(".nv-y.nv-axis").attr("transform","translate("+D+",0)"),e.disabled(j.map(function(a){return a.disabled})).width(D).height(H).color(j.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}));var N=L.select(".nv-barsWrap").datum(j.filter(function(a){return!a.disabled}));if(N.call(e),r){f.scale(c)._ticks(a.utils.calcTicksX(D/100,j)).tickSize(-H,0),L.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),L.select(".nv-x.nv-axis").call(f);var O=L.select(".nv-x.nv-axis > g").selectAll("g");if(O.selectAll("line, text").style("opacity",1),v){var P=function(a,b){return"translate("+a+","+b+")"},Q=5,R=17;O.selectAll("text").attr("transform",function(a,b,c){return P(0,c%2==0?Q:R)});var S=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;L.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(a,b){return P(0,0===b||S%2!==0?R:Q)})}u&&O.filter(function(a,b){return b%Math.ceil(j[0].values.length/(D/100))!==0}).selectAll("text, line").style("opacity",0),w&&O.selectAll(".tick text").attr("transform","rotate("+w+" 0,0)").style("text-anchor",w>0?"start":"end"),L.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}s&&(g.scale(d)._ticks(a.utils.calcTicksY(H/36,j)).tickSize(-D,0),L.select(".nv-y.nv-axis").call(g)),h.dispatch.on("stateChange",function(a){for(var c in a)x[c]=a[c];A.stateChange(x),b.update()}),i.dispatch.on("legendClick",function(a){if(a.disabled){switch(M=M.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":case p.grouped:e.stacked(!1);break;case"Stacked":case p.stacked:e.stacked(!0)}x.stacked=e.stacked(),A.stateChange(x),b.update()}}),A.on("changeState",function(a){"undefined"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),x.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),x.stacked=a.stacked,E=a.stacked),b.update()})}),D.renderEnd("multibarchart immediate"),b}var c,d,e=a.models.multiBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.legend(),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=!0,v=!1,w=0,x=a.utils.state(),y=null,z=null,A=d3.dispatch("stateChange","changeState","renderEnd"),B=function(){return o?180:0},C=250;x.stacked=!1,e.stacked(!1),f.orient("bottom").tickPadding(7).showMaxMin(!1).tickFormat(function(a){return a}),g.orient(t?"right":"left").tickFormat(d3.format(",.1f")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateState(!1);var D=a.utils.renderWatch(A),E=!1,F=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:E}}},G=function(a){return function(b){void 0!==b.stacked&&(E=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){j.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=A,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.state=x,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:function(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return y},set:function(a){y=a}},noData:{get:function(){return z},set:function(a){z=a}},reduceXTicks:{get:function(){return u},set:function(a){u=a}},rotateLabels:{get:function(){return w},set:function(a){w=a}},staggerLabels:{get:function(){return v},set:function(a){v=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return C},set:function(a){C=a,e.duration(C),f.duration(C),g.duration(C),D.reset(C)}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,g.orient(t?"right":"left")}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiBarHorizontal=function(){"use strict";function b(m){return E.reset(),m.each(function(b){var m=k-j.left-j.right,C=l-j.top-j.bottom;n=d3.select(this),a.utils.initSVG(n),w&&(b=d3.layout.stack().offset("zero").values(function(a){return a.values}).y(r)(b)),b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),w&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a){var b=a.values[c];b.size=Math.abs(b.y),b.y<0?(b.y1=e-b.size,e-=b.size):(b.y1=d,d+=b.size)})});var F=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:q(a,b),y:r(a,b),y0:a.y0,y1:a.y1}})});o.domain(d||d3.merge(F).map(function(a){return a.x})).rangeBands(f||[0,C],A),p.domain(e||d3.extent(d3.merge(F).map(function(a){return w?a.y>0?a.y1+a.y:a.y1:a.y}).concat(t))),p.range(x&&!w?g||[p.domain()[0]<0?z:0,m-(p.domain()[1]>0?z:0)]:g||[0,m]),h=h||o,i=i||d3.scale.linear().domain(p.domain()).range([p(0),p(0)]);{var G=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([b]),H=G.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),I=(H.append("defs"),H.append("g"));G.select("g")}I.append("g").attr("class","nv-groups"),G.attr("transform","translate("+j.left+","+j.top+")");var J=G.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});J.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),J.exit().watchTransition(E,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),J.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return u(a,b)}).style("stroke",function(a,b){return u(a,b)}),J.watchTransition(E,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",.75);var K=J.selectAll("g.nv-bar").data(function(a){return a.values});K.exit().remove();var L=K.enter().append("g").attr("transform",function(a,c,d){return"translate("+i(w?a.y0:0)+","+(w?0:d*o.rangeBand()/b.length+o(q(a,c)))+")"});L.append("rect").attr("width",0).attr("height",o.rangeBand()/(w?1:b.length)),K.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),D.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),D.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){D.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){D.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){D.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}).on("dblclick",function(a,b){D.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),s(b[0],0)&&(L.append("polyline"),K.select("polyline").attr("fill","none").attr("points",function(a,c){var d=s(a,c),e=.8*o.rangeBand()/(2*(w?1:b.length));d=d.length?d:[-Math.abs(d),Math.abs(d)],d=d.map(function(a){return p(a)-p(0)});var f=[[d[0],-e],[d[0],e],[d[0],0],[d[1],0],[d[1],-e],[d[1],e]];return f.map(function(a){return a.join(",")}).join(" ")}).attr("transform",function(a,c){var d=o.rangeBand()/(2*(w?1:b.length));return"translate("+(r(a,c)<0?0:p(r(a,c))-p(0))+", "+d+")"})),L.append("text"),x&&!w?(K.select("text").attr("text-anchor",function(a,b){return r(a,b)<0?"end":"start"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){var c=B(r(a,b)),d=s(a,b);return void 0===d?c:d.length?c+"+"+B(Math.abs(d[1]))+"-"+B(Math.abs(d[0])):c+"±"+B(Math.abs(d))}),K.watchTransition(E,"multibarhorizontal: bars").select("text").attr("x",function(a,b){return r(a,b)<0?-4:p(r(a,b))-p(0)+4})):K.selectAll("text").text(""),y&&!w?(L.append("text").classed("nv-bar-label",!0),K.select("text.nv-bar-label").attr("text-anchor",function(a,b){return r(a,b)<0?"start":"end"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){return q(a,b)}),K.watchTransition(E,"multibarhorizontal: bars").select("text.nv-bar-label").attr("x",function(a,b){return r(a,b)<0?p(0)-p(r(a,b))+4:-4})):K.selectAll("text.nv-bar-label").text(""),K.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}),v&&(c||(c=b.map(function(){return!0})),K.style("fill",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()})),w?K.watchTransition(E,"multibarhorizontal: bars").attr("transform",function(a,b){return"translate("+p(a.y1)+","+o(q(a,b))+")"}).select("rect").attr("width",function(a,b){return Math.abs(p(r(a,b)+a.y0)-p(a.y0))}).attr("height",o.rangeBand()):K.watchTransition(E,"multibarhorizontal: bars").attr("transform",function(a,c){return"translate("+p(r(a,c)<0?r(a,c):0)+","+(a.series*o.rangeBand()/b.length+o(q(a,c)))+")"}).select("rect").attr("height",o.rangeBand()/b.length).attr("width",function(a,b){return Math.max(Math.abs(p(r(a,b))-p(0)),1)}),h=o.copy(),i=p.copy()}),E.renderEnd("multibarHorizontal immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=null,o=d3.scale.ordinal(),p=d3.scale.linear(),q=function(a){return a.x},r=function(a){return a.y},s=function(a){return a.yErr},t=[0],u=a.utils.defaultColor(),v=null,w=!1,x=!1,y=!1,z=60,A=.1,B=d3.format(",.2f"),C=250,D=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),E=a.utils.renderWatch(D,C);return b.dispatch=D,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},yErr:{get:function(){return s},set:function(a){s=a}},xScale:{get:function(){return o},set:function(a){o=a}},yScale:{get:function(){return p},set:function(a){p=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return t},set:function(a){t=a}},stacked:{get:function(){return w},set:function(a){w=a}},showValues:{get:function(){return x},set:function(a){x=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return m},set:function(a){m=a}},valueFormat:{get:function(){return B},set:function(a){B=a}},valuePadding:{get:function(){return z},set:function(a){z=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return C},set:function(a){C=a,E.reset(C)}},color:{get:function(){return u},set:function(b){u=a.utils.getColor(b)}},barColor:{get:function(){return v},set:function(b){v=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarHorizontalChart=function(){"use strict";function b(j){return C.reset(),C.models(e),r&&C.models(f),s&&C.models(g),j.each(function(j){var w=d3.select(this);a.utils.initSVG(w);var C=a.utils.availableWidth(l,w,k),D=a.utils.availableHeight(m,w,k);if(b.update=function(){w.transition().duration(z).call(b)},b.container=this,t=e.stacked(),u.setter(B(j),b.update).getter(A(j)).update(),u.disabled=j.map(function(a){return!!a.disabled}),!v){var E;v={};for(E in u)v[E]=u[E]instanceof Array?u[E].slice(0):u[E]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,w),b;w.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var F=w.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([j]),G=F.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),H=F.select("g");if(G.append("g").attr("class","nv-x nv-axis"),G.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),G.append("g").attr("class","nv-barsWrap"),G.append("g").attr("class","nv-legendWrap"),G.append("g").attr("class","nv-controlsWrap"),q&&(h.width(C-y()),H.select(".nv-legendWrap").datum(j).call(h),k.top!=h.height()&&(k.top=h.height(),D=a.utils.availableHeight(m,w,k)),H.select(".nv-legendWrap").attr("transform","translate("+y()+","+-k.top+")")),o){var I=[{key:p.grouped||"Grouped",disabled:e.stacked()},{key:p.stacked||"Stacked",disabled:!e.stacked()}];i.width(y()).color(["#444","#444","#444"]),H.select(".nv-controlsWrap").datum(I).attr("transform","translate(0,"+-k.top+")").call(i)}F.attr("transform","translate("+k.left+","+k.top+")"),e.disabled(j.map(function(a){return a.disabled})).width(C).height(D).color(j.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}));var J=H.select(".nv-barsWrap").datum(j.filter(function(a){return!a.disabled}));if(J.transition().call(e),r){f.scale(c)._ticks(a.utils.calcTicksY(D/24,j)).tickSize(-C,0),H.select(".nv-x.nv-axis").call(f);var K=H.select(".nv-x.nv-axis").selectAll("g");K.selectAll("line, text")}s&&(g.scale(d)._ticks(a.utils.calcTicksX(C/100,j)).tickSize(-D,0),H.select(".nv-y.nv-axis").attr("transform","translate(0,"+D+")"),H.select(".nv-y.nv-axis").call(g)),H.select(".nv-zeroLine line").attr("x1",d(0)).attr("x2",d(0)).attr("y1",0).attr("y2",-D),h.dispatch.on("stateChange",function(a){for(var c in a)u[c]=a[c];x.stateChange(u),b.update()}),i.dispatch.on("legendClick",function(a){if(a.disabled){switch(I=I.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":e.stacked(!1);break;case"Stacked":e.stacked(!0)}u.stacked=e.stacked(),x.stateChange(u),t=e.stacked(),b.update()}}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),u.stacked=a.stacked,t=a.stacked),b.update()})}),C.renderEnd("multibar horizontal chart immediate"),b}var c,d,e=a.models.multiBarHorizontal(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend().height(30),i=a.models.legend().height(30),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=a.utils.state(),v=null,w=null,x=d3.dispatch("stateChange","changeState","renderEnd"),y=function(){return o?180:0},z=250;u.stacked=!1,e.stacked(t),f.orient("left").tickPadding(5).showMaxMin(!1).tickFormat(function(a){return a}),g.orient("bottom").tickFormat(d3.format(",.1f")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateState(!1);var A=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:t}}},B=function(a){return function(b){void 0!==b.stacked&&(t=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},C=a.utils.renderWatch(x,z);return e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){j.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(){j.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=x,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.state=u,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:function(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},tooltips:{get:function(){return j.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),j.enabled(!!b)}},tooltipContent:{get:function(){return j.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),j.contentGenerator(b)}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return z},set:function(a){z=a,C.reset(z),e.duration(z),f.duration(z),g.duration(z)}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiChart=function(){"use strict";function b(j){return j.each(function(j){function k(a){var b=2===j[a.seriesIndex].yAxis?z:y;a.value=a.point.x,a.series={value:a.point.y,color:a.point.color},B.duration(100).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).position(a.pos).hidden(!1)}function l(a){var b=2===j[a.seriesIndex].yAxis?z:y;a.point.x=v.x()(a.point),a.point.y=v.y()(a.point),B.duration(100).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).position(a.pos).hidden(!1)}function n(a){var b=2===j[a.data.series].yAxis?z:y;a.value=t.x()(a.data),a.series={value:t.y()(a.data),color:a.color},B.duration(0).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}var C=d3.select(this);a.utils.initSVG(C),b.update=function(){C.transition().call(b)},b.container=this;var D=a.utils.availableWidth(g,C,e),E=a.utils.availableHeight(h,C,e),F=j.filter(function(a){return"line"==a.type&&1==a.yAxis}),G=j.filter(function(a){return"line"==a.type&&2==a.yAxis}),H=j.filter(function(a){return"bar"==a.type&&1==a.yAxis}),I=j.filter(function(a){return"bar"==a.type&&2==a.yAxis}),J=j.filter(function(a){return"area"==a.type&&1==a.yAxis}),K=j.filter(function(a){return"area"==a.type&&2==a.yAxis});if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,C),b;C.selectAll(".nv-noData").remove();var L=j.filter(function(a){return!a.disabled&&1==a.yAxis}).map(function(a){return a.values.map(function(a){return{x:a.x,y:a.y}})}),M=j.filter(function(a){return!a.disabled&&2==a.yAxis}).map(function(a){return a.values.map(function(a){return{x:a.x,y:a.y}})});o.domain(d3.extent(d3.merge(L.concat(M)),function(a){return a.x})).range([0,D]);var N=C.selectAll("g.wrap.multiChart").data([j]),O=N.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");O.append("g").attr("class","nv-x nv-axis"),O.append("g").attr("class","nv-y1 nv-axis"),O.append("g").attr("class","nv-y2 nv-axis"),O.append("g").attr("class","lines1Wrap"),O.append("g").attr("class","lines2Wrap"),O.append("g").attr("class","bars1Wrap"),O.append("g").attr("class","bars2Wrap"),O.append("g").attr("class","stack1Wrap"),O.append("g").attr("class","stack2Wrap"),O.append("g").attr("class","legendWrap");var P=N.select("g"),Q=j.map(function(a,b){return j[b].color||f(a,b)});if(i){var R=A.align()?D/2:D,S=A.align()?R:0;A.width(R),A.color(Q),P.select(".legendWrap").datum(j.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.originalKey+(1==a.yAxis?"":" (right axis)"),a})).call(A),e.top!=A.height()&&(e.top=A.height(),E=a.utils.availableHeight(h,C,e)),P.select(".legendWrap").attr("transform","translate("+S+","+-e.top+")")}r.width(D).height(E).interpolate(m).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"line"==j[b].type})),s.width(D).height(E).interpolate(m).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"line"==j[b].type})),t.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"bar"==j[b].type})),u.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"bar"==j[b].type})),v.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"area"==j[b].type})),w.width(D).height(E).color(Q.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"area"==j[b].type})),P.attr("transform","translate("+e.left+","+e.top+")");var T=P.select(".lines1Wrap").datum(F.filter(function(a){return!a.disabled})),U=P.select(".bars1Wrap").datum(H.filter(function(a){return!a.disabled})),V=P.select(".stack1Wrap").datum(J.filter(function(a){return!a.disabled})),W=P.select(".lines2Wrap").datum(G.filter(function(a){return!a.disabled})),X=P.select(".bars2Wrap").datum(I.filter(function(a){return!a.disabled})),Y=P.select(".stack2Wrap").datum(K.filter(function(a){return!a.disabled})),Z=J.length?J.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[],$=K.length?K.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[];p.domain(c||d3.extent(d3.merge(L).concat(Z),function(a){return a.y})).range([0,E]),q.domain(d||d3.extent(d3.merge(M).concat($),function(a){return a.y})).range([0,E]),r.yDomain(p.domain()),t.yDomain(p.domain()),v.yDomain(p.domain()),s.yDomain(q.domain()),u.yDomain(q.domain()),w.yDomain(q.domain()),J.length&&d3.transition(V).call(v),K.length&&d3.transition(Y).call(w),H.length&&d3.transition(U).call(t),I.length&&d3.transition(X).call(u),F.length&&d3.transition(T).call(r),G.length&&d3.transition(W).call(s),x._ticks(a.utils.calcTicksX(D/100,j)).tickSize(-E,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+E+")"),d3.transition(P.select(".nv-x.nv-axis")).call(x),y._ticks(a.utils.calcTicksY(E/36,j)).tickSize(-D,0),d3.transition(P.select(".nv-y1.nv-axis")).call(y),z._ticks(a.utils.calcTicksY(E/36,j)).tickSize(-D,0),d3.transition(P.select(".nv-y2.nv-axis")).call(z),P.select(".nv-y1.nv-axis").classed("nv-disabled",L.length?!1:!0).attr("transform","translate("+o.range()[0]+",0)"),P.select(".nv-y2.nv-axis").classed("nv-disabled",M.length?!1:!0).attr("transform","translate("+o.range()[1]+",0)"),A.dispatch.on("stateChange",function(){b.update()}),r.dispatch.on("elementMouseover.tooltip",k),s.dispatch.on("elementMouseover.tooltip",k),r.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),s.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),v.dispatch.on("elementMouseover.tooltip",l),w.dispatch.on("elementMouseover.tooltip",l),v.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),w.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),t.dispatch.on("elementMouseover.tooltip",n),u.dispatch.on("elementMouseover.tooltip",n),t.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),u.dispatch.on("elementMouseout.tooltip",function(){B.hidden(!0)}),t.dispatch.on("elementMousemove.tooltip",function(){B.position({top:d3.event.pageY,left:d3.event.pageX})()}),u.dispatch.on("elementMousemove.tooltip",function(){B.position({top:d3.event.pageY,left:d3.event.pageX})()})}),b}var c,d,e={top:30,right:20,bottom:50,left:60},f=a.utils.defaultColor(),g=null,h=null,i=!0,j=null,k=function(a){return a.x},l=function(a){return a.y},m="monotone",n=!0,o=d3.scale.linear(),p=d3.scale.linear(),q=d3.scale.linear(),r=a.models.line().yScale(p),s=a.models.line().yScale(q),t=a.models.multiBar().stacked(!1).yScale(p),u=a.models.multiBar().stacked(!1).yScale(q),v=a.models.stackedArea().yScale(p),w=a.models.stackedArea().yScale(q),x=a.models.axis().scale(o).orient("bottom").tickPadding(5),y=a.models.axis().scale(p).orient("left"),z=a.models.axis().scale(q).orient("right"),A=a.models.legend().height(30),B=a.models.tooltip(),C=d3.dispatch();return b.dispatch=C,b.lines1=r,b.lines2=s,b.bars1=t,b.bars2=u,b.stack1=v,b.stack2=w,b.xAxis=x,b.yAxis1=y,b.yAxis2=z,b.tooltip=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},showLegend:{get:function(){return i},set:function(a){i=a}},yDomain1:{get:function(){return c},set:function(a){c=a}},yDomain2:{get:function(){return d},set:function(a){d=a}},noData:{get:function(){return j},set:function(a){j=a}},interpolate:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return B.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),B.enabled(!!b)}},tooltipContent:{get:function(){return B.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),B.contentGenerator(b)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return f},set:function(b){f=a.utils.getColor(b)}},x:{get:function(){return k},set:function(a){k=a,r.x(a),s.x(a),t.x(a),u.x(a),v.x(a),w.x(a)}},y:{get:function(){return l},set:function(a){l=a,r.y(a),s.y(a),v.y(a),w.y(a),t.y(a),u.y(a)}},useVoronoi:{get:function(){return n},set:function(a){n=a,r.useVoronoi(a),s.useVoronoi(a),v.useVoronoi(a),w.useVoronoi(a)}}}),a.utils.initOptions(b),b},a.models.ohlcBar=function(){"use strict";function b(y){return y.each(function(b){k=d3.select(this);var y=a.utils.availableWidth(h,k,g),A=a.utils.availableHeight(i,k,g);a.utils.initSVG(k);var B=y/b[0].values.length*.9;l.domain(c||d3.extent(b[0].values.map(n).concat(t))),l.range(v?e||[.5*y/b[0].values.length,y*(b[0].values.length-.5)/b[0].values.length]:e||[5+B/2,y-B/2-5]),m.domain(d||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(f||[A,0]),l.domain()[0]===l.domain()[1]&&l.domain(l.domain()[0]?[l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]:[-1,1]),m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]:[-1,1]);var C=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([b[0].values]),D=C.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),E=D.append("defs"),F=D.append("g"),G=C.select("g");F.append("g").attr("class","nv-ticks"),C.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:j})}),E.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),C.select("#nv-chart-clip-path-"+j+" rect").attr("width",y).attr("height",A),G.attr("clip-path",w?"url(#nv-chart-clip-path-"+j+")":"");var H=C.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});H.exit().remove(),H.enter().append("path").attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}).attr("d",function(a,b){return"m0,0l0,"+(m(p(a,b))-m(r(a,b)))+"l"+-B/2+",0l"+B/2+",0l0,"+(m(s(a,b))-m(p(a,b)))+"l0,"+(m(q(a,b))-m(s(a,b)))+"l"+B/2+",0l"+-B/2+",0z"}).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("fill",function(){return x[0]}).attr("stroke",function(){return x[0]}).attr("x",0).attr("y",function(a,b){return m(Math.max(0,o(a,b)))}).attr("height",function(a,b){return Math.abs(m(o(a,b))-m(0))}),H.attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}),d3.transition(H).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("d",function(a,c){var d=y/b[0].values.length*.9;return"m0,0l0,"+(m(p(a,c))-m(r(a,c)))+"l"+-d/2+",0l"+d/2+",0l0,"+(m(s(a,c))-m(p(a,c)))+"l0,"+(m(q(a,c))-m(s(a,c)))+"l"+d/2+",0l"+-d/2+",0z"})}),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,c){b.clearHighlights(),k.select(".nv-ohlcBar .nv-tick-0-"+a).classed("hover",c)},b.clearHighlights=function(){k.select(".nv-ohlcBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!=a.top?a.top:g.top,g.right=void 0!=a.right?a.right:g.right,g.bottom=void 0!=a.bottom?a.bottom:g.bottom,g.left=void 0!=a.left?a.left:g.left
-}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.parallelCoordinates=function(){"use strict";function b(p){return p.each(function(b){function p(a){return F(h.map(function(b){if(isNaN(a[b])||isNaN(parseFloat(a[b]))){var c=g[b].domain(),d=g[b].range(),e=c[0]-(c[1]-c[0])/9;if(J.indexOf(b)<0){var h=d3.scale.linear().domain([e,c[1]]).range([x-12,d[1]]);g[b].brush.y(h),J.push(b)}return[f(b),g[b](e)]}return J.length>0?(D.style("display","inline"),E.style("display","inline")):(D.style("display","none"),E.style("display","none")),[f(b),g[b](a[b])]}))}function q(){var a=h.filter(function(a){return!g[a].brush.empty()}),b=a.map(function(a){return g[a].brush.extent()});k=[],a.forEach(function(a,c){k[c]={dimension:a,extent:b[c]}}),l=[],M.style("display",function(c){var d=a.every(function(a,d){return isNaN(c[a])&&b[d][0]==g[a].brush.y().domain()[0]?!0:b[d][0]<=c[a]&&c[a]<=b[d][1]});return d&&l.push(c),d?null:"none"}),o.brush({filters:k,active:l})}function r(a){m[a]=this.parentNode.__origin__=f(a),L.attr("visibility","hidden")}function s(a){m[a]=Math.min(w,Math.max(0,this.parentNode.__origin__+=d3.event.x)),M.attr("d",p),h.sort(function(a,b){return u(a)-u(b)}),f.domain(h),N.attr("transform",function(a){return"translate("+u(a)+")"})}function t(a){delete this.parentNode.__origin__,delete m[a],d3.select(this.parentNode).attr("transform","translate("+f(a)+")"),M.attr("d",p),L.attr("d",p).attr("visibility",null)}function u(a){var b=m[a];return null==b?f(a):b}var v=d3.select(this),w=a.utils.availableWidth(d,v,c),x=a.utils.availableHeight(e,v,c);a.utils.initSVG(v),l=b,f.rangePoints([0,w],1).domain(h);var y={};h.forEach(function(a){var c=d3.extent(b,function(b){return+b[a]});return y[a]=!1,void 0===c[0]&&(y[a]=!0,c[0]=0,c[1]=0),c[0]===c[1]&&(c[0]=c[0]-1,c[1]=c[1]+1),g[a]=d3.scale.linear().domain(c).range([.9*(x-12),0]),g[a].brush=d3.svg.brush().y(g[a]).on("brush",q),"name"!=a});var z=v.selectAll("g.nv-wrap.nv-parallelCoordinates").data([b]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates"),B=A.append("g"),C=z.select("g");B.append("g").attr("class","nv-parallelCoordinates background"),B.append("g").attr("class","nv-parallelCoordinates foreground"),B.append("g").attr("class","nv-parallelCoordinates missingValuesline"),z.attr("transform","translate("+c.left+","+c.top+")");var D,E,F=d3.svg.line().interpolate("cardinal").tension(n),G=d3.svg.axis().orient("left"),H=d3.behavior.drag().on("dragstart",r).on("drag",s).on("dragend",t),I=f.range()[1]-f.range()[0],J=[],K=[0+I/2,x-12,w-I/2,x-12];D=z.select(".missingValuesline").selectAll("line").data([K]),D.enter().append("line"),D.exit().remove(),D.attr("x1",function(a){return a[0]}).attr("y1",function(a){return a[1]}).attr("x2",function(a){return a[2]}).attr("y2",function(a){return a[3]}),E=z.select(".missingValuesline").selectAll("text").data(["undefined values"]),E.append("text").data(["undefined values"]),E.enter().append("text"),E.exit().remove(),E.attr("y",x).attr("x",w-92-I/2).text(function(a){return a});var L=z.select(".background").selectAll("path").data(b);L.enter().append("path"),L.exit().remove(),L.attr("d",p);var M=z.select(".foreground").selectAll("path").data(b);M.enter().append("path"),M.exit().remove(),M.attr("d",p).attr("stroke",j),M.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),o.elementMouseover({label:a.name,data:a.data,index:b,pos:[d3.mouse(this.parentNode)[0],d3.mouse(this.parentNode)[1]]})}),M.on("mouseout",function(a,b){d3.select(this).classed("hover",!1),o.elementMouseout({label:a.name,data:a.data,index:b})});var N=C.selectAll(".dimension").data(h),O=N.enter().append("g").attr("class","nv-parallelCoordinates dimension");O.append("g").attr("class","nv-parallelCoordinates nv-axis"),O.append("g").attr("class","nv-parallelCoordinates-brush"),O.append("text").attr("class","nv-parallelCoordinates nv-label"),N.attr("transform",function(a){return"translate("+f(a)+",0)"}),N.exit().remove(),N.select(".nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").text(String).on("mouseover",function(a){o.elementMouseover({dim:a,pos:[d3.mouse(this.parentNode.parentNode)[0],d3.mouse(this.parentNode.parentNode)[1]]})}).on("mouseout",function(a){o.elementMouseout({dim:a})}).call(H),N.select(".nv-axis").each(function(a,b){d3.select(this).call(G.scale(g[a]).tickFormat(d3.format(i[b])))}),N.select(".nv-parallelCoordinates-brush").each(function(a){d3.select(this).call(g[a].brush)}).selectAll("rect").attr("x",-8).attr("width",16)}),b}var c={top:30,right:0,bottom:10,left:0},d=null,e=null,f=d3.scale.ordinal(),g={},h=[],i=[],j=a.utils.defaultColor(),k=[],l=[],m=[],n=1,o=d3.dispatch("brush","elementMouseover","elementMouseout");return b.dispatch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},dimensionNames:{get:function(){return h},set:function(a){h=a}},dimensionFormats:{get:function(){return i},set:function(a){i=a}},lineTension:{get:function(){return n},set:function(a){n=a}},dimensions:{get:function(){return h},set:function(b){a.deprecated("dimensions","use dimensionNames instead"),h=b}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.pie=function(){"use strict";function b(E){return D.reset(),E.each(function(b){function E(a,b){a.endAngle=isNaN(a.endAngle)?0:a.endAngle,a.startAngle=isNaN(a.startAngle)?0:a.startAngle,p||(a.innerRadius=0);var c=d3.interpolate(this._current,a);return this._current=c(0),function(a){return B[b](c(a))}}var F=d-c.left-c.right,G=e-c.top-c.bottom,H=Math.min(F,G)/2,I=[],J=[];if(i=d3.select(this),0===z.length)for(var K=H-H/5,L=y*H,M=0;M<b[0].length;M++)I.push(K),J.push(L);else I=z.map(function(a){return(a.outer-a.outer/5)*H}),J=z.map(function(a){return(a.inner-a.inner/5)*H}),y=d3.min(z.map(function(a){return a.inner-a.inner/5}));a.utils.initSVG(i);var N=i.selectAll(".nv-wrap.nv-pie").data(b),O=N.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+h),P=O.append("g"),Q=N.select("g"),R=P.append("g").attr("class","nv-pie");P.append("g").attr("class","nv-pieLabels"),N.attr("transform","translate("+c.left+","+c.top+")"),Q.select(".nv-pie").attr("transform","translate("+F/2+","+G/2+")"),Q.select(".nv-pieLabels").attr("transform","translate("+F/2+","+G/2+")"),i.on("click",function(a,b){A.chartClick({data:a,index:b,pos:d3.event,id:h})}),B=[],C=[];for(var M=0;M<b[0].length;M++){var S=d3.svg.arc().outerRadius(I[M]),T=d3.svg.arc().outerRadius(I[M]+5);u!==!1&&(S.startAngle(u),T.startAngle(u)),w!==!1&&(S.endAngle(w),T.endAngle(w)),p&&(S.innerRadius(J[M]),T.innerRadius(J[M])),S.cornerRadius&&x&&(S.cornerRadius(x),T.cornerRadius(x)),B.push(S),C.push(T)}var U=d3.layout.pie().sort(null).value(function(a){return a.disabled?0:g(a)});U.padAngle&&v&&U.padAngle(v),p&&q&&(R.append("text").attr("class","nv-pie-title"),N.select(".nv-pie-title").style("text-anchor","middle").text(function(){return q}).style("font-size",Math.min(F,G)*y*2/(q.length+2)+"px").attr("dy","0.35em").attr("transform",function(){return"translate(0, "+s+")"}));var V=N.select(".nv-pie").selectAll(".nv-slice").data(U),W=N.select(".nv-pieLabels").selectAll(".nv-label").data(U);V.exit().remove(),W.exit().remove();var X=V.enter().append("g");X.attr("class","nv-slice"),X.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),r&&d3.select(this).select("path").transition().duration(70).attr("d",C[b]),A.elementMouseover({data:a.data,index:b,color:d3.select(this).style("fill")})}),X.on("mouseout",function(a,b){d3.select(this).classed("hover",!1),r&&d3.select(this).select("path").transition().duration(50).attr("d",B[b]),A.elementMouseout({data:a.data,index:b})}),X.on("mousemove",function(a,b){A.elementMousemove({data:a.data,index:b})}),X.on("click",function(a,b){A.elementClick({data:a.data,index:b,color:d3.select(this).style("fill")})}),X.on("dblclick",function(a,b){A.elementDblClick({data:a.data,index:b,color:d3.select(this).style("fill")})}),V.attr("fill",function(a,b){return j(a.data,b)}),V.attr("stroke",function(a,b){return j(a.data,b)});X.append("path").each(function(a){this._current=a});if(V.select("path").transition().attr("d",function(a,b){return B[b](a)}).attrTween("d",E),l){for(var Y=[],M=0;M<b[0].length;M++)Y.push(B[M]),m?p&&(Y[M]=d3.svg.arc().outerRadius(B[M].outerRadius()),u!==!1&&Y[M].startAngle(u),w!==!1&&Y[M].endAngle(w)):p||Y[M].innerRadius(0);W.enter().append("g").classed("nv-label",!0).each(function(a){var b=d3.select(this);b.attr("transform",function(a,b){if(t){a.outerRadius=I[b]+10,a.innerRadius=I[b]+15;var c=(a.startAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<Math.PI?c-=90:c+=90,"translate("+Y[b].centroid(a)+") rotate("+c+")"}return a.outerRadius=H+10,a.innerRadius=H+15,"translate("+Y[b].centroid(a)+")"}),b.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),b.append("text").style("text-anchor",t?(a.startAngle+a.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")});var Z={},$=14,_=140,ab=function(a){return Math.floor(a[0]/_)*_+","+Math.floor(a[1]/$)*$};W.watchTransition(D,"pie labels").attr("transform",function(a,b){if(t){a.outerRadius=I[b]+10,a.innerRadius=I[b]+15;var c=(a.startAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<Math.PI?c-=90:c+=90,"translate("+Y[b].centroid(a)+") rotate("+c+")"}a.outerRadius=H+10,a.innerRadius=H+15;var d=Y[b].centroid(a);if(a.value){var e=ab(d);Z[e]&&(d[1]-=$),Z[ab(d)]=!0}return"translate("+d+")"}),W.select(".nv-label text").style("text-anchor",function(a){return t?(a.startAngle+a.endAngle)/2<Math.PI?"start":"end":"middle"}).text(function(a,b){var c=(a.endAngle-a.startAngle)/(2*Math.PI),d="";if(!a.value||o>c)return"";if("function"==typeof n)d=n(a,b,{key:f(a.data),value:g(a.data),percent:k(c)});else switch(n){case"key":d=f(a.data);break;case"value":d=k(g(a.data));break;case"percent":d=d3.format("%")(c)}return d})}}),D.renderEnd("pie immediate"),b}var c={top:0,right:0,bottom:0,left:0},d=500,e=500,f=function(a){return a.x},g=function(a){return a.y},h=Math.floor(1e4*Math.random()),i=null,j=a.utils.defaultColor(),k=d3.format(",.2f"),l=!0,m=!1,n="key",o=.02,p=!1,q=!1,r=!0,s=0,t=!1,u=!1,v=!1,w=!1,x=0,y=.5,z=[],A=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),B=[],C=[],D=a.utils.renderWatch(A);return b.dispatch=A,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{arcsRadius:{get:function(){return z},set:function(a){z=a}},width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},showLabels:{get:function(){return l},set:function(a){l=a}},title:{get:function(){return q},set:function(a){q=a}},titleOffset:{get:function(){return s},set:function(a){s=a}},labelThreshold:{get:function(){return o},set:function(a){o=a}},valueFormat:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return h},set:function(a){h=a}},endAngle:{get:function(){return w},set:function(a){w=a}},startAngle:{get:function(){return u},set:function(a){u=a}},padAngle:{get:function(){return v},set:function(a){v=a}},cornerRadius:{get:function(){return x},set:function(a){x=a}},donutRatio:{get:function(){return y},set:function(a){y=a}},labelsOutside:{get:function(){return m},set:function(a){m=a}},labelSunbeamLayout:{get:function(){return t},set:function(a){t=a}},donut:{get:function(){return p},set:function(a){p=a}},growOnHover:{get:function(){return r},set:function(a){r=a}},pieLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return k},set:function(b){k=b,a.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return c},set:function(a){c.top="undefined"!=typeof a.top?a.top:c.top,c.right="undefined"!=typeof a.right?a.right:c.right,c.bottom="undefined"!=typeof a.bottom?a.bottom:c.bottom,c.left="undefined"!=typeof a.left?a.left:c.left}},y:{get:function(){return g},set:function(a){g=d3.functor(a)}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}},labelType:{get:function(){return n},set:function(a){n=a||"key"}}}),a.utils.initOptions(b),b},a.models.pieChart=function(){"use strict";function b(e){return q.reset(),q.models(c),e.each(function(e){var k=d3.select(this);a.utils.initSVG(k);var n=a.utils.availableWidth(g,k,f),o=a.utils.availableHeight(h,k,f);if(b.update=function(){k.transition().call(b)},b.container=this,l.setter(s(e),b.update).getter(r(e)).update(),l.disabled=e.map(function(a){return!!a.disabled}),!m){var q;m={};for(q in l)m[q]=l[q]instanceof Array?l[q].slice(0):l[q]}if(!e||!e.length)return a.utils.noData(b,k),b;k.selectAll(".nv-noData").remove();var t=k.selectAll("g.nv-wrap.nv-pieChart").data([e]),u=t.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),v=t.select("g");if(u.append("g").attr("class","nv-pieWrap"),u.append("g").attr("class","nv-legendWrap"),i)if("top"===j)d.width(n).key(c.x()),t.select(".nv-legendWrap").datum(e).call(d),f.top!=d.height()&&(f.top=d.height(),o=a.utils.availableHeight(h,k,f)),t.select(".nv-legendWrap").attr("transform","translate(0,"+-f.top+")");else if("right"===j){var w=a.models.legend().width();w>n/2&&(w=n/2),d.height(o).key(c.x()),d.width(w),n-=d.width(),t.select(".nv-legendWrap").datum(e).call(d).attr("transform","translate("+n+",0)")}t.attr("transform","translate("+f.left+","+f.top+")"),c.width(n).height(o);var x=v.select(".nv-pieWrap").datum([e]);d3.transition(x).call(c),d.dispatch.on("stateChange",function(a){for(var c in a)l[c]=a[c];p.stateChange(l),b.update()}),p.on("changeState",function(a){"undefined"!=typeof a.disabled&&(e.forEach(function(b,c){b.disabled=a.disabled[c]}),l.disabled=a.disabled),b.update()})}),q.renderEnd("pieChart immediate"),b}var c=a.models.pie(),d=a.models.legend(),e=a.models.tooltip(),f={top:30,right:20,bottom:20,left:20},g=null,h=null,i=!0,j="top",k=a.utils.defaultColor(),l=a.utils.state(),m=null,n=null,o=250,p=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd");e.headerEnabled(!1).duration(0).valueFormatter(function(a,b){return c.valueFormat()(a,b)});var q=a.utils.renderWatch(p),r=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},s=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color},e.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){e.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){e.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.legend=d,b.dispatch=p,b.pie=c,b.tooltip=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return i},set:function(a){i=a}},legendPosition:{get:function(){return j},set:function(a){j=a}},defaultState:{get:function(){return m},set:function(a){m=a}},tooltips:{get:function(){return e.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),e.enabled(!!b)}},tooltipContent:{get:function(){return e.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),e.contentGenerator(b)}},color:{get:function(){return k},set:function(a){k=a,d.color(k),c.color(k)}},duration:{get:function(){return o},set:function(a){o=a,q.reset(o)}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.scatter=function(){"use strict";function b(N){return P.reset(),N.each(function(b){function N(){if(O=!1,!w)return!1;if(M===!0){var a=d3.merge(b.map(function(a,b){return a.values.map(function(a,c){var d=p(a,c),e=q(a,c);return[m(d)+1e-4*Math.random(),n(e)+1e-4*Math.random(),b,c,a]}).filter(function(a,b){return x(a[4],b)})}));if(0==a.length)return!1;a.length<3&&(a.push([m.range()[0]-20,n.range()[0]-20,null,null]),a.push([m.range()[1]+20,n.range()[1]+20,null,null]),a.push([m.range()[0]-20,n.range()[0]+20,null,null]),a.push([m.range()[1]+20,n.range()[1]-20,null,null]));var c=d3.geom.polygon([[-10,-10],[-10,i+10],[h+10,i+10],[h+10,-10]]),d=d3.geom.voronoi(a).map(function(b,d){return{data:c.clip(b),series:a[d][2],point:a[d][3]}});U.select(".nv-point-paths").selectAll("path").remove();var e=U.select(".nv-point-paths").selectAll("path").data(d),f=e.enter().append("svg:path").attr("d",function(a){return a&&a.data&&0!==a.data.length?"M"+a.data.join(",")+"Z":"M 0 0"}).attr("id",function(a,b){return"nv-path-"+b}).attr("clip-path",function(a,b){return"url(#nv-clip-"+b+")"});C&&f.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200)),B&&(U.select(".nv-point-clips").selectAll("clipPath").remove(),U.select(".nv-point-clips").selectAll("clipPath").data(a).enter().append("svg:clipPath").attr("id",function(a,b){return"nv-clip-"+b}).append("svg:circle").attr("cx",function(a){return a[0]}).attr("cy",function(a){return a[1]}).attr("r",D));var k=function(a,c){if(O)return 0;var d=b[a.series];if(void 0!==d){var e=d.values[a.point];e.color=j(d,a.series),e.x=p(e),e.y=q(e);var f=l.node().getBoundingClientRect(),h=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft,k={left:m(p(e,a.point))+f.left+i+g.left+10,top:n(q(e,a.point))+f.top+h+g.top+10};c({point:e,series:d,pos:k,seriesIndex:a.series,pointIndex:a.point})}};e.on("click",function(a){k(a,L.elementClick)}).on("dblclick",function(a){k(a,L.elementDblClick)}).on("mouseover",function(a){k(a,L.elementMouseover)}).on("mouseout",function(a){k(a,L.elementMouseout)})}else U.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementClick({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c})}).on("dblclick",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementDblClick({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c})}).on("mouseover",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementMouseover({point:e,series:d,pos:[m(p(e,c))+g.left,n(q(e,c))+g.top],seriesIndex:a.series,pointIndex:c,color:j(a,c)})}).on("mouseout",function(a,c){if(O||!b[a.series])return 0;var d=b[a.series],e=d.values[c];L.elementMouseout({point:e,series:d,seriesIndex:a.series,pointIndex:c,color:j(a,c)})})}l=d3.select(this);var R=a.utils.availableWidth(h,l,g),S=a.utils.availableHeight(i,l,g);a.utils.initSVG(l),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var T=E&&F&&I?[]:d3.merge(b.map(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),size:r(a,b)}})}));m.domain(E||d3.extent(T.map(function(a){return a.x}).concat(t))),m.range(y&&b[0]?G||[(R*z+R)/(2*b[0].values.length),R-R*(1+z)/(2*b[0].values.length)]:G||[0,R]),n.domain(F||d3.extent(T.map(function(a){return a.y}).concat(u))).range(H||[S,0]),o.domain(I||d3.extent(T.map(function(a){return a.size}).concat(v))).range(J||Q),K=m.domain()[0]===m.domain()[1]||n.domain()[0]===n.domain()[1],m.domain()[0]===m.domain()[1]&&m.domain(m.domain()[0]?[m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]:[-1,1]),n.domain()[0]===n.domain()[1]&&n.domain(n.domain()[0]?[n.domain()[0]-.01*n.domain()[0],n.domain()[1]+.01*n.domain()[1]]:[-1,1]),isNaN(m.domain()[0])&&m.domain([-1,1]),isNaN(n.domain()[0])&&n.domain([-1,1]),c=c||m,d=d||n,e=e||o;var U=l.selectAll("g.nv-wrap.nv-scatter").data([b]),V=U.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+k),W=V.append("defs"),X=V.append("g"),Y=U.select("g");U.classed("nv-single-point",K),X.append("g").attr("class","nv-groups"),X.append("g").attr("class","nv-point-paths"),V.append("g").attr("class","nv-point-clips"),U.attr("transform","translate("+g.left+","+g.top+")"),W.append("clipPath").attr("id","nv-edge-clip-"+k).append("rect"),U.select("#nv-edge-clip-"+k+" rect").attr("width",R).attr("height",S>0?S:0),Y.attr("clip-path",A?"url(#nv-edge-clip-"+k+")":""),O=!0;var Z=U.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});Z.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),Z.exit().remove(),Z.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}),Z.watchTransition(P,"scatter: groups").style("fill",function(a,b){return j(a,b)}).style("stroke",function(a,b){return j(a,b)}).style("stroke-opacity",1).style("fill-opacity",.5);var $=Z.selectAll("path.nv-point").data(function(a){return a.values.map(function(a,b){return[a,b]}).filter(function(a,b){return x(a[0],b)})});$.enter().append("path").style("fill",function(a){return a.color}).style("stroke",function(a){return a.color}).attr("transform",function(a){return"translate("+c(p(a[0],a[1]))+","+d(q(a[0],a[1]))+")"}).attr("d",a.utils.symbol().type(function(a){return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),$.exit().remove(),Z.exit().selectAll("path.nv-point").watchTransition(P,"scatter exit").attr("transform",function(a){return"translate("+m(p(a[0],a[1]))+","+n(q(a[0],a[1]))+")"}).remove(),$.each(function(a){d3.select(this).classed("nv-point",!0).classed("nv-point-"+a[1],!0).classed("nv-noninteractive",!w).classed("hover",!1)}),$.watchTransition(P,"scatter points").attr("transform",function(a){return"translate("+m(p(a[0],a[1]))+","+n(q(a[0],a[1]))+")"}).attr("d",a.utils.symbol().type(function(a){return s(a[0])}).size(function(a){return o(r(a[0],a[1]))})),clearTimeout(f),f=setTimeout(N,300),c=m.copy(),d=n.copy(),e=o.copy()}),P.renderEnd("scatter immediate"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=a.utils.defaultColor(),k=Math.floor(1e5*Math.random()),l=null,m=d3.scale.linear(),n=d3.scale.linear(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){return a.y},r=function(a){return a.size||1},s=function(a){return a.shape||"circle"},t=[],u=[],v=[],w=!0,x=function(a){return!a.notActive},y=!1,z=.1,A=!1,B=!0,C=!1,D=function(){return 25},E=null,F=null,G=null,H=null,I=null,J=null,K=!1,L=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),M=!0,N=250,O=!1,P=a.utils.renderWatch(L,N),Q=[16,256];return b.dispatch=L,b.options=a.utils.optionsFunc.bind(b),b._calls=new function(){this.clearHighlights=function(){return a.dom.write(function(){l.selectAll(".nv-point.hover").classed("hover",!1)}),null},this.highlightPoint=function(b,c,d){a.dom.write(function(){l.select(" .nv-series-"+b+" .nv-point-"+c).classed("hover",d)})}},L.on("elementMouseover.point",function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.pointIndex,!0)}),L.on("elementMouseout.point",function(a){w&&b._calls.highlightPoint(a.seriesIndex,a.pointIndex,!1)}),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},pointScale:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){return E},set:function(a){E=a}},yDomain:{get:function(){return F},set:function(a){F=a}},pointDomain:{get:function(){return I},set:function(a){I=a}},xRange:{get:function(){return G},set:function(a){G=a}},yRange:{get:function(){return H},set:function(a){H=a}},pointRange:{get:function(){return J},set:function(a){J=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},forcePoint:{get:function(){return v},set:function(a){v=a}},interactive:{get:function(){return w},set:function(a){w=a}},pointActive:{get:function(){return x},set:function(a){x=a}},padDataOuter:{get:function(){return z},set:function(a){z=a}},padData:{get:function(){return y},set:function(a){y=a}},clipEdge:{get:function(){return A},set:function(a){A=a}},clipVoronoi:{get:function(){return B},set:function(a){B=a}},clipRadius:{get:function(){return D},set:function(a){D=a}},showVoronoi:{get:function(){return C},set:function(a){C=a}},id:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return p},set:function(a){p=d3.functor(a)}},y:{get:function(){return q},set:function(a){q=d3.functor(a)}},pointSize:{get:function(){return r},set:function(a){r=d3.functor(a)}},pointShape:{get:function(){return s},set:function(a){s=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},duration:{get:function(){return N},set:function(a){N=a,P.reset(N)}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}},useVoronoi:{get:function(){return M},set:function(a){M=a,M===!1&&(B=!1)}}}),a.utils.initOptions(b),b},a.models.scatterChart=function(){"use strict";function b(z){return D.reset(),D.models(c),t&&D.models(d),u&&D.models(e),q&&D.models(g),r&&D.models(h),z.each(function(z){m=d3.select(this),a.utils.initSVG(m);var G=a.utils.availableWidth(k,m,j),H=a.utils.availableHeight(l,m,j);if(b.update=function(){0===A?m.call(b):m.transition().duration(A).call(b)},b.container=this,w.setter(F(z),b.update).getter(E(z)).update(),w.disabled=z.map(function(a){return!!a.disabled}),!x){var I;x={};for(I in w)x[I]=w[I]instanceof Array?w[I].slice(0):w[I]}if(!(z&&z.length&&z.filter(function(a){return a.values.length}).length))return a.utils.noData(b,m),D.renderEnd("scatter immediate"),b;m.selectAll(".nv-noData").remove(),o=c.xScale(),p=c.yScale();var J=m.selectAll("g.nv-wrap.nv-scatterChart").data([z]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+c.id()),L=K.append("g"),M=J.select("g");if(L.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),L.append("g").attr("class","nv-x nv-axis"),L.append("g").attr("class","nv-y nv-axis"),L.append("g").attr("class","nv-scatterWrap"),L.append("g").attr("class","nv-regressionLinesWrap"),L.append("g").attr("class","nv-distWrap"),L.append("g").attr("class","nv-legendWrap"),v&&M.select(".nv-y.nv-axis").attr("transform","translate("+G+",0)"),s){var N=G;f.width(N),J.select(".nv-legendWrap").datum(z).call(f),j.top!=f.height()&&(j.top=f.height(),H=a.utils.availableHeight(l,m,j)),J.select(".nv-legendWrap").attr("transform","translate(0,"+-j.top+")")}J.attr("transform","translate("+j.left+","+j.top+")"),c.width(G).height(H).color(z.map(function(a,b){return a.color=a.color||n(a,b),a.color}).filter(function(a,b){return!z[b].disabled})),J.select(".nv-scatterWrap").datum(z.filter(function(a){return!a.disabled})).call(c),J.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+c.id()+")");var O=J.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(a){return a});O.enter().append("g").attr("class","nv-regLines");var P=O.selectAll(".nv-regLine").data(function(a){return[a]});P.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0),P.filter(function(a){return a.intercept&&a.slope}).watchTransition(D,"scatterPlusLineChart: regline").attr("x1",o.range()[0]).attr("x2",o.range()[1]).attr("y1",function(a){return p(o.domain()[0]*a.slope+a.intercept)}).attr("y2",function(a){return p(o.domain()[1]*a.slope+a.intercept)}).style("stroke",function(a,b,c){return n(a,c)}).style("stroke-opacity",function(a){return a.disabled||"undefined"==typeof a.slope||"undefined"==typeof a.intercept?0:1}),t&&(d.scale(o)._ticks(a.utils.calcTicksX(G/100,z)).tickSize(-H,0),M.select(".nv-x.nv-axis").attr("transform","translate(0,"+p.range()[0]+")").call(d)),u&&(e.scale(p)._ticks(a.utils.calcTicksY(H/36,z)).tickSize(-G,0),M.select(".nv-y.nv-axis").call(e)),q&&(g.getData(c.x()).scale(o).width(G).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),L.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),M.select(".nv-distributionX").attr("transform","translate(0,"+p.range()[0]+")").datum(z.filter(function(a){return!a.disabled})).call(g)),r&&(h.getData(c.y()).scale(p).width(H).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),L.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),M.select(".nv-distributionY").attr("transform","translate("+(v?G:-h.size())+",0)").datum(z.filter(function(a){return!a.disabled})).call(h)),f.dispatch.on("stateChange",function(a){for(var c in a)w[c]=a[c];y.stateChange(w),b.update()}),y.on("changeState",function(a){"undefined"!=typeof a.disabled&&(z.forEach(function(b,c){b.disabled=a.disabled[c]}),w.disabled=a.disabled),b.update()}),c.dispatch.on("elementMouseout.tooltip",function(a){i.hidden(!0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",h.size())}),c.dispatch.on("elementMouseover.tooltip",function(a){m.select(".nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",a.pos.top-H-j.top),m.select(".nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",a.pos.left+g.size()-j.left),i.position(a.pos).data(a).hidden(!1)}),B=o.copy(),C=p.copy()}),D.renderEnd("scatter with line immediate"),b}var c=a.models.scatter(),d=a.models.axis(),e=a.models.axis(),f=a.models.legend(),g=a.models.distribution(),h=a.models.distribution(),i=a.models.tooltip(),j={top:30,right:20,bottom:50,left:75},k=null,l=null,m=null,n=a.utils.defaultColor(),o=c.xScale(),p=c.yScale(),q=!1,r=!1,s=!0,t=!0,u=!0,v=!1,w=a.utils.state(),x=null,y=d3.dispatch("stateChange","changeState","renderEnd"),z=null,A=250;c.xScale(o).yScale(p),d.orient("bottom").tickPadding(10),e.orient(v?"right":"left").tickPadding(10),g.axis("x"),h.axis("y"),i.headerFormatter(function(a,b){return d.tickFormat()(a,b)}).valueFormatter(function(a,b){return e.tickFormat()(a,b)});var B,C,D=a.utils.renderWatch(y,A),E=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},F=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return b.dispatch=y,b.scatter=c,b.legend=f,b.xAxis=d,b.yAxis=e,b.distX=g,b.distY=h,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},container:{get:function(){return m},set:function(a){m=a}},showDistX:{get:function(){return q},set:function(a){q=a}},showDistY:{get:function(){return r},set:function(a){r=a}},showLegend:{get:function(){return s},set:function(a){s=a}},showXAxis:{get:function(){return t},set:function(a){t=a}},showYAxis:{get:function(){return u},set:function(a){u=a}},defaultState:{get:function(){return x},set:function(a){x=a}},noData:{get:function(){return z},set:function(a){z=a}},duration:{get:function(){return A},set:function(a){A=a}},tooltips:{get:function(){return i.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),i.enabled(!!b)
-}},tooltipContent:{get:function(){return i.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),i.contentGenerator(b)}},tooltipXContent:{get:function(){return i.contentGenerator()},set:function(){a.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},tooltipYContent:{get:function(){return i.contentGenerator()},set:function(){a.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},rightAlignYAxis:{get:function(){return v},set:function(a){v=a,e.orient(a?"right":"left")}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),f.color(n),g.color(n),h.color(n)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.sparkline=function(){"use strict";function b(k){return k.each(function(b){var k=h-g.left-g.right,q=i-g.top-g.bottom;j=d3.select(this),a.utils.initSVG(j),l.domain(c||d3.extent(b,n)).range(e||[0,k]),m.domain(d||d3.extent(b,o)).range(f||[q,0]);{var r=j.selectAll("g.nv-wrap.nv-sparkline").data([b]),s=r.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");s.append("g"),r.select("g")}r.attr("transform","translate("+g.left+","+g.top+")");var t=r.selectAll("path").data(function(a){return[a]});t.enter().append("path"),t.exit().remove(),t.style("stroke",function(a,b){return a.color||p(a,b)}).attr("d",d3.svg.line().x(function(a,b){return l(n(a,b))}).y(function(a,b){return m(o(a,b))}));var u=r.selectAll("circle.nv-point").data(function(a){function b(b){if(-1!=b){var c=a[b];return c.pointIndex=b,c}return null}var c=a.map(function(a,b){return o(a,b)}),d=b(c.lastIndexOf(m.domain()[1])),e=b(c.indexOf(m.domain()[0])),f=b(c.length-1);return[e,d,f].filter(function(a){return null!=a})});u.enter().append("circle"),u.exit().remove(),u.attr("cx",function(a){return l(n(a,a.pointIndex))}).attr("cy",function(a){return m(o(a,a.pointIndex))}).attr("r",2).attr("class",function(a){return n(a,a.pointIndex)==l.domain()[1]?"nv-point nv-currentValue":o(a,a.pointIndex)==m.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})}),b}var c,d,e,f,g={top:2,right:0,bottom:2,left:0},h=400,i=32,j=null,k=!0,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=a.utils.getColor(["#000"]);return b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},animate:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return n},set:function(a){n=d3.functor(a)}},y:{get:function(){return o},set:function(a){o=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return p},set:function(b){p=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.sparklinePlus=function(){"use strict";function b(p){return p.each(function(p){function q(){if(!j){var a=z.selectAll(".nv-hoverValue").data(i),b=a.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);a.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),a.attr("transform",function(a){return"translate("+c(e.x()(p[a],a))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1),i.length&&(b.append("line").attr("x1",0).attr("y1",-f.top).attr("x2",0).attr("y2",u),b.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-f.top).attr("text-anchor","end").attr("dy",".9em"),z.select(".nv-hoverValue .nv-xValue").text(k(e.x()(p[i[0]],i[0]))),b.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-f.top).attr("text-anchor","start").attr("dy",".9em"),z.select(".nv-hoverValue .nv-yValue").text(l(e.y()(p[i[0]],i[0]))))}}function r(){function a(a,b){for(var c=Math.abs(e.x()(a[0],0)-b),d=0,f=0;f<a.length;f++)Math.abs(e.x()(a[f],f)-b)<c&&(c=Math.abs(e.x()(a[f],f)-b),d=f);return d}if(!j){var b=d3.mouse(this)[0]-f.left;i=[a(p,Math.round(c.invert(b)))],q()}}var s=d3.select(this);a.utils.initSVG(s);var t=a.utils.availableWidth(g,s,f),u=a.utils.availableHeight(h,s,f);if(b.update=function(){s.call(b)},b.container=this,!p||!p.length)return a.utils.noData(b,s),b;s.selectAll(".nv-noData").remove();var v=e.y()(p[p.length-1],p.length-1);c=e.xScale(),d=e.yScale();var w=s.selectAll("g.nv-wrap.nv-sparklineplus").data([p]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus"),y=x.append("g"),z=w.select("g");y.append("g").attr("class","nv-sparklineWrap"),y.append("g").attr("class","nv-valueWrap"),y.append("g").attr("class","nv-hoverArea"),w.attr("transform","translate("+f.left+","+f.top+")");var A=z.select(".nv-sparklineWrap");if(e.width(t).height(u),A.call(e),m){var B=z.select(".nv-valueWrap"),C=B.selectAll(".nv-currentValue").data([v]);C.enter().append("text").attr("class","nv-currentValue").attr("dx",o?-8:8).attr("dy",".9em").style("text-anchor",o?"end":"start"),C.attr("x",t+(o?f.right:0)).attr("y",n?function(a){return d(a)}:0).style("fill",e.color()(p[p.length-1],p.length-1)).text(l(v))}y.select(".nv-hoverArea").append("rect").on("mousemove",r).on("click",function(){j=!j}).on("mouseout",function(){i=[],q()}),z.select(".nv-hoverArea rect").attr("transform",function(){return"translate("+-f.left+","+-f.top+")"}).attr("width",t+f.left+f.right).attr("height",u+f.top)}),b}var c,d,e=a.models.sparkline(),f={top:15,right:100,bottom:10,left:50},g=null,h=null,i=[],j=!1,k=d3.format(",r"),l=d3.format(",.2f"),m=!0,n=!0,o=!1,p=null;return b.sparkline=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},xTickFormat:{get:function(){return k},set:function(a){k=a}},yTickFormat:{get:function(){return l},set:function(a){l=a}},showLastValue:{get:function(){return m},set:function(a){m=a}},alignValue:{get:function(){return n},set:function(a){n=a}},rightAlignValue:{get:function(){return o},set:function(a){o=a}},noData:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.stackedArea=function(){"use strict";function b(m){return u.reset(),u.models(r),m.each(function(m){var s=f-e.left-e.right,v=g-e.top-e.bottom;j=d3.select(this),a.utils.initSVG(j),c=r.xScale(),d=r.yScale();var w=m;m.forEach(function(a,b){a.seriesIndex=b,a.values=a.values.map(function(a,c){return a.index=c,a.seriesIndex=b,a})});var x=m.filter(function(a){return!a.disabled});m=d3.layout.stack().order(o).offset(n).values(function(a){return a.values}).x(k).y(l).out(function(a,b,c){a.display={y:c,y0:b}})(x);var y=j.selectAll("g.nv-wrap.nv-stackedarea").data([m]),z=y.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea"),A=z.append("defs"),B=z.append("g"),C=y.select("g");B.append("g").attr("class","nv-areaWrap"),B.append("g").attr("class","nv-scatterWrap"),y.attr("transform","translate("+e.left+","+e.top+")"),0==r.forceY().length&&r.forceY().push(0),r.width(s).height(v).x(k).y(function(a){return a.display.y+a.display.y0}).forceY([0]).color(m.map(function(a){return a.color||h(a,a.seriesIndex)}));var D=C.select(".nv-scatterWrap").datum(m);D.call(r),A.append("clipPath").attr("id","nv-edge-clip-"+i).append("rect"),y.select("#nv-edge-clip-"+i+" rect").attr("width",s).attr("height",v),C.attr("clip-path",q?"url(#nv-edge-clip-"+i+")":"");var E=d3.svg.area().x(function(a,b){return c(k(a,b))}).y0(function(a){return d(a.display.y0)}).y1(function(a){return d(a.display.y+a.display.y0)}).interpolate(p),F=d3.svg.area().x(function(a,b){return c(k(a,b))}).y0(function(a){return d(a.display.y0)}).y1(function(a){return d(a.display.y0)}),G=C.select(".nv-areaWrap").selectAll("path.nv-area").data(function(a){return a});G.enter().append("path").attr("class",function(a,b){return"nv-area nv-area-"+b}).attr("d",function(a){return F(a.values,a.seriesIndex)}).on("mouseover",function(a){d3.select(this).classed("hover",!0),t.areaMouseover({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on("mouseout",function(a){d3.select(this).classed("hover",!1),t.areaMouseout({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on("click",function(a){d3.select(this).classed("hover",!1),t.areaClick({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}),G.exit().remove(),G.style("fill",function(a){return a.color||h(a,a.seriesIndex)}).style("stroke",function(a){return a.color||h(a,a.seriesIndex)}),G.watchTransition(u,"stackedArea path").attr("d",function(a,b){return E(a.values,b)}),r.dispatch.on("elementMouseover.area",function(a){C.select(".nv-chart-"+i+" .nv-area-"+a.seriesIndex).classed("hover",!0)}),r.dispatch.on("elementMouseout.area",function(a){C.select(".nv-chart-"+i+" .nv-area-"+a.seriesIndex).classed("hover",!1)}),b.d3_stackedOffset_stackPercent=function(a){var b,c,d,e=a.length,f=a[0].length,g=[];for(c=0;f>c;++c){for(b=0,d=0;b<w.length;b++)d+=l(w[b].values[c]);if(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=0}for(c=0;f>c;++c)g[c]=0;return g}}),u.renderEnd("stackedArea immediate"),b}var c,d,e={top:0,right:0,bottom:0,left:0},f=960,g=500,h=a.utils.defaultColor(),i=Math.floor(1e5*Math.random()),j=null,k=function(a){return a.x},l=function(a){return a.y},m="stack",n="zero",o="default",p="linear",q=!1,r=a.models.scatter(),s=250,t=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");r.pointSize(2.2).pointDomain([2.2,2.2]);var u=a.utils.renderWatch(t,s);return b.dispatch=t,b.scatter=r,r.dispatch.on("elementClick",function(){t.elementClick.apply(this,arguments)}),r.dispatch.on("elementMouseover",function(){t.elementMouseover.apply(this,arguments)}),r.dispatch.on("elementMouseout",function(){t.elementMouseout.apply(this,arguments)}),b.interpolate=function(a){return arguments.length?(p=a,b):p},b.duration=function(a){return arguments.length?(s=a,u.reset(s),r.duration(s),b):s},b.dispatch=t,b.scatter=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return f},set:function(a){f=a}},height:{get:function(){return g},set:function(a){g=a}},clipEdge:{get:function(){return q},set:function(a){q=a}},offset:{get:function(){return n},set:function(a){n=a}},order:{get:function(){return o},set:function(a){o=a}},interpolate:{get:function(){return p},set:function(a){p=a}},x:{get:function(){return k},set:function(a){k=d3.functor(a)}},y:{get:function(){return l},set:function(a){l=d3.functor(a)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}},style:{get:function(){return m},set:function(a){switch(m=a){case"stack":b.offset("zero"),b.order("default");break;case"stream":b.offset("wiggle"),b.order("inside-out");break;case"stream-center":b.offset("silhouette"),b.order("inside-out");break;case"expand":b.offset("expand"),b.order("default");break;case"stack_percent":b.offset(b.d3_stackedOffset_stackPercent),b.order("default")}}},duration:{get:function(){return s},set:function(a){s=a,u.reset(s),r.duration(s)}}}),a.utils.inheritOptions(b,r),a.utils.initOptions(b),b},a.models.stackedAreaChart=function(){"use strict";function b(k){return F.reset(),F.models(e),r&&F.models(f),s&&F.models(g),k.each(function(k){var x=d3.select(this),F=this;a.utils.initSVG(x);var K=a.utils.availableWidth(m,x,l),L=a.utils.availableHeight(n,x,l);if(b.update=function(){x.transition().duration(C).call(b)},b.container=this,v.setter(I(k),b.update).getter(H(k)).update(),v.disabled=k.map(function(a){return!!a.disabled}),!w){var M;w={};for(M in v)w[M]=v[M]instanceof Array?v[M].slice(0):v[M]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(b,x),b;x.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var N=x.selectAll("g.nv-wrap.nv-stackedAreaChart").data([k]),O=N.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),P=N.select("g");if(O.append("rect").style("opacity",0),O.append("g").attr("class","nv-x nv-axis"),O.append("g").attr("class","nv-y nv-axis"),O.append("g").attr("class","nv-stackedWrap"),O.append("g").attr("class","nv-legendWrap"),O.append("g").attr("class","nv-controlsWrap"),O.append("g").attr("class","nv-interactive"),P.select("rect").attr("width",K).attr("height",L),q){var Q=p?K-z:K;h.width(Q),P.select(".nv-legendWrap").datum(k).call(h),l.top!=h.height()&&(l.top=h.height(),L=a.utils.availableHeight(n,x,l)),P.select(".nv-legendWrap").attr("transform","translate("+(K-Q)+","+-l.top+")")}if(p){var R=[{key:B.stacked||"Stacked",metaKey:"Stacked",disabled:"stack"!=e.style(),style:"stack"},{key:B.stream||"Stream",metaKey:"Stream",disabled:"stream"!=e.style(),style:"stream"},{key:B.expanded||"Expanded",metaKey:"Expanded",disabled:"expand"!=e.style(),style:"expand"},{key:B.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:"stack_percent"!=e.style(),style:"stack_percent"}];z=A.length/3*260,R=R.filter(function(a){return-1!==A.indexOf(a.metaKey)}),i.width(z).color(["#444","#444","#444"]),P.select(".nv-controlsWrap").datum(R).call(i),l.top!=Math.max(i.height(),h.height())&&(l.top=Math.max(i.height(),h.height()),L=a.utils.availableHeight(n,x,l)),P.select(".nv-controlsWrap").attr("transform","translate(0,"+-l.top+")")}N.attr("transform","translate("+l.left+","+l.top+")"),t&&P.select(".nv-y.nv-axis").attr("transform","translate("+K+",0)"),u&&(j.width(K).height(L).margin({left:l.left,top:l.top}).svgContainer(x).xScale(c),N.select(".nv-interactive").call(j)),e.width(K).height(L);var S=P.select(".nv-stackedWrap").datum(k);if(S.transition().call(e),r&&(f.scale(c)._ticks(a.utils.calcTicksX(K/100,k)).tickSize(-L,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+L+")"),P.select(".nv-x.nv-axis").transition().duration(0).call(f)),s){var T;if(T="wiggle"===e.offset()?0:a.utils.calcTicksY(L/36,k),g.scale(d)._ticks(T).tickSize(-K,0),"expand"===e.style()||"stack_percent"===e.style()){var U=g.tickFormat();D&&U===J||(D=U),g.tickFormat(J)}else D&&(g.tickFormat(D),D=null);P.select(".nv-y.nv-axis").transition().duration(0).call(g)}e.dispatch.on("areaClick.toggle",function(a){k.forEach(1===k.filter(function(a){return!a.disabled}).length?function(a){a.disabled=!1}:function(b,c){b.disabled=c!=a.seriesIndex}),v.disabled=k.map(function(a){return!!a.disabled}),y.stateChange(v),b.update()}),h.dispatch.on("stateChange",function(a){for(var c in a)v[c]=a[c];y.stateChange(v),b.update()}),i.dispatch.on("legendClick",function(a){a.disabled&&(R=R.map(function(a){return a.disabled=!0,a}),a.disabled=!1,e.style(a.style),v.style=e.style(),y.stateChange(v),b.update())}),j.dispatch.on("elementMousemove",function(c){e.clearHighlights();var d,g,h,i=[];if(k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(f,j){g=a.interactiveBisect(f.values,c.pointXValue,b.x());var k=f.values[g],l=b.y()(k,g);if(null!=l&&e.highlightPoint(j,g,!0),"undefined"!=typeof k){"undefined"==typeof d&&(d=k),"undefined"==typeof h&&(h=b.xScale()(b.x()(k,g)));var m="expand"==e.style()?k.display.y:b.y()(k,g);i.push({key:f.key,value:m,color:o(f,f.seriesIndex),stackedValue:k.display})}}),i.reverse(),i.length>2){var m=b.yScale().invert(c.mouseY),n=null;i.forEach(function(a,b){m=Math.abs(m);var c=Math.abs(a.stackedValue.y0),d=Math.abs(a.stackedValue.y);return m>=c&&d+c>=m?void(n=b):void 0}),null!=n&&(i[n].highlight=!0)}var p=f.tickFormat()(b.x()(d,g)),q=j.tooltip.valueFormatter();"expand"===e.style()||"stack_percent"===e.style()?(E||(E=q),q=d3.format(".1%")):E&&(q=E,E=null),j.tooltip.position({left:h+l.left,top:c.mouseY+l.top}).chartContainer(F.parentNode).valueFormatter(q).data({value:p,series:i})(),j.renderGuideLine(h)}),j.dispatch.on("elementMouseout",function(){e.clearHighlights()}),y.on("changeState",function(a){"undefined"!=typeof a.disabled&&k.length===a.disabled.length&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),v.disabled=a.disabled),"undefined"!=typeof a.style&&(e.style(a.style),G=a.style),b.update()})}),F.renderEnd("stacked Area chart immediate"),b}var c,d,e=a.models.stackedArea(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right:25,bottom:50,left:60},m=null,n=null,o=a.utils.defaultColor(),p=!0,q=!0,r=!0,s=!0,t=!1,u=!1,v=a.utils.state(),w=null,x=null,y=d3.dispatch("stateChange","changeState","renderEnd"),z=250,A=["Stacked","Stream","Expanded"],B={},C=250;v.style=e.style(),f.orient("bottom").tickPadding(7),g.orient(t?"right":"left"),k.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)}),j.tooltip.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)});var D=null,E=null;i.updateState(!1);var F=a.utils.renderWatch(y),G=e.style(),H=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),style:e.style()}}},I=function(a){return function(b){void 0!==b.style&&(G=b.style),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},J=d3.format("%");return e.dispatch.on("elementMouseover.tooltip",function(a){a.point.x=e.x()(a.point),a.point.y=e.y()(a.point),k.data(a).position(a.pos).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(){k.hidden(!0)}),b.dispatch=y,b.stacked=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.interactiveLayer=j,b.tooltip=k,b.dispatch=y,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return w},set:function(a){w=a}},noData:{get:function(){return x},set:function(a){x=a}},showControls:{get:function(){return p},set:function(a){p=a}},controlLabels:{get:function(){return B},set:function(a){B=a}},controlOptions:{get:function(){return A},set:function(a){A=a}},tooltips:{get:function(){return k.enabled()},set:function(b){a.deprecated("tooltips","use chart.tooltip.enabled() instead"),k.enabled(!!b)}},tooltipContent:{get:function(){return k.contentGenerator()},set:function(b){a.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead"),k.contentGenerator(b)}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},duration:{get:function(){return C},set:function(a){C=a,F.reset(C),e.duration(C),f.duration(C),g.duration(C)}},color:{get:function(){return o},set:function(b){o=a.utils.getColor(b),h.color(o),e.color(o)}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,g.orient(t?"right":"left")}},useInteractiveGuideline:{get:function(){return u},set:function(a){u=!!a,b.interactive(!a),b.useVoronoi(!a),e.scatter.interactive(!a)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.sunburst=function(){"use strict";function b(u){return t.reset(),u.each(function(b){function t(a){a.x0=a.x,a.dx0=a.dx}function u(a){var b=d3.interpolate(p.domain(),[a.x,a.x+a.dx]),c=d3.interpolate(q.domain(),[a.y,1]),d=d3.interpolate(q.range(),[a.y?20:0,y]);return function(a,e){return e?function(){return s(a)}:function(e){return p.domain(b(e)),q.domain(c(e)).range(d(e)),s(a)}}}l=d3.select(this);var v,w=a.utils.availableWidth(g,l,f),x=a.utils.availableHeight(h,l,f),y=Math.min(w,x)/2;a.utils.initSVG(l);var z=l.selectAll(".nv-wrap.nv-sunburst").data(b),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+k),B=A.selectAll("nv-sunburst");z.attr("transform","translate("+w/2+","+x/2+")"),l.on("click",function(a,b){o.chartClick({data:a,index:b,pos:d3.event,id:k})}),q.range([0,y]),c=c||b,e=b[0],r.value(j[i]||j.count),v=B.data(r.nodes).enter().append("path").attr("d",s).style("fill",function(a){return m((a.children?a:a.parent).name)}).style("stroke","#FFF").on("click",function(a){d!==c&&c!==a&&(d=c),c=a,v.transition().duration(n).attrTween("d",u(a))}).each(t).on("dblclick",function(a){d.parent==a&&v.transition().duration(n).attrTween("d",u(e))}).each(t).on("mouseover",function(a){d3.select(this).classed("hover",!0).style("opacity",.8),o.elementMouseover({data:a,color:d3.select(this).style("fill")})}).on("mouseout",function(a){d3.select(this).classed("hover",!1).style("opacity",1),o.elementMouseout({data:a})}).on("mousemove",function(a){o.elementMousemove({data:a})})}),t.renderEnd("sunburst immediate"),b}var c,d,e,f={top:0,right:0,bottom:0,left:0},g=null,h=null,i="count",j={count:function(){return 1},size:function(a){return a.size}},k=Math.floor(1e4*Math.random()),l=null,m=a.utils.defaultColor(),n=500,o=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd"),p=d3.scale.linear().range([0,2*Math.PI]),q=d3.scale.sqrt(),r=d3.layout.partition().sort(null).value(function(){return 1}),s=d3.svg.arc().startAngle(function(a){return Math.max(0,Math.min(2*Math.PI,p(a.x)))}).endAngle(function(a){return Math.max(0,Math.min(2*Math.PI,p(a.x+a.dx)))}).innerRadius(function(a){return Math.max(0,q(a.y))}).outerRadius(function(a){return Math.max(0,q(a.y+a.dy))}),t=a.utils.renderWatch(o);return b.dispatch=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},mode:{get:function(){return i},set:function(a){i=a}},id:{get:function(){return k},set:function(a){k=a}},duration:{get:function(){return n},set:function(a){n=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!=a.top?a.top:f.top,f.right=void 0!=a.right?a.right:f.right,f.bottom=void 0!=a.bottom?a.bottom:f.bottom,f.left=void 0!=a.left?a.left:f.left}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.sunburstChart=function(){"use strict";function b(d){return m.reset(),m.models(c),d.each(function(d){var h=d3.select(this);a.utils.initSVG(h);var i=a.utils.availableWidth(f,h,e),j=a.utils.availableHeight(g,h,e);if(b.update=function(){0===k?h.call(b):h.transition().duration(k).call(b)},b.container=this,!d||!d.length)return a.utils.noData(b,h),b;h.selectAll(".nv-noData").remove();var l=h.selectAll("g.nv-wrap.nv-sunburstChart").data(d),m=l.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburstChart").append("g"),n=l.select("g");m.append("g").attr("class","nv-sunburstWrap"),l.attr("transform","translate("+e.left+","+e.top+")"),c.width(i).height(j);var o=n.select(".nv-sunburstWrap").datum(d);d3.transition(o).call(c)}),m.renderEnd("sunburstChart immediate"),b}var c=a.models.sunburst(),d=a.models.tooltip(),e={top:30,right:20,bottom:20,left:20},f=null,g=null,h=a.utils.defaultColor(),i=(Math.round(1e5*Math.random()),null),j=null,k=250,l=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),m=a.utils.renderWatch(l);return d.headerEnabled(!1).duration(0).valueFormatter(function(a){return a}),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.data.name,value:a.data.size,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){d.position({top:d3.event.pageY,left:d3.event.pageX})()}),b.dispatch=l,b.sunburst=c,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return j},set:function(a){j=a}},defaultState:{get:function(){return i},set:function(a){i=a}},color:{get:function(){return h},set:function(a){h=a,c.color(h)}},duration:{get:function(){return k},set:function(a){k=a,m.reset(k),c.duration(k)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.version="1.8.1"}();/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
- * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
- *  */
-
-!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);     <tr>
-      <td class="{{methods_level}}" colspan="4">{{name}}</td>
-      <td class="{{methods_level}} big">{{methods_bar}}</td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_tested_percent}}</div></td>
-      <td class="{{methods_level}} small"><div align="right">{{methods_number}}</div></td>
-      <td class="{{methods_level}} small">{{crap}}</td>
-      <td class="{{lines_level}} big">{{lines_bar}}</td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_executed_percent}}</div></td>
-      <td class="{{lines_level}} small"><div align="right">{{lines_number}}</div></td>
-     </tr>
-
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-
-/**
- * Uses var_export() to write a SebastianBergmann\CodeCoverage\CodeCoverage object to a file.
- */
-class PHP
-{
-    /**
-     * @param CodeCoverage $coverage
-     * @param string       $target
-     *
-     * @return string
-     */
-    public function process(CodeCoverage $coverage, $target = null)
-    {
-        $filter = $coverage->filter();
-
-        $output = sprintf(
-            '<?php
-$coverage = new SebastianBergmann\CodeCoverage\CodeCoverage;
-$coverage->setData(%s);
-$coverage->setTests(%s);
-
-$filter = $coverage->filter();
-$filter->setWhitelistedFiles(%s);
-
-return $coverage;',
-            var_export($coverage->getData(true), 1),
-            var_export($coverage->getTests(), 1),
-            var_export($filter->getWhitelistedFiles(), 1)
-        );
-
-        if ($target !== null) {
-            return file_put_contents($target, $output);
-        } else {
-            return $output;
-        }
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Node\File;
-use SebastianBergmann\CodeCoverage\Util;
-
-/**
- * Generates human readable output from a code coverage object.
- *
- * The output gets put into a text file our written to the CLI.
- */
-class Text
-{
-    private $lowUpperBound;
-    private $highLowerBound;
-    private $showUncoveredFiles;
-    private $showOnlySummary;
-
-    private $colors = [
-        'green'  => "\x1b[30;42m",
-        'yellow' => "\x1b[30;43m",
-        'red'    => "\x1b[37;41m",
-        'header' => "\x1b[1;37;40m",
-        'reset'  => "\x1b[0m",
-        'eol'    => "\x1b[2K",
-    ];
-
-    /**
-     * @param int  $lowUpperBound
-     * @param int  $highLowerBound
-     * @param bool $showUncoveredFiles
-     * @param bool $showOnlySummary
-     */
-    public function __construct($lowUpperBound = 50, $highLowerBound = 90, $showUncoveredFiles = false, $showOnlySummary = false)
-    {
-        $this->lowUpperBound      = $lowUpperBound;
-        $this->highLowerBound     = $highLowerBound;
-        $this->showUncoveredFiles = $showUncoveredFiles;
-        $this->showOnlySummary    = $showOnlySummary;
-    }
-
-    /**
-     * @param CodeCoverage $coverage
-     * @param bool         $showColors
-     *
-     * @return string
-     */
-    public function process(CodeCoverage $coverage, $showColors = false)
-    {
-        $output = PHP_EOL . PHP_EOL;
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        $colors = [
-            'header'  => '',
-            'classes' => '',
-            'methods' => '',
-            'lines'   => '',
-            'reset'   => '',
-            'eol'     => ''
-        ];
-
-        if ($showColors) {
-            $colors['classes'] = $this->getCoverageColor(
-                $report->getNumTestedClassesAndTraits(),
-                $report->getNumClassesAndTraits()
-            );
-            $colors['methods'] = $this->getCoverageColor(
-                $report->getNumTestedMethods(),
-                $report->getNumMethods()
-            );
-            $colors['lines']   = $this->getCoverageColor(
-                $report->getNumExecutedLines(),
-                $report->getNumExecutableLines()
-            );
-            $colors['reset']   = $this->colors['reset'];
-            $colors['header']  = $this->colors['header'];
-            $colors['eol']     = $this->colors['eol'];
-        }
-
-        $classes = sprintf(
-            '  Classes: %6s (%d/%d)',
-            Util::percent(
-                $report->getNumTestedClassesAndTraits(),
-                $report->getNumClassesAndTraits(),
-                true
-            ),
-            $report->getNumTestedClassesAndTraits(),
-            $report->getNumClassesAndTraits()
-        );
-
-        $methods = sprintf(
-            '  Methods: %6s (%d/%d)',
-            Util::percent(
-                $report->getNumTestedMethods(),
-                $report->getNumMethods(),
-                true
-            ),
-            $report->getNumTestedMethods(),
-            $report->getNumMethods()
-        );
-
-        $lines = sprintf(
-            '  Lines:   %6s (%d/%d)',
-            Util::percent(
-                $report->getNumExecutedLines(),
-                $report->getNumExecutableLines(),
-                true
-            ),
-            $report->getNumExecutedLines(),
-            $report->getNumExecutableLines()
-        );
-
-        $padding = max(array_map('strlen', [$classes, $methods, $lines]));
-
-        if ($this->showOnlySummary) {
-            $title   = 'Code Coverage Report Summary:';
-            $padding = max($padding, strlen($title));
-
-            $output .= $this->format($colors['header'], $padding, $title);
-        } else {
-            $date  = date('  Y-m-d H:i:s', $_SERVER['REQUEST_TIME']);
-            $title = 'Code Coverage Report:';
-
-            $output .= $this->format($colors['header'], $padding, $title);
-            $output .= $this->format($colors['header'], $padding, $date);
-            $output .= $this->format($colors['header'], $padding, '');
-            $output .= $this->format($colors['header'], $padding, ' Summary:');
-        }
-
-        $output .= $this->format($colors['classes'], $padding, $classes);
-        $output .= $this->format($colors['methods'], $padding, $methods);
-        $output .= $this->format($colors['lines'], $padding, $lines);
-
-        if ($this->showOnlySummary) {
-            return $output . PHP_EOL;
-        }
-
-        $classCoverage = [];
-
-        foreach ($report as $item) {
-            if (!$item instanceof File) {
-                continue;
-            }
-
-            $classes = $item->getClassesAndTraits();
-
-            foreach ($classes as $className => $class) {
-                $classStatements        = 0;
-                $coveredClassStatements = 0;
-                $coveredMethods         = 0;
-                $classMethods           = 0;
-
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] == 0) {
-                        continue;
-                    }
-
-                    $classMethods++;
-                    $classStatements        += $method['executableLines'];
-                    $coveredClassStatements += $method['executedLines'];
-                    if ($method['coverage'] == 100) {
-                        $coveredMethods++;
-                    }
-                }
-
-                if (!empty($class['package']['namespace'])) {
-                    $namespace = '\\' . $class['package']['namespace'] . '::';
-                } elseif (!empty($class['package']['fullPackage'])) {
-                    $namespace = '@' . $class['package']['fullPackage'] . '::';
-                } else {
-                    $namespace = '';
-                }
-
-                $classCoverage[$namespace . $className] = [
-                    'namespace'         => $namespace,
-                    'className '        => $className,
-                    'methodsCovered'    => $coveredMethods,
-                    'methodCount'       => $classMethods,
-                    'statementsCovered' => $coveredClassStatements,
-                    'statementCount'    => $classStatements,
-                ];
-            }
-        }
-
-        ksort($classCoverage);
-
-        $methodColor = '';
-        $linesColor  = '';
-        $resetColor  = '';
-
-        foreach ($classCoverage as $fullQualifiedPath => $classInfo) {
-            if ($classInfo['statementsCovered'] != 0 ||
-                $this->showUncoveredFiles) {
-                if ($showColors) {
-                    $methodColor = $this->getCoverageColor($classInfo['methodsCovered'], $classInfo['methodCount']);
-                    $linesColor  = $this->getCoverageColor($classInfo['statementsCovered'], $classInfo['statementCount']);
-                    $resetColor  = $colors['reset'];
-                }
-
-                $output .= PHP_EOL . $fullQualifiedPath . PHP_EOL
-                    . '  ' . $methodColor . 'Methods: ' . $this->printCoverageCounts($classInfo['methodsCovered'], $classInfo['methodCount'], 2) . $resetColor . ' '
-                    . '  ' . $linesColor  . 'Lines: ' . $this->printCoverageCounts($classInfo['statementsCovered'], $classInfo['statementCount'], 3) . $resetColor
-                ;
-            }
-        }
-
-        return $output . PHP_EOL;
-    }
-
-    protected function getCoverageColor($numberOfCoveredElements, $totalNumberOfElements)
-    {
-        $coverage = Util::percent(
-            $numberOfCoveredElements,
-            $totalNumberOfElements
-        );
-
-        if ($coverage >= $this->highLowerBound) {
-            return $this->colors['green'];
-        } elseif ($coverage > $this->lowUpperBound) {
-            return $this->colors['yellow'];
-        }
-
-        return $this->colors['red'];
-    }
-
-    protected function printCoverageCounts($numberOfCoveredElements, $totalNumberOfElements, $precision)
-    {
-        $format = '%' . $precision . 's';
-
-        return Util::percent(
-            $numberOfCoveredElements,
-            $totalNumberOfElements,
-            true,
-            true
-        ) .
-        ' (' . sprintf($format, $numberOfCoveredElements) . '/' .
-        sprintf($format, $totalNumberOfElements) . ')';
-    }
-
-    private function format($color, $padding, $string)
-    {
-        $reset = $color ? $this->colors['reset'] : '';
-
-        return $color . str_pad($string, $padding) . $reset . PHP_EOL;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-use SebastianBergmann\CodeCoverage\RuntimeException;
-
-class Coverage
-{
-    /**
-     * @var \XMLWriter
-     */
-    private $writer;
-
-    /**
-     * @var \DOMElement
-     */
-    private $contextNode;
-
-    /**
-     * @var bool
-     */
-    private $finalized = false;
-
-    public function __construct(\DOMElement $context, $line)
-    {
-        $this->contextNode = $context;
-
-        $this->writer = new \XMLWriter;
-        $this->writer->openMemory();
-        $this->writer->startElementNs(null, $context->nodeName, 'http://schema.phpunit.de/coverage/1.0');
-        $this->writer->writeAttribute('nr', $line);
-    }
-
-    public function addTest($test)
-    {
-        if ($this->finalized) {
-            throw new RuntimeException('Coverage Report already finalized');
-        }
-
-        $this->writer->startElement('covered');
-        $this->writer->writeAttribute('by', $test);
-        $this->writer->endElement();
-    }
-
-    public function finalize()
-    {
-        $this->writer->endElement();
-
-        $fragment = $this->contextNode->ownerDocument->createDocumentFragment();
-        $fragment->appendXML($this->writer->outputMemory());
-
-        $this->contextNode->parentNode->replaceChild(
-            $fragment,
-            $this->contextNode
-        );
-
-        $this->finalized = true;
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Directory extends Node
-{
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Node\AbstractNode;
-use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-use SebastianBergmann\CodeCoverage\Node\File as FileNode;
-use SebastianBergmann\CodeCoverage\RuntimeException;
-
-class Facade
-{
-    /**
-     * @var string
-     */
-    private $target;
-
-    /**
-     * @var Project
-     */
-    private $project;
-
-    /**
-     * @param CodeCoverage $coverage
-     * @param string       $target
-     *
-     * @throws RuntimeException
-     */
-    public function process(CodeCoverage $coverage, $target)
-    {
-        if (substr($target, -1, 1) != DIRECTORY_SEPARATOR) {
-            $target .= DIRECTORY_SEPARATOR;
-        }
-
-        $this->target = $target;
-        $this->initTargetDirectory($target);
-
-        $report = $coverage->getReport();
-
-        $this->project = new Project(
-            $coverage->getReport()->getName()
-        );
-
-        $this->processTests($coverage->getTests());
-        $this->processDirectory($report, $this->project);
-
-        $index                     = $this->project->asDom();
-        $index->formatOutput       = true;
-        $index->preserveWhiteSpace = false;
-        $index->save($target . '/index.xml');
-    }
-
-    /**
-     * @param string $directory
-     */
-    private function initTargetDirectory($directory)
-    {
-        if (file_exists($directory)) {
-            if (!is_dir($directory)) {
-                throw new RuntimeException(
-                    "'$directory' exists but is not a directory."
-                );
-            }
-
-            if (!is_writable($directory)) {
-                throw new RuntimeException(
-                    "'$directory' exists but is not writable."
-                );
-            }
-        } elseif (!@mkdir($directory, 0777, true)) {
-            throw new RuntimeException(
-                "'$directory' could not be created."
-            );
-        }
-    }
-
-    private function processDirectory(DirectoryNode $directory, Node $context)
-    {
-        $dirObject = $context->addDirectory($directory->getName());
-
-        $this->setTotals($directory, $dirObject->getTotals());
-
-        foreach ($directory as $node) {
-            if ($node instanceof DirectoryNode) {
-                $this->processDirectory($node, $dirObject);
-                continue;
-            }
-
-            if ($node instanceof FileNode) {
-                $this->processFile($node, $dirObject);
-                continue;
-            }
-
-            throw new RuntimeException(
-                'Unknown node type for XML report'
-            );
-        }
-    }
-
-    private function processFile(FileNode $file, Directory $context)
-    {
-        $fileObject = $context->addFile(
-            $file->getName(),
-            $file->getId() . '.xml'
-        );
-
-        $this->setTotals($file, $fileObject->getTotals());
-
-        $fileReport = new Report($file->getName());
-
-        $this->setTotals($file, $fileReport->getTotals());
-
-        foreach ($file->getClassesAndTraits() as $unit) {
-            $this->processUnit($unit, $fileReport);
-        }
-
-        foreach ($file->getFunctions() as $function) {
-            $this->processFunction($function, $fileReport);
-        }
-
-        foreach ($file->getCoverageData() as $line => $tests) {
-            if (!is_array($tests) || count($tests) == 0) {
-                continue;
-            }
-
-            $coverage = $fileReport->getLineCoverage($line);
-
-            foreach ($tests as $test) {
-                $coverage->addTest($test);
-            }
-
-            $coverage->finalize();
-        }
-
-        $this->initTargetDirectory(
-            $this->target . dirname($file->getId()) . '/'
-        );
-
-        $fileDom                     = $fileReport->asDom();
-        $fileDom->formatOutput       = true;
-        $fileDom->preserveWhiteSpace = false;
-        $fileDom->save($this->target . $file->getId() . '.xml');
-    }
-
-    private function processUnit($unit, Report $report)
-    {
-        if (isset($unit['className'])) {
-            $unitObject = $report->getClassObject($unit['className']);
-        } else {
-            $unitObject = $report->getTraitObject($unit['traitName']);
-        }
-
-        $unitObject->setLines(
-            $unit['startLine'],
-            $unit['executableLines'],
-            $unit['executedLines']
-        );
-
-        $unitObject->setCrap($unit['crap']);
-
-        $unitObject->setPackage(
-            $unit['package']['fullPackage'],
-            $unit['package']['package'],
-            $unit['package']['subpackage'],
-            $unit['package']['category']
-        );
-
-        $unitObject->setNamespace($unit['package']['namespace']);
-
-        foreach ($unit['methods'] as $method) {
-            $methodObject = $unitObject->addMethod($method['methodName']);
-            $methodObject->setSignature($method['signature']);
-            $methodObject->setLines($method['startLine'], $method['endLine']);
-            $methodObject->setCrap($method['crap']);
-            $methodObject->setTotals(
-                $method['executableLines'],
-                $method['executedLines'],
-                $method['coverage']
-            );
-        }
-    }
-
-    private function processFunction($function, Report $report)
-    {
-        $functionObject = $report->getFunctionObject($function['functionName']);
-
-        $functionObject->setSignature($function['signature']);
-        $functionObject->setLines($function['startLine']);
-        $functionObject->setCrap($function['crap']);
-        $functionObject->setTotals($function['executableLines'], $function['executedLines'], $function['coverage']);
-    }
-
-    private function processTests(array $tests)
-    {
-        $testsObject = $this->project->getTests();
-
-        foreach ($tests as $test => $result) {
-            if ($test == 'UNCOVERED_FILES_FROM_WHITELIST') {
-                continue;
-            }
-
-            $testsObject->addTest($test, $result);
-        }
-    }
-
-    private function setTotals(AbstractNode $node, Totals $totals)
-    {
-        $loc = $node->getLinesOfCode();
-
-        $totals->setNumLines(
-            $loc['loc'],
-            $loc['cloc'],
-            $loc['ncloc'],
-            $node->getNumExecutableLines(),
-            $node->getNumExecutedLines()
-        );
-
-        $totals->setNumClasses(
-            $node->getNumClasses(),
-            $node->getNumTestedClasses()
-        );
-
-        $totals->setNumTraits(
-            $node->getNumTraits(),
-            $node->getNumTestedTraits()
-        );
-
-        $totals->setNumMethods(
-            $node->getNumMethods(),
-            $node->getNumTestedMethods()
-        );
-
-        $totals->setNumFunctions(
-            $node->getNumFunctions(),
-            $node->getNumTestedFunctions()
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class File
-{
-    /**
-     * @var \DOMDocument
-     */
-    protected $dom;
-
-    /**
-     * @var \DOMElement
-     */
-    protected $contextNode;
-
-    public function __construct(\DOMElement $context)
-    {
-        $this->dom         = $context->ownerDocument;
-        $this->contextNode = $context;
-    }
-
-    public function getTotals()
-    {
-        $totalsContainer = $this->contextNode->firstChild;
-
-        if (!$totalsContainer) {
-            $totalsContainer = $this->contextNode->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'totals'
-                )
-            );
-        }
-
-        return new Totals($totalsContainer);
-    }
-
-    public function getLineCoverage($line)
-    {
-        $coverage = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'coverage'
-        )->item(0);
-
-        if (!$coverage) {
-            $coverage = $this->contextNode->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'coverage'
-                )
-            );
-        }
-
-        $lineNode = $coverage->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'line'
-            )
-        );
-
-        return new Coverage($lineNode, $line);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Method
-{
-    /**
-     * @var \DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(\DOMElement $context, $name)
-    {
-        $this->contextNode = $context;
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function setSignature($signature)
-    {
-        $this->contextNode->setAttribute('signature', $signature);
-    }
-
-    public function setLines($start, $end = null)
-    {
-        $this->contextNode->setAttribute('start', $start);
-
-        if ($end !== null) {
-            $this->contextNode->setAttribute('end', $end);
-        }
-    }
-
-    public function setTotals($executable, $executed, $coverage)
-    {
-        $this->contextNode->setAttribute('executable', $executable);
-        $this->contextNode->setAttribute('executed', $executed);
-        $this->contextNode->setAttribute('coverage', $coverage);
-    }
-
-    public function setCrap($crap)
-    {
-        $this->contextNode->setAttribute('crap', $crap);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Node
-{
-    /**
-     * @var \DOMDocument
-     */
-    private $dom;
-
-    /**
-     * @var \DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(\DOMElement $context)
-    {
-        $this->setContextNode($context);
-    }
-
-    protected function setContextNode(\DOMElement $context)
-    {
-        $this->dom         = $context->ownerDocument;
-        $this->contextNode = $context;
-    }
-
-    public function getDom()
-    {
-        return $this->dom;
-    }
-
-    protected function getContextNode()
-    {
-        return $this->contextNode;
-    }
-
-    public function getTotals()
-    {
-        $totalsContainer = $this->getContextNode()->firstChild;
-
-        if (!$totalsContainer) {
-            $totalsContainer = $this->getContextNode()->appendChild(
-                $this->dom->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'totals'
-                )
-            );
-        }
-
-        return new Totals($totalsContainer);
-    }
-
-    public function addDirectory($name)
-    {
-        $dirNode = $this->getDom()->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'directory'
-        );
-
-        $dirNode->setAttribute('name', $name);
-        $this->getContextNode()->appendChild($dirNode);
-
-        return new Directory($dirNode);
-    }
-
-    public function addFile($name, $href)
-    {
-        $fileNode = $this->getDom()->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'file'
-        );
-
-        $fileNode->setAttribute('name', $name);
-        $fileNode->setAttribute('href', $href);
-        $this->getContextNode()->appendChild($fileNode);
-
-        return new File($fileNode);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Project extends Node
-{
-    public function __construct($name)
-    {
-        $this->init();
-        $this->setProjectName($name);
-    }
-
-    private function init()
-    {
-        $dom = new \DOMDocument;
-        $dom->loadXML('<?xml version="1.0" ?><phpunit xmlns="http://schema.phpunit.de/coverage/1.0"><project/></phpunit>');
-
-        $this->setContextNode(
-            $dom->getElementsByTagNameNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'project'
-            )->item(0)
-        );
-    }
-
-    private function setProjectName($name)
-    {
-        $this->getContextNode()->setAttribute('name', $name);
-    }
-
-    public function getTests()
-    {
-        $testsNode = $this->getContextNode()->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'tests'
-        )->item(0);
-
-        if (!$testsNode) {
-            $testsNode = $this->getContextNode()->appendChild(
-                $this->getDom()->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'tests'
-                )
-            );
-        }
-
-        return new Tests($testsNode);
-    }
-
-    public function asDom()
-    {
-        return $this->getDom();
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Report extends File
-{
-    public function __construct($name)
-    {
-        $this->dom = new \DOMDocument;
-        $this->dom->loadXML('<?xml version="1.0" ?><phpunit xmlns="http://schema.phpunit.de/coverage/1.0"><file /></phpunit>');
-
-        $this->contextNode = $this->dom->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'file'
-        )->item(0);
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function asDom()
-    {
-        return $this->dom;
-    }
-
-    public function getFunctionObject($name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'function'
-            )
-        );
-
-        return new Method($node, $name);
-    }
-
-    public function getClassObject($name)
-    {
-        return $this->getUnitObject('class', $name);
-    }
-
-    public function getTraitObject($name)
-    {
-        return $this->getUnitObject('trait', $name);
-    }
-
-    private function getUnitObject($tagName, $name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->dom->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                $tagName
-            )
-        );
-
-        return new Unit($node, $name);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Tests
-{
-    private $contextNode;
-
-    private $codeMap = [
-        0 => 'PASSED',     // PHPUnit_Runner_BaseTestRunner::STATUS_PASSED
-        1 => 'SKIPPED',    // PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED
-        2 => 'INCOMPLETE', // PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE
-        3 => 'FAILURE',    // PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE
-        4 => 'ERROR',      // PHPUnit_Runner_BaseTestRunner::STATUS_ERROR
-        5 => 'RISKY'       // PHPUnit_Runner_BaseTestRunner::STATUS_RISKY
-    ];
-
-    public function __construct(\DOMElement $context)
-    {
-        $this->contextNode = $context;
-    }
-
-    public function addTest($test, array $result)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->contextNode->ownerDocument->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'test'
-            )
-        );
-
-        $node->setAttribute('name', $test);
-        $node->setAttribute('size', $result['size']);
-        $node->setAttribute('result', (int) $result['status']);
-        $node->setAttribute('status', $this->codeMap[(int) $result['status']]);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-use SebastianBergmann\CodeCoverage\Util;
-
-class Totals
-{
-    /**
-     * @var \DOMNode
-     */
-    private $container;
-
-    /**
-     * @var \DOMElement
-     */
-    private $linesNode;
-
-    /**
-     * @var \DOMElement
-     */
-    private $methodsNode;
-
-    /**
-     * @var \DOMElement
-     */
-    private $functionsNode;
-
-    /**
-     * @var \DOMElement
-     */
-    private $classesNode;
-
-    /**
-     * @var \DOMElement
-     */
-    private $traitsNode;
-
-    public function __construct(\DOMElement $container)
-    {
-        $this->container = $container;
-        $dom             = $container->ownerDocument;
-
-        $this->linesNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'lines'
-        );
-
-        $this->methodsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'methods'
-        );
-
-        $this->functionsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'functions'
-        );
-
-        $this->classesNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'classes'
-        );
-
-        $this->traitsNode = $dom->createElementNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'traits'
-        );
-
-        $container->appendChild($this->linesNode);
-        $container->appendChild($this->methodsNode);
-        $container->appendChild($this->functionsNode);
-        $container->appendChild($this->classesNode);
-        $container->appendChild($this->traitsNode);
-    }
-
-    public function getContainer()
-    {
-        return $this->container;
-    }
-
-    public function setNumLines($loc, $cloc, $ncloc, $executable, $executed)
-    {
-        $this->linesNode->setAttribute('total', $loc);
-        $this->linesNode->setAttribute('comments', $cloc);
-        $this->linesNode->setAttribute('code', $ncloc);
-        $this->linesNode->setAttribute('executable', $executable);
-        $this->linesNode->setAttribute('executed', $executed);
-        $this->linesNode->setAttribute(
-            'percent',
-            Util::percent($executed, $executable, true)
-        );
-    }
-
-    public function setNumClasses($count, $tested)
-    {
-        $this->classesNode->setAttribute('count', $count);
-        $this->classesNode->setAttribute('tested', $tested);
-        $this->classesNode->setAttribute(
-            'percent',
-            Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumTraits($count, $tested)
-    {
-        $this->traitsNode->setAttribute('count', $count);
-        $this->traitsNode->setAttribute('tested', $tested);
-        $this->traitsNode->setAttribute(
-            'percent',
-            Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumMethods($count, $tested)
-    {
-        $this->methodsNode->setAttribute('count', $count);
-        $this->methodsNode->setAttribute('tested', $tested);
-        $this->methodsNode->setAttribute(
-            'percent',
-            Util::percent($tested, $count, true)
-        );
-    }
-
-    public function setNumFunctions($count, $tested)
-    {
-        $this->functionsNode->setAttribute('count', $count);
-        $this->functionsNode->setAttribute('tested', $tested);
-        $this->functionsNode->setAttribute(
-            'percent',
-            Util::percent($tested, $count, true)
-        );
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage\Report\Xml;
-
-class Unit
-{
-    /**
-     * @var \DOMElement
-     */
-    private $contextNode;
-
-    public function __construct(\DOMElement $context, $name)
-    {
-        $this->contextNode = $context;
-
-        $this->setName($name);
-    }
-
-    private function setName($name)
-    {
-        $this->contextNode->setAttribute('name', $name);
-    }
-
-    public function setLines($start, $executable, $executed)
-    {
-        $this->contextNode->setAttribute('start', $start);
-        $this->contextNode->setAttribute('executable', $executable);
-        $this->contextNode->setAttribute('executed', $executed);
-    }
-
-    public function setCrap($crap)
-    {
-        $this->contextNode->setAttribute('crap', $crap);
-    }
-
-    public function setPackage($full, $package, $sub, $category)
-    {
-        $node = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'package'
-        )->item(0);
-
-        if (!$node) {
-            $node = $this->contextNode->appendChild(
-                $this->contextNode->ownerDocument->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'package'
-                )
-            );
-        }
-
-        $node->setAttribute('full', $full);
-        $node->setAttribute('name', $package);
-        $node->setAttribute('sub', $sub);
-        $node->setAttribute('category', $category);
-    }
-
-    public function setNamespace($namespace)
-    {
-        $node = $this->contextNode->getElementsByTagNameNS(
-            'http://schema.phpunit.de/coverage/1.0',
-            'namespace'
-        )->item(0);
-
-        if (!$node) {
-            $node = $this->contextNode->appendChild(
-                $this->contextNode->ownerDocument->createElementNS(
-                    'http://schema.phpunit.de/coverage/1.0',
-                    'namespace'
-                )
-            );
-        }
-
-        $node->setAttribute('name', $namespace);
-    }
-
-    public function addMethod($name)
-    {
-        $node = $this->contextNode->appendChild(
-            $this->contextNode->ownerDocument->createElementNS(
-                'http://schema.phpunit.de/coverage/1.0',
-                'method'
-            )
-        );
-
-        return new Method($node, $name);
-    }
-}
-<?php
-/*
- * This file is part of the php-code-coverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeCoverage;
-
-/**
- * Utility methods.
- */
-class Util
-{
-    /**
-     * @param float $a
-     * @param float $b
-     * @param bool  $asString
-     * @param bool  $fixedWidth
-     *
-     * @return float|int|string
-     */
-    public static function percent($a, $b, $asString = false, $fixedWidth = false)
-    {
-        if ($asString && $b == 0) {
-            return '';
-        }
-
-        if ($b > 0) {
-            $percent = ($a / $b) * 100;
-        } else {
-            $percent = 100;
-        }
-
-        if ($asString) {
-            if ($fixedWidth) {
-                return sprintf('%6.2F%%', $percent);
-            }
-
-            return sprintf('%01.2F%%', $percent);
-        } else {
-            return $percent;
-        }
-    }
-}
-File_Iterator
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Façade implementation that uses File_Iterator_Factory to create a
- * File_Iterator that operates on an AppendIterator that contains an
- * RecursiveDirectoryIterator for each given path. The list of unique
- * files is returned as an array.
- *
- * @since     Class available since Release 1.3.0
- */
-class File_Iterator_Facade
-{
-    /**
-     * @param  array|string $paths
-     * @param  array|string $suffixes
-     * @param  array|string $prefixes
-     * @param  array        $exclude
-     * @param  bool         $commonPath
-     * @return array
-     */
-    public function getFilesAsArray($paths, $suffixes = '', $prefixes = '', array $exclude = array(), $commonPath = FALSE)
-    {
-        if (is_string($paths)) {
-            $paths = array($paths);
-        }
-
-        $factory  = new File_Iterator_Factory;
-        $iterator = $factory->getFileIterator(
-          $paths, $suffixes, $prefixes, $exclude
-        );
-
-        $files = array();
-
-        foreach ($iterator as $file) {
-            $file = $file->getRealPath();
-
-            if ($file) {
-                $files[] = $file;
-            }
-        }
-
-        foreach ($paths as $path) {
-            if (is_file($path)) {
-                $files[] = realpath($path);
-            }
-        }
-
-        $files = array_unique($files);
-        sort($files);
-
-        if ($commonPath) {
-            return array(
-              'commonPath' => $this->getCommonPath($files),
-              'files'      => $files
-            );
-        } else {
-            return $files;
-        }
-    }
-
-    /**
-     * Returns the common path of a set of files.
-     *
-     * @param  array  $files
-     * @return string
-     */
-    protected function getCommonPath(array $files)
-    {
-        $count = count($files);
-
-        if ($count == 0) {
-            return '';
-        }
-
-        if ($count == 1) {
-            return dirname($files[0]) . DIRECTORY_SEPARATOR;
-        }
-
-        $_files = array();
-
-        foreach ($files as $file) {
-            $_files[] = $_fileParts = explode(DIRECTORY_SEPARATOR, $file);
-
-            if (empty($_fileParts[0])) {
-                $_fileParts[0] = DIRECTORY_SEPARATOR;
-            }
-        }
-
-        $common = '';
-        $done   = FALSE;
-        $j      = 0;
-        $count--;
-
-        while (!$done) {
-            for ($i = 0; $i < $count; $i++) {
-                if ($_files[$i][$j] != $_files[$i+1][$j]) {
-                    $done = TRUE;
-                    break;
-                }
-            }
-
-            if (!$done) {
-                $common .= $_files[0][$j];
-
-                if ($j > 0) {
-                    $common .= DIRECTORY_SEPARATOR;
-                }
-            }
-
-            $j++;
-        }
-
-        return DIRECTORY_SEPARATOR . $common;
-    }
-}
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory Method implementation that creates a File_Iterator that operates on
- * an AppendIterator that contains an RecursiveDirectoryIterator for each given
- * path.
- *
- * @since     Class available since Release 1.1.0
- */
-class File_Iterator_Factory
-{
-    /**
-     * @param  array|string   $paths
-     * @param  array|string   $suffixes
-     * @param  array|string   $prefixes
-     * @param  array          $exclude
-     * @return AppendIterator
-     */
-    public function getFileIterator($paths, $suffixes = '', $prefixes = '', array $exclude = array())
-    {
-        if (is_string($paths)) {
-            $paths = array($paths);
-        }
-
-        $paths   = $this->getPathsAfterResolvingWildcards($paths);
-        $exclude = $this->getPathsAfterResolvingWildcards($exclude);
-
-        if (is_string($prefixes)) {
-            if ($prefixes != '') {
-                $prefixes = array($prefixes);
-            } else {
-                $prefixes = array();
-            }
-        }
-
-        if (is_string($suffixes)) {
-            if ($suffixes != '') {
-                $suffixes = array($suffixes);
-            } else {
-                $suffixes = array();
-            }
-        }
-
-        $iterator = new AppendIterator;
-
-        foreach ($paths as $path) {
-            if (is_dir($path)) {
-                $iterator->append(
-                  new File_Iterator(
-                    new RecursiveIteratorIterator(
-                      new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::FOLLOW_SYMLINKS)
-                    ),
-                    $suffixes,
-                    $prefixes,
-                    $exclude,
-                    $path
-                  )
-                );
-            }
-        }
-
-        return $iterator;
-    }
-
-    /**
-     * @param  array $paths
-     * @return array
-     */
-    protected function getPathsAfterResolvingWildcards(array $paths)
-    {
-        $_paths = array();
-
-        foreach ($paths as $path) {
-            if ($locals = glob($path, GLOB_ONLYDIR)) {
-                $_paths = array_merge($_paths, $locals);
-            } else {
-                $_paths[] = $path;
-            }
-        }
-
-        return $_paths;
-    }
-}
-<?php
-/*
- * This file is part of the File_Iterator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * FilterIterator implementation that filters files based on prefix(es) and/or
- * suffix(es). Hidden files and files from hidden directories are also filtered.
- *
- * @since     Class available since Release 1.0.0
- */
-class File_Iterator extends FilterIterator
-{
-    const PREFIX = 0;
-    const SUFFIX = 1;
-
-    /**
-     * @var array
-     */
-    protected $suffixes = array();
-
-    /**
-     * @var array
-     */
-    protected $prefixes = array();
-
-    /**
-     * @var array
-     */
-    protected $exclude = array();
-
-    /**
-     * @var string
-     */
-    protected $basepath;
-
-    /**
-     * @param Iterator $iterator
-     * @param array    $suffixes
-     * @param array    $prefixes
-     * @param array    $exclude
-     * @param string   $basepath
-     */
-    public function __construct(Iterator $iterator, array $suffixes = array(), array $prefixes = array(), array $exclude = array(), $basepath = NULL)
-    {
-        $exclude = array_filter(array_map('realpath', $exclude));
-
-        if ($basepath !== NULL) {
-            $basepath = realpath($basepath);
-        }
-
-        if ($basepath === FALSE) {
-            $basepath = NULL;
-        } else {
-            foreach ($exclude as &$_exclude) {
-                $_exclude = str_replace($basepath, '', $_exclude);
-            }
-        }
-
-        $this->prefixes = $prefixes;
-        $this->suffixes = $suffixes;
-        $this->exclude  = $exclude;
-        $this->basepath = $basepath;
-
-        parent::__construct($iterator);
-    }
-
-    /**
-     * @return bool
-     */
-    public function accept()
-    {
-        $current  = $this->getInnerIterator()->current();
-        $filename = $current->getFilename();
-        $realpath = $current->getRealPath();
-
-        if ($this->basepath !== NULL) {
-            $realpath = str_replace($this->basepath, '', $realpath);
-        }
-
-        // Filter files in hidden directories.
-        if (preg_match('=/\.[^/]*/=', $realpath)) {
-            return FALSE;
-        }
-
-        return $this->acceptPath($realpath) &&
-               $this->acceptPrefix($filename) &&
-               $this->acceptSuffix($filename);
-    }
-
-    /**
-     * @param  string $path
-     * @return bool
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptPath($path)
-    {
-        foreach ($this->exclude as $exclude) {
-            if (strpos($path, $exclude) === 0) {
-                return FALSE;
-            }
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * @param  string $filename
-     * @return bool
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptPrefix($filename)
-    {
-        return $this->acceptSubString($filename, $this->prefixes, self::PREFIX);
-    }
-
-    /**
-     * @param  string $filename
-     * @return bool
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptSuffix($filename)
-    {
-        return $this->acceptSubString($filename, $this->suffixes, self::SUFFIX);
-    }
-
-    /**
-     * @param  string $filename
-     * @param  array  $subString
-     * @param  int    $type
-     * @return bool
-     * @since  Method available since Release 1.1.0
-     */
-    protected function acceptSubString($filename, array $subStrings, $type)
-    {
-        if (empty($subStrings)) {
-            return TRUE;
-        }
-
-        $matched = FALSE;
-
-        foreach ($subStrings as $string) {
-            if (($type == self::PREFIX && strpos($filename, $string) === 0) ||
-                ($type == self::SUFFIX &&
-                 substr($filename, -1 * strlen($string)) == $string)) {
-                $matched = TRUE;
-                break;
-            }
-        }
-
-        return $matched;
-    }
-}
-Text_Template
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Text_Template package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A simple template engine.
- *
- * @since Class available since Release 1.0.0
- */
-class Text_Template
-{
-    /**
-     * @var string
-     */
-    protected $template = '';
-
-    /**
-     * @var string
-     */
-    protected $openDelimiter = '{';
-
-    /**
-     * @var string
-     */
-    protected $closeDelimiter = '}';
-
-    /**
-     * @var array
-     */
-    protected $values = array();
-
-    /**
-     * Constructor.
-     *
-     * @param  string                   $file
-     * @throws InvalidArgumentException
-     */
-    public function __construct($file = '', $openDelimiter = '{', $closeDelimiter = '}')
-    {
-        $this->setFile($file);
-        $this->openDelimiter  = $openDelimiter;
-        $this->closeDelimiter = $closeDelimiter;
-    }
-
-    /**
-     * Sets the template file.
-     *
-     * @param  string                   $file
-     * @throws InvalidArgumentException
-     */
-    public function setFile($file)
-    {
-        $distFile = $file . '.dist';
-
-        if (file_exists($file)) {
-            $this->template = file_get_contents($file);
-        }
-
-        else if (file_exists($distFile)) {
-            $this->template = file_get_contents($distFile);
-        }
-
-        else {
-            throw new InvalidArgumentException(
-              'Template file could not be loaded.'
-            );
-        }
-    }
-
-    /**
-     * Sets one or more template variables.
-     *
-     * @param array $values
-     * @param bool  $merge
-     */
-    public function setVar(array $values, $merge = TRUE)
-    {
-        if (!$merge || empty($this->values)) {
-            $this->values = $values;
-        } else {
-            $this->values = array_merge($this->values, $values);
-        }
-    }
-
-    /**
-     * Renders the template and returns the result.
-     *
-     * @return string
-     */
-    public function render()
-    {
-        $keys = array();
-
-        foreach ($this->values as $key => $value) {
-            $keys[] = $this->openDelimiter . $key . $this->closeDelimiter;
-        }
-
-        return str_replace($keys, $this->values, $this->template);
-    }
-
-    /**
-     * Renders the template and writes the result to a file.
-     *
-     * @param string $target
-     */
-    public function renderTo($target)
-    {
-        $fp = @fopen($target, 'wt');
-
-        if ($fp) {
-            fwrite($fp, $this->render());
-            fclose($fp);
-        } else {
-            $error = error_get_last();
-
-            throw new RuntimeException(
-              sprintf(
-                'Could not write to %s: %s',
-                $target,
-                substr(
-                  $error['message'],
-                  strpos($error['message'], ':') + 2
-                )
-              )
-            );
-        }
-    }
-}
-
-PHP_Timer
-
-Copyright (c) 2010-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the PHP_Timer package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for timing.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHP_Timer
-{
-    /**
-     * @var array
-     */
-    private static $times = array(
-      'hour'   => 3600000,
-      'minute' => 60000,
-      'second' => 1000
-    );
-
-    /**
-     * @var array
-     */
-    private static $startTimes = array();
-
-    /**
-     * @var float
-     */
-    public static $requestTime;
-
-    /**
-     * Starts the timer.
-     */
-    public static function start()
-    {
-        array_push(self::$startTimes, microtime(true));
-    }
-
-    /**
-     * Stops the timer and returns the elapsed time.
-     *
-     * @return float
-     */
-    public static function stop()
-    {
-        return microtime(true) - array_pop(self::$startTimes);
-    }
-
-    /**
-     * Formats the elapsed time as a string.
-     *
-     * @param  float  $time
-     * @return string
-     */
-    public static function secondsToTimeString($time)
-    {
-        $ms = round($time * 1000);
-
-        foreach (self::$times as $unit => $value) {
-            if ($ms >= $value) {
-                $time = floor($ms / $value * 100.0) / 100.0;
-
-                return $time . ' ' . ($time == 1 ? $unit : $unit . 's');
-            }
-        }
-
-        return $ms . ' ms';
-    }
-
-    /**
-     * Formats the elapsed time since the start of the request as a string.
-     *
-     * @return string
-     */
-    public static function timeSinceStartOfRequest()
-    {
-        return self::secondsToTimeString(microtime(true) - self::$requestTime);
-    }
-
-    /**
-     * Returns the resources (time, memory) of the request as a string.
-     *
-     * @return string
-     */
-    public static function resourceUsage()
-    {
-        return sprintf(
-            'Time: %s, Memory: %4.2fMB',
-            self::timeSinceStartOfRequest(),
-            memory_get_peak_usage(true) / 1048576
-        );
-    }
-}
-
-if (isset($_SERVER['REQUEST_TIME_FLOAT'])) {
-    PHP_Timer::$requestTime = $_SERVER['REQUEST_TIME_FLOAT'];
-} elseif (isset($_SERVER['REQUEST_TIME'])) {
-    PHP_Timer::$requestTime = $_SERVER['REQUEST_TIME'];
-} else {
-    PHP_Timer::$requestTime = microtime(true);
-}
-PHP_TokenStream
-
-Copyright (c) 2009-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A PHP token.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-abstract class PHP_Token
-{
-    /**
-     * @var string
-     */
-    protected $text;
-
-    /**
-     * @var integer
-     */
-    protected $line;
-
-    /**
-     * @var PHP_Token_Stream
-     */
-    protected $tokenStream;
-
-    /**
-     * @var integer
-     */
-    protected $id;
-
-    /**
-     * Constructor.
-     *
-     * @param string           $text
-     * @param integer          $line
-     * @param PHP_Token_Stream $tokenStream
-     * @param integer          $id
-     */
-    public function __construct($text, $line, PHP_Token_Stream $tokenStream, $id)
-    {
-        $this->text        = $text;
-        $this->line        = $line;
-        $this->tokenStream = $tokenStream;
-        $this->id          = $id;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->text;
-    }
-
-    /**
-     * @return integer
-     */
-    public function getLine()
-    {
-        return $this->line;
-    }
-}
-
-abstract class PHP_TokenWithScope extends PHP_Token
-{
-    /**
-     * @var integer
-     */
-    protected $endTokenId;
-
-    /**
-     * Get the docblock for this token
-     *
-     * This method will fetch the docblock belonging to the current token. The
-     * docblock must be placed on the line directly above the token to be
-     * recognized.
-     *
-     * @return string|null Returns the docblock as a string if found
-     */
-    public function getDocblock()
-    {
-        $tokens            = $this->tokenStream->tokens();
-        $currentLineNumber = $tokens[$this->id]->getLine();
-        $prevLineNumber    = $currentLineNumber - 1;
-
-        for ($i = $this->id - 1; $i; $i--) {
-            if (!isset($tokens[$i])) {
-                return;
-            }
-
-            if ($tokens[$i] instanceof PHP_Token_FUNCTION ||
-                $tokens[$i] instanceof PHP_Token_CLASS ||
-                $tokens[$i] instanceof PHP_Token_TRAIT) {
-                // Some other trait, class or function, no docblock can be
-                // used for the current token
-                break;
-            }
-
-            $line = $tokens[$i]->getLine();
-
-            if ($line == $currentLineNumber ||
-                ($line == $prevLineNumber &&
-                 $tokens[$i] instanceof PHP_Token_WHITESPACE)) {
-                continue;
-            }
-
-            if ($line < $currentLineNumber &&
-                !$tokens[$i] instanceof PHP_Token_DOC_COMMENT) {
-                break;
-            }
-
-            return (string)$tokens[$i];
-        }
-    }
-
-    /**
-     * @return integer
-     */
-    public function getEndTokenId()
-    {
-        $block  = 0;
-        $i      = $this->id;
-        $tokens = $this->tokenStream->tokens();
-
-        while ($this->endTokenId === null && isset($tokens[$i])) {
-            if ($tokens[$i] instanceof PHP_Token_OPEN_CURLY ||
-                $tokens[$i] instanceof PHP_Token_CURLY_OPEN) {
-                $block++;
-            } elseif ($tokens[$i] instanceof PHP_Token_CLOSE_CURLY) {
-                $block--;
-
-                if ($block === 0) {
-                    $this->endTokenId = $i;
-                }
-            } elseif (($this instanceof PHP_Token_FUNCTION ||
-                $this instanceof PHP_Token_NAMESPACE) &&
-                $tokens[$i] instanceof PHP_Token_SEMICOLON) {
-                if ($block === 0) {
-                    $this->endTokenId = $i;
-                }
-            }
-
-            $i++;
-        }
-
-        if ($this->endTokenId === null) {
-            $this->endTokenId = $this->id;
-        }
-
-        return $this->endTokenId;
-    }
-
-    /**
-     * @return integer
-     */
-    public function getEndLine()
-    {
-        return $this->tokenStream[$this->getEndTokenId()]->getLine();
-    }
-}
-
-abstract class PHP_TokenWithScopeAndVisibility extends PHP_TokenWithScope
-{
-    /**
-     * @return string
-     */
-    public function getVisibility()
-    {
-        $tokens = $this->tokenStream->tokens();
-
-        for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_PRIVATE ||
-                $tokens[$i] instanceof PHP_Token_PROTECTED ||
-                $tokens[$i] instanceof PHP_Token_PUBLIC)) {
-                return strtolower(
-                    str_replace('PHP_Token_', '', get_class($tokens[$i]))
-                );
-            }
-            if (isset($tokens[$i]) &&
-              !($tokens[$i] instanceof PHP_Token_STATIC ||
-                $tokens[$i] instanceof PHP_Token_FINAL ||
-                $tokens[$i] instanceof PHP_Token_ABSTRACT)) {
-                // no keywords; stop visibility search
-                break;
-            }
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getKeywords()
-    {
-        $keywords = array();
-        $tokens   = $this->tokenStream->tokens();
-
-        for ($i = $this->id - 2; $i > $this->id - 7; $i -= 2) {
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_PRIVATE ||
-                $tokens[$i] instanceof PHP_Token_PROTECTED ||
-                $tokens[$i] instanceof PHP_Token_PUBLIC)) {
-                continue;
-            }
-
-            if (isset($tokens[$i]) &&
-               ($tokens[$i] instanceof PHP_Token_STATIC ||
-                $tokens[$i] instanceof PHP_Token_FINAL ||
-                $tokens[$i] instanceof PHP_Token_ABSTRACT)) {
-                $keywords[] = strtolower(
-                    str_replace('PHP_Token_', '', get_class($tokens[$i]))
-                );
-            }
-        }
-
-        return implode(',', $keywords);
-    }
-}
-
-abstract class PHP_Token_Includes extends PHP_Token
-{
-    /**
-     * @var string
-     */
-    protected $name;
-
-    /**
-     * @var string
-     */
-    protected $type;
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        if ($this->name === null) {
-            $this->process();
-        }
-
-        return $this->name;
-    }
-
-    /**
-     * @return string
-     */
-    public function getType()
-    {
-        if ($this->type === null) {
-            $this->process();
-        }
-
-        return $this->type;
-    }
-
-    private function process()
-    {
-        $tokens = $this->tokenStream->tokens();
-
-        if ($tokens[$this->id+2] instanceof PHP_Token_CONSTANT_ENCAPSED_STRING) {
-            $this->name = trim($tokens[$this->id+2], "'\"");
-            $this->type = strtolower(
-                str_replace('PHP_Token_', '', get_class($tokens[$this->id]))
-            );
-        }
-    }
-}
-
-
-class PHP_Token_FUNCTION extends PHP_TokenWithScopeAndVisibility
-{
-    /**
-     * @var array
-     */
-    protected $arguments;
-
-    /**
-     * @var integer
-     */
-    protected $ccn;
-
-    /**
-     * @var string
-     */
-    protected $name;
-
-    /**
-     * @var string
-     */
-    protected $signature;
-
-    /**
-     * @return array
-     */
-    public function getArguments()
-    {
-        if ($this->arguments !== null) {
-            return $this->arguments;
-        }
-
-        $this->arguments = array();
-        $tokens          = $this->tokenStream->tokens();
-        $typeDeclaration = null;
-
-        // Search for first token inside brackets
-        $i = $this->id + 2;
-
-        while (!$tokens[$i-1] instanceof PHP_Token_OPEN_BRACKET) {
-            $i++;
-        }
-
-        while (!$tokens[$i] instanceof PHP_Token_CLOSE_BRACKET) {
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $typeDeclaration = (string)$tokens[$i];
-            } elseif ($tokens[$i] instanceof PHP_Token_VARIABLE) {
-                $this->arguments[(string)$tokens[$i]] = $typeDeclaration;
-                $typeDeclaration                      = null;
-            }
-
-            $i++;
-        }
-
-        return $this->arguments;
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        if ($this->name !== null) {
-            return $this->name;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        for ($i = $this->id + 1; $i < count($tokens); $i++) {
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $this->name = (string)$tokens[$i];
-                break;
-            } elseif ($tokens[$i] instanceof PHP_Token_AMPERSAND &&
-                     $tokens[$i+1] instanceof PHP_Token_STRING) {
-                $this->name = (string)$tokens[$i+1];
-                break;
-            } elseif ($tokens[$i] instanceof PHP_Token_OPEN_BRACKET) {
-                $this->name = 'anonymous function';
-                break;
-            }
-        }
-
-        if ($this->name != 'anonymous function') {
-            for ($i = $this->id; $i; --$i) {
-                if ($tokens[$i] instanceof PHP_Token_NAMESPACE) {
-                    $this->name = $tokens[$i]->getName() . '\\' . $this->name;
-                    break;
-                }
-
-                if ($tokens[$i] instanceof PHP_Token_INTERFACE) {
-                    break;
-                }
-            }
-        }
-
-        return $this->name;
-    }
-
-    /**
-     * @return integer
-     */
-    public function getCCN()
-    {
-        if ($this->ccn !== null) {
-            return $this->ccn;
-        }
-
-        $this->ccn = 1;
-        $end       = $this->getEndTokenId();
-        $tokens    = $this->tokenStream->tokens();
-
-        for ($i = $this->id; $i <= $end; $i++) {
-            switch (get_class($tokens[$i])) {
-                case 'PHP_Token_IF':
-                case 'PHP_Token_ELSEIF':
-                case 'PHP_Token_FOR':
-                case 'PHP_Token_FOREACH':
-                case 'PHP_Token_WHILE':
-                case 'PHP_Token_CASE':
-                case 'PHP_Token_CATCH':
-                case 'PHP_Token_BOOLEAN_AND':
-                case 'PHP_Token_LOGICAL_AND':
-                case 'PHP_Token_BOOLEAN_OR':
-                case 'PHP_Token_LOGICAL_OR':
-                case 'PHP_Token_QUESTION_MARK':
-                    $this->ccn++;
-                    break;
-            }
-        }
-
-        return $this->ccn;
-    }
-
-    /**
-     * @return string
-     */
-    public function getSignature()
-    {
-        if ($this->signature !== null) {
-            return $this->signature;
-        }
-
-        if ($this->getName() == 'anonymous function') {
-            $this->signature = 'anonymous function';
-            $i               = $this->id + 1;
-        } else {
-            $this->signature = '';
-            $i               = $this->id + 2;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        while (isset($tokens[$i]) &&
-               !$tokens[$i] instanceof PHP_Token_OPEN_CURLY &&
-               !$tokens[$i] instanceof PHP_Token_SEMICOLON) {
-            $this->signature .= $tokens[$i++];
-        }
-
-        $this->signature = trim($this->signature);
-
-        return $this->signature;
-    }
-}
-
-class PHP_Token_INTERFACE extends PHP_TokenWithScopeAndVisibility
-{
-    /**
-     * @var array
-     */
-    protected $interfaces;
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        return (string)$this->tokenStream[$this->id + 2];
-    }
-
-    /**
-     * @return boolean
-     */
-    public function hasParent()
-    {
-        return $this->tokenStream[$this->id + 4] instanceof PHP_Token_EXTENDS;
-    }
-
-    /**
-     * @return array
-     */
-    public function getPackage()
-    {
-        $className  = $this->getName();
-        $docComment = $this->getDocblock();
-
-        $result = array(
-            'namespace'   => '',
-            'fullPackage' => '',
-            'category'    => '',
-            'package'     => '',
-            'subpackage'  => ''
-        );
-
-        for ($i = $this->id; $i; --$i) {
-            if ($this->tokenStream[$i] instanceof PHP_Token_NAMESPACE) {
-                $result['namespace'] = $this->tokenStream[$i]->getName();
-                break;
-            }
-        }
-
-        if (preg_match('/@category[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['category'] = $matches[1];
-        }
-
-        if (preg_match('/@package[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['package']     = $matches[1];
-            $result['fullPackage'] = $matches[1];
-        }
-
-        if (preg_match('/@subpackage[\s]+([\.\w]+)/', $docComment, $matches)) {
-            $result['subpackage']   = $matches[1];
-            $result['fullPackage'] .= '.' . $matches[1];
-        }
-
-        if (empty($result['fullPackage'])) {
-            $result['fullPackage'] = $this->arrayToName(
-                explode('_', str_replace('\\', '_', $className)),
-                '.'
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param  array  $parts
-     * @param  string $join
-     * @return string
-     */
-    protected function arrayToName(array $parts, $join = '\\')
-    {
-        $result = '';
-
-        if (count($parts) > 1) {
-            array_pop($parts);
-
-            $result = join($join, $parts);
-        }
-
-        return $result;
-    }
-
-    /**
-     * @return boolean|string
-     */
-    public function getParent()
-    {
-        if (!$this->hasParent()) {
-            return false;
-        }
-
-        $i         = $this->id + 6;
-        $tokens    = $this->tokenStream->tokens();
-        $className = (string)$tokens[$i];
-
-        while (isset($tokens[$i+1]) &&
-               !$tokens[$i+1] instanceof PHP_Token_WHITESPACE) {
-            $className .= (string)$tokens[++$i];
-        }
-
-        return $className;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function hasInterfaces()
-    {
-        return (isset($this->tokenStream[$this->id + 4]) &&
-                $this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) ||
-               (isset($this->tokenStream[$this->id + 8]) &&
-                $this->tokenStream[$this->id + 8] instanceof PHP_Token_IMPLEMENTS);
-    }
-
-    /**
-     * @return array|boolean
-     */
-    public function getInterfaces()
-    {
-        if ($this->interfaces !== null) {
-            return $this->interfaces;
-        }
-
-        if (!$this->hasInterfaces()) {
-            return ($this->interfaces = false);
-        }
-
-        if ($this->tokenStream[$this->id + 4] instanceof PHP_Token_IMPLEMENTS) {
-            $i = $this->id + 3;
-        } else {
-            $i = $this->id + 7;
-        }
-
-        $tokens = $this->tokenStream->tokens();
-
-        while (!$tokens[$i+1] instanceof PHP_Token_OPEN_CURLY) {
-            $i++;
-
-            if ($tokens[$i] instanceof PHP_Token_STRING) {
-                $this->interfaces[] = (string)$tokens[$i];
-            }
-        }
-
-        return $this->interfaces;
-    }
-}
-
-class PHP_Token_ABSTRACT extends PHP_Token {}
-class PHP_Token_AMPERSAND extends PHP_Token {}
-class PHP_Token_AND_EQUAL extends PHP_Token {}
-class PHP_Token_ARRAY extends PHP_Token {}
-class PHP_Token_ARRAY_CAST extends PHP_Token {}
-class PHP_Token_AS extends PHP_Token {}
-class PHP_Token_AT extends PHP_Token {}
-class PHP_Token_BACKTICK extends PHP_Token {}
-class PHP_Token_BAD_CHARACTER extends PHP_Token {}
-class PHP_Token_BOOLEAN_AND extends PHP_Token {}
-class PHP_Token_BOOLEAN_OR extends PHP_Token {}
-class PHP_Token_BOOL_CAST extends PHP_Token {}
-class PHP_Token_BREAK extends PHP_Token {}
-class PHP_Token_CARET extends PHP_Token {}
-class PHP_Token_CASE extends PHP_Token {}
-class PHP_Token_CATCH extends PHP_Token {}
-class PHP_Token_CHARACTER extends PHP_Token {}
-
-class PHP_Token_CLASS extends PHP_Token_INTERFACE
-{
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        $next = $this->tokenStream[$this->id + 1];
-
-        if ($next instanceof PHP_Token_WHITESPACE) {
-            $next = $this->tokenStream[$this->id + 2];
-        }
-
-        if ($next instanceof PHP_Token_STRING) {
-            return (string) $next;
-        }
-
-        if ($next instanceof PHP_Token_OPEN_CURLY ||
-            $next instanceof PHP_Token_EXTENDS ||
-            $next instanceof PHP_Token_IMPLEMENTS) {
-            return 'anonymous class';
-        }
-    }
-}
-
-class PHP_Token_CLASS_C extends PHP_Token {}
-class PHP_Token_CLASS_NAME_CONSTANT extends PHP_Token {}
-class PHP_Token_CLONE extends PHP_Token {}
-class PHP_Token_CLOSE_BRACKET extends PHP_Token {}
-class PHP_Token_CLOSE_CURLY extends PHP_Token {}
-class PHP_Token_CLOSE_SQUARE extends PHP_Token {}
-class PHP_Token_CLOSE_TAG extends PHP_Token {}
-class PHP_Token_COLON extends PHP_Token {}
-class PHP_Token_COMMA extends PHP_Token {}
-class PHP_Token_COMMENT extends PHP_Token {}
-class PHP_Token_CONCAT_EQUAL extends PHP_Token {}
-class PHP_Token_CONST extends PHP_Token {}
-class PHP_Token_CONSTANT_ENCAPSED_STRING extends PHP_Token {}
-class PHP_Token_CONTINUE extends PHP_Token {}
-class PHP_Token_CURLY_OPEN extends PHP_Token {}
-class PHP_Token_DEC extends PHP_Token {}
-class PHP_Token_DECLARE extends PHP_Token {}
-class PHP_Token_DEFAULT extends PHP_Token {}
-class PHP_Token_DIV extends PHP_Token {}
-class PHP_Token_DIV_EQUAL extends PHP_Token {}
-class PHP_Token_DNUMBER extends PHP_Token {}
-class PHP_Token_DO extends PHP_Token {}
-class PHP_Token_DOC_COMMENT extends PHP_Token {}
-class PHP_Token_DOLLAR extends PHP_Token {}
-class PHP_Token_DOLLAR_OPEN_CURLY_BRACES extends PHP_Token {}
-class PHP_Token_DOT extends PHP_Token {}
-class PHP_Token_DOUBLE_ARROW extends PHP_Token {}
-class PHP_Token_DOUBLE_CAST extends PHP_Token {}
-class PHP_Token_DOUBLE_COLON extends PHP_Token {}
-class PHP_Token_DOUBLE_QUOTES extends PHP_Token {}
-class PHP_Token_ECHO extends PHP_Token {}
-class PHP_Token_ELSE extends PHP_Token {}
-class PHP_Token_ELSEIF extends PHP_Token {}
-class PHP_Token_EMPTY extends PHP_Token {}
-class PHP_Token_ENCAPSED_AND_WHITESPACE extends PHP_Token {}
-class PHP_Token_ENDDECLARE extends PHP_Token {}
-class PHP_Token_ENDFOR extends PHP_Token {}
-class PHP_Token_ENDFOREACH extends PHP_Token {}
-class PHP_Token_ENDIF extends PHP_Token {}
-class PHP_Token_ENDSWITCH extends PHP_Token {}
-class PHP_Token_ENDWHILE extends PHP_Token {}
-class PHP_Token_END_HEREDOC extends PHP_Token {}
-class PHP_Token_EQUAL extends PHP_Token {}
-class PHP_Token_EVAL extends PHP_Token {}
-class PHP_Token_EXCLAMATION_MARK extends PHP_Token {}
-class PHP_Token_EXIT extends PHP_Token {}
-class PHP_Token_EXTENDS extends PHP_Token {}
-class PHP_Token_FILE extends PHP_Token {}
-class PHP_Token_FINAL extends PHP_Token {}
-class PHP_Token_FOR extends PHP_Token {}
-class PHP_Token_FOREACH extends PHP_Token {}
-class PHP_Token_FUNC_C extends PHP_Token {}
-class PHP_Token_GLOBAL extends PHP_Token {}
-class PHP_Token_GT extends PHP_Token {}
-class PHP_Token_IF extends PHP_Token {}
-class PHP_Token_IMPLEMENTS extends PHP_Token {}
-class PHP_Token_INC extends PHP_Token {}
-class PHP_Token_INCLUDE extends PHP_Token_Includes {}
-class PHP_Token_INCLUDE_ONCE extends PHP_Token_Includes {}
-class PHP_Token_INLINE_HTML extends PHP_Token {}
-class PHP_Token_INSTANCEOF extends PHP_Token {}
-class PHP_Token_INT_CAST extends PHP_Token {}
-class PHP_Token_ISSET extends PHP_Token {}
-class PHP_Token_IS_EQUAL extends PHP_Token {}
-class PHP_Token_IS_GREATER_OR_EQUAL extends PHP_Token {}
-class PHP_Token_IS_IDENTICAL extends PHP_Token {}
-class PHP_Token_IS_NOT_EQUAL extends PHP_Token {}
-class PHP_Token_IS_NOT_IDENTICAL extends PHP_Token {}
-class PHP_Token_IS_SMALLER_OR_EQUAL extends PHP_Token {}
-class PHP_Token_LINE extends PHP_Token {}
-class PHP_Token_LIST extends PHP_Token {}
-class PHP_Token_LNUMBER extends PHP_Token {}
-class PHP_Token_LOGICAL_AND extends PHP_Token {}
-class PHP_Token_LOGICAL_OR extends PHP_Token {}
-class PHP_Token_LOGICAL_XOR extends PHP_Token {}
-class PHP_Token_LT extends PHP_Token {}
-class PHP_Token_METHOD_C extends PHP_Token {}
-class PHP_Token_MINUS extends PHP_Token {}
-class PHP_Token_MINUS_EQUAL extends PHP_Token {}
-class PHP_Token_MOD_EQUAL extends PHP_Token {}
-class PHP_Token_MULT extends PHP_Token {}
-class PHP_Token_MUL_EQUAL extends PHP_Token {}
-class PHP_Token_NEW extends PHP_Token {}
-class PHP_Token_NUM_STRING extends PHP_Token {}
-class PHP_Token_OBJECT_CAST extends PHP_Token {}
-class PHP_Token_OBJECT_OPERATOR extends PHP_Token {}
-class PHP_Token_OPEN_BRACKET extends PHP_Token {}
-class PHP_Token_OPEN_CURLY extends PHP_Token {}
-class PHP_Token_OPEN_SQUARE extends PHP_Token {}
-class PHP_Token_OPEN_TAG extends PHP_Token {}
-class PHP_Token_OPEN_TAG_WITH_ECHO extends PHP_Token {}
-class PHP_Token_OR_EQUAL extends PHP_Token {}
-class PHP_Token_PAAMAYIM_NEKUDOTAYIM extends PHP_Token {}
-class PHP_Token_PERCENT extends PHP_Token {}
-class PHP_Token_PIPE extends PHP_Token {}
-class PHP_Token_PLUS extends PHP_Token {}
-class PHP_Token_PLUS_EQUAL extends PHP_Token {}
-class PHP_Token_PRINT extends PHP_Token {}
-class PHP_Token_PRIVATE extends PHP_Token {}
-class PHP_Token_PROTECTED extends PHP_Token {}
-class PHP_Token_PUBLIC extends PHP_Token {}
-class PHP_Token_QUESTION_MARK extends PHP_Token {}
-class PHP_Token_REQUIRE extends PHP_Token_Includes {}
-class PHP_Token_REQUIRE_ONCE extends PHP_Token_Includes {}
-class PHP_Token_RETURN extends PHP_Token {}
-class PHP_Token_SEMICOLON extends PHP_Token {}
-class PHP_Token_SL extends PHP_Token {}
-class PHP_Token_SL_EQUAL extends PHP_Token {}
-class PHP_Token_SR extends PHP_Token {}
-class PHP_Token_SR_EQUAL extends PHP_Token {}
-class PHP_Token_START_HEREDOC extends PHP_Token {}
-class PHP_Token_STATIC extends PHP_Token {}
-class PHP_Token_STRING extends PHP_Token {}
-class PHP_Token_STRING_CAST extends PHP_Token {}
-class PHP_Token_STRING_VARNAME extends PHP_Token {}
-class PHP_Token_SWITCH extends PHP_Token {}
-class PHP_Token_THROW extends PHP_Token {}
-class PHP_Token_TILDE extends PHP_Token {}
-class PHP_Token_TRY extends PHP_Token {}
-class PHP_Token_UNSET extends PHP_Token {}
-class PHP_Token_UNSET_CAST extends PHP_Token {}
-class PHP_Token_USE extends PHP_Token {}
-class PHP_Token_VAR extends PHP_Token {}
-class PHP_Token_VARIABLE extends PHP_Token {}
-class PHP_Token_WHILE extends PHP_Token {}
-class PHP_Token_WHITESPACE extends PHP_Token {}
-class PHP_Token_XOR_EQUAL extends PHP_Token {}
-
-// Tokens introduced in PHP 5.1
-class PHP_Token_HALT_COMPILER extends PHP_Token {}
-
-// Tokens introduced in PHP 5.3
-class PHP_Token_DIR extends PHP_Token {}
-class PHP_Token_GOTO extends PHP_Token {}
-
-class PHP_Token_NAMESPACE extends PHP_TokenWithScope
-{
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        $tokens    = $this->tokenStream->tokens();
-        $namespace = (string)$tokens[$this->id+2];
-
-        for ($i = $this->id + 3;; $i += 2) {
-            if (isset($tokens[$i]) &&
-                $tokens[$i] instanceof PHP_Token_NS_SEPARATOR) {
-                $namespace .= '\\' . $tokens[$i+1];
-            } else {
-                break;
-            }
-        }
-
-        return $namespace;
-    }
-}
-
-class PHP_Token_NS_C extends PHP_Token {}
-class PHP_Token_NS_SEPARATOR extends PHP_Token {}
-
-// Tokens introduced in PHP 5.4
-class PHP_Token_CALLABLE extends PHP_Token {}
-class PHP_Token_INSTEADOF extends PHP_Token {}
-class PHP_Token_TRAIT extends PHP_Token_INTERFACE {}
-class PHP_Token_TRAIT_C extends PHP_Token {}
-
-// Tokens introduced in PHP 5.5
-class PHP_Token_FINALLY extends PHP_Token {}
-class PHP_Token_YIELD extends PHP_Token {}
-
-// Tokens introduced in PHP 5.6
-class PHP_Token_ELLIPSIS extends PHP_Token {}
-class PHP_Token_POW extends PHP_Token {}
-class PHP_Token_POW_EQUAL extends PHP_Token {}
-
-// Tokens introduced in PHP 7.0
-class PHP_Token_COALESCE extends PHP_Token {}
-class PHP_Token_SPACESHIP extends PHP_Token {}
-class PHP_Token_YIELD_FROM extends PHP_Token {}
-
-// Tokens introduced in HackLang / HHVM
-class PHP_Token_ASYNC extends PHP_Token {}
-class PHP_Token_AWAIT extends PHP_Token {}
-class PHP_Token_COMPILER_HALT_OFFSET extends PHP_Token {}
-class PHP_Token_ENUM extends PHP_Token {}
-class PHP_Token_EQUALS extends PHP_Token {}
-class PHP_Token_IN extends PHP_Token {}
-class PHP_Token_JOIN extends PHP_Token {}
-class PHP_Token_LAMBDA_ARROW extends PHP_Token {}
-class PHP_Token_LAMBDA_CP extends PHP_Token {}
-class PHP_Token_LAMBDA_OP extends PHP_Token {}
-class PHP_Token_ONUMBER extends PHP_Token {}
-class PHP_Token_SHAPE extends PHP_Token {}
-class PHP_Token_TYPE extends PHP_Token {}
-class PHP_Token_TYPELIST_GT extends PHP_Token {}
-class PHP_Token_TYPELIST_LT extends PHP_Token {}
-class PHP_Token_WHERE extends PHP_Token {}
-class PHP_Token_XHP_ATTRIBUTE extends PHP_Token {}
-class PHP_Token_XHP_CATEGORY extends PHP_Token {}
-class PHP_Token_XHP_CATEGORY_LABEL extends PHP_Token {}
-class PHP_Token_XHP_CHILDREN extends PHP_Token {}
-class PHP_Token_XHP_LABEL extends PHP_Token {}
-class PHP_Token_XHP_REQUIRED extends PHP_Token {}
-class PHP_Token_XHP_TAG_GT extends PHP_Token {}
-class PHP_Token_XHP_TAG_LT extends PHP_Token {}
-class PHP_Token_XHP_TEXT extends PHP_Token {}
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A stream of PHP tokens.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-class PHP_Token_Stream implements ArrayAccess, Countable, SeekableIterator
-{
-    /**
-     * @var array
-     */
-    protected static $customTokens = array(
-        '(' => 'PHP_Token_OPEN_BRACKET',
-        ')' => 'PHP_Token_CLOSE_BRACKET',
-        '[' => 'PHP_Token_OPEN_SQUARE',
-        ']' => 'PHP_Token_CLOSE_SQUARE',
-        '{' => 'PHP_Token_OPEN_CURLY',
-        '}' => 'PHP_Token_CLOSE_CURLY',
-        ';' => 'PHP_Token_SEMICOLON',
-        '.' => 'PHP_Token_DOT',
-        ',' => 'PHP_Token_COMMA',
-        '=' => 'PHP_Token_EQUAL',
-        '<' => 'PHP_Token_LT',
-        '>' => 'PHP_Token_GT',
-        '+' => 'PHP_Token_PLUS',
-        '-' => 'PHP_Token_MINUS',
-        '*' => 'PHP_Token_MULT',
-        '/' => 'PHP_Token_DIV',
-        '?' => 'PHP_Token_QUESTION_MARK',
-        '!' => 'PHP_Token_EXCLAMATION_MARK',
-        ':' => 'PHP_Token_COLON',
-        '"' => 'PHP_Token_DOUBLE_QUOTES',
-        '@' => 'PHP_Token_AT',
-        '&' => 'PHP_Token_AMPERSAND',
-        '%' => 'PHP_Token_PERCENT',
-        '|' => 'PHP_Token_PIPE',
-        '$' => 'PHP_Token_DOLLAR',
-        '^' => 'PHP_Token_CARET',
-        '~' => 'PHP_Token_TILDE',
-        '`' => 'PHP_Token_BACKTICK'
-    );
-
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var array
-     */
-    protected $tokens = array();
-
-    /**
-     * @var integer
-     */
-    protected $position = 0;
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = array('loc' => 0, 'cloc' => 0, 'ncloc' => 0);
-
-    /**
-     * @var array
-     */
-    protected $classes;
-
-    /**
-     * @var array
-     */
-    protected $functions;
-
-    /**
-     * @var array
-     */
-    protected $includes;
-
-    /**
-     * @var array
-     */
-    protected $interfaces;
-
-    /**
-     * @var array
-     */
-    protected $traits;
-
-    /**
-     * @var array
-     */
-    protected $lineToFunctionMap = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $sourceCode
-     */
-    public function __construct($sourceCode)
-    {
-        if (is_file($sourceCode)) {
-            $this->filename = $sourceCode;
-            $sourceCode     = file_get_contents($sourceCode);
-        }
-
-        $this->scan($sourceCode);
-    }
-
-    /**
-     * Destructor.
-     */
-    public function __destruct()
-    {
-        $this->tokens = array();
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $buffer = '';
-
-        foreach ($this as $token) {
-            $buffer .= $token;
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 1.1.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Scans the source for sequences of characters and converts them into a
-     * stream of tokens.
-     *
-     * @param string $sourceCode
-     */
-    protected function scan($sourceCode)
-    {
-        $line      = 1;
-        $tokens    = token_get_all($sourceCode);
-        $numTokens = count($tokens);
-
-        $lastNonWhitespaceTokenWasDoubleColon = false;
-
-        for ($i = 0; $i < $numTokens; ++$i) {
-            $token = $tokens[$i];
-            unset($tokens[$i]);
-
-            if (is_array($token)) {
-                $name = substr(token_name($token[0]), 2);
-                $text = $token[1];
-
-                if ($lastNonWhitespaceTokenWasDoubleColon && $name == 'CLASS') {
-                    $name = 'CLASS_NAME_CONSTANT';
-                }
-
-                $tokenClass = 'PHP_Token_' . $name;
-            } else {
-                $text       = $token;
-                $tokenClass = self::$customTokens[$token];
-            }
-
-            $this->tokens[] = new $tokenClass($text, $line, $this, $i);
-            $lines          = substr_count($text, "\n");
-            $line          += $lines;
-
-            if ($tokenClass == 'PHP_Token_HALT_COMPILER') {
-                break;
-            } elseif ($tokenClass == 'PHP_Token_COMMENT' ||
-                $tokenClass == 'PHP_Token_DOC_COMMENT') {
-                $this->linesOfCode['cloc'] += $lines + 1;
-            }
-
-            if ($name == 'DOUBLE_COLON') {
-                $lastNonWhitespaceTokenWasDoubleColon = true;
-            } elseif ($name != 'WHITESPACE') {
-                $lastNonWhitespaceTokenWasDoubleColon = false;
-            }
-        }
-
-        $this->linesOfCode['loc']   = substr_count($sourceCode, "\n");
-        $this->linesOfCode['ncloc'] = $this->linesOfCode['loc'] -
-                                      $this->linesOfCode['cloc'];
-    }
-
-    /**
-     * @return integer
-     */
-    public function count()
-    {
-        return count($this->tokens);
-    }
-
-    /**
-     * @return PHP_Token[]
-     */
-    public function tokens()
-    {
-        return $this->tokens;
-    }
-
-    /**
-     * @return array
-     */
-    public function getClasses()
-    {
-        if ($this->classes !== null) {
-            return $this->classes;
-        }
-
-        $this->parse();
-
-        return $this->classes;
-    }
-
-    /**
-     * @return array
-     */
-    public function getFunctions()
-    {
-        if ($this->functions !== null) {
-            return $this->functions;
-        }
-
-        $this->parse();
-
-        return $this->functions;
-    }
-
-    /**
-     * @return array
-     */
-    public function getInterfaces()
-    {
-        if ($this->interfaces !== null) {
-            return $this->interfaces;
-        }
-
-        $this->parse();
-
-        return $this->interfaces;
-    }
-
-    /**
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getTraits()
-    {
-        if ($this->traits !== null) {
-            return $this->traits;
-        }
-
-        $this->parse();
-
-        return $this->traits;
-    }
-
-    /**
-     * Gets the names of all files that have been included
-     * using include(), include_once(), require() or require_once().
-     *
-     * Parameter $categorize set to TRUE causing this function to return a
-     * multi-dimensional array with categories in the keys of the first dimension
-     * and constants and their values in the second dimension.
-     *
-     * Parameter $category allow to filter following specific inclusion type
-     *
-     * @param bool   $categorize OPTIONAL
-     * @param string $category   OPTIONAL Either 'require_once', 'require',
-     *                                           'include_once', 'include'.
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getIncludes($categorize = false, $category = null)
-    {
-        if ($this->includes === null) {
-            $this->includes = array(
-              'require_once' => array(),
-              'require'      => array(),
-              'include_once' => array(),
-              'include'      => array()
-            );
-
-            foreach ($this->tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_REQUIRE_ONCE':
-                    case 'PHP_Token_REQUIRE':
-                    case 'PHP_Token_INCLUDE_ONCE':
-                    case 'PHP_Token_INCLUDE':
-                        $this->includes[$token->getType()][] = $token->getName();
-                        break;
-                }
-            }
-        }
-
-        if (isset($this->includes[$category])) {
-            $includes = $this->includes[$category];
-        } elseif ($categorize === false) {
-            $includes = array_merge(
-                $this->includes['require_once'],
-                $this->includes['require'],
-                $this->includes['include_once'],
-                $this->includes['include']
-            );
-        } else {
-            $includes = $this->includes;
-        }
-
-        return $includes;
-    }
-
-    /**
-     * Returns the name of the function or method a line belongs to.
-     *
-     * @return string or null if the line is not in a function or method
-     * @since  Method available since Release 1.2.0
-     */
-    public function getFunctionForLine($line)
-    {
-        $this->parse();
-
-        if (isset($this->lineToFunctionMap[$line])) {
-            return $this->lineToFunctionMap[$line];
-        }
-    }
-
-    protected function parse()
-    {
-        $this->interfaces = array();
-        $this->classes    = array();
-        $this->traits     = array();
-        $this->functions  = array();
-        $class            = array();
-        $classEndLine     = array();
-        $trait            = false;
-        $traitEndLine     = false;
-        $interface        = false;
-        $interfaceEndLine = false;
-
-        foreach ($this->tokens as $token) {
-            switch (get_class($token)) {
-                case 'PHP_Token_HALT_COMPILER':
-                    return;
-
-                case 'PHP_Token_INTERFACE':
-                    $interface        = $token->getName();
-                    $interfaceEndLine = $token->getEndLine();
-
-                    $this->interfaces[$interface] = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $interfaceEndLine,
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-                    break;
-
-                case 'PHP_Token_CLASS':
-                case 'PHP_Token_TRAIT':
-                    $tmp = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'interfaces'=> $token->getInterfaces(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-
-                    if ($token instanceof PHP_Token_CLASS) {
-                        $class[]        = $token->getName();
-                        $classEndLine[] = $token->getEndLine();
-
-                        if ($class[count($class)-1] != 'anonymous class') {
-                            $this->classes[$class[count($class)-1]] = $tmp;
-                        }
-                    } else {
-                        $trait                = $token->getName();
-                        $traitEndLine         = $token->getEndLine();
-                        $this->traits[$trait] = $tmp;
-                    }
-                    break;
-
-                case 'PHP_Token_FUNCTION':
-                    $name = $token->getName();
-                    $tmp  = array(
-                      'docblock'  => $token->getDocblock(),
-                      'keywords'  => $token->getKeywords(),
-                      'visibility'=> $token->getVisibility(),
-                      'signature' => $token->getSignature(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'ccn'       => $token->getCCN(),
-                      'file'      => $this->filename
-                    );
-
-                    if (empty($class) &&
-                        $trait === false &&
-                        $interface === false) {
-                        $this->functions[$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } elseif (!empty($class) && $class[count($class)-1] != 'anonymous class') {
-                        $this->classes[$class[count($class)-1]]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $class[count($class)-1] . '::' . $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } elseif ($trait !== false) {
-                        $this->traits[$trait]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $trait . '::' . $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } else {
-                        $this->interfaces[$interface]['methods'][$name] = $tmp;
-                    }
-                    break;
-
-                case 'PHP_Token_CLOSE_CURLY':
-                    if (!empty($classEndLine) &&
-                        $classEndLine[count($classEndLine)-1] == $token->getLine()) {
-                        array_pop($classEndLine);
-                        array_pop($class);
-                    } elseif ($traitEndLine !== false &&
-                        $traitEndLine == $token->getLine()) {
-                        $trait        = false;
-                        $traitEndLine = false;
-                    } elseif ($interfaceEndLine !== false &&
-                        $interfaceEndLine == $token->getLine()) {
-                        $interface        = false;
-                        $interfaceEndLine = false;
-                    }
-                    break;
-            }
-        }
-    }
-
-    /**
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function valid()
-    {
-        return isset($this->tokens[$this->position]);
-    }
-
-    /**
-     * @return integer
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * @return PHP_Token
-     */
-    public function current()
-    {
-        return $this->tokens[$this->position];
-    }
-
-    /**
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * @param  integer $offset
-     * @return boolean
-     */
-    public function offsetExists($offset)
-    {
-        return isset($this->tokens[$offset]);
-    }
-
-    /**
-     * @param  integer $offset
-     * @return mixed
-     * @throws OutOfBoundsException
-     */
-    public function offsetGet($offset)
-    {
-        if (!$this->offsetExists($offset)) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $offset
-                )
-            );
-        }
-
-        return $this->tokens[$offset];
-    }
-
-    /**
-     * @param integer $offset
-     * @param mixed   $value
-     */
-    public function offsetSet($offset, $value)
-    {
-        $this->tokens[$offset] = $value;
-    }
-
-    /**
-     * @param  integer $offset
-     * @throws OutOfBoundsException
-     */
-    public function offsetUnset($offset)
-    {
-        if (!$this->offsetExists($offset)) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $offset
-                )
-            );
-        }
-
-        unset($this->tokens[$offset]);
-    }
-
-    /**
-     * Seek to an absolute position.
-     *
-     * @param  integer $position
-     * @throws OutOfBoundsException
-     */
-    public function seek($position)
-    {
-        $this->position = $position;
-
-        if (!$this->valid()) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $this->position
-                )
-            );
-        }
-    }
-
-    /**
-     * @param string  $name
-     * @param integer $startLine
-     * @param integer $endLine
-     */
-    private function addFunctionToMap($name, $startLine, $endLine)
-    {
-        for ($line = $startLine; $line <= $endLine; $line++) {
-            $this->lineToFunctionMap[$line] = $name;
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A caching factory for token stream objects.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-class PHP_Token_Stream_CachingFactory
-{
-    /**
-     * @var array
-     */
-    protected static $cache = array();
-
-    /**
-     * @param  string $filename
-     * @return PHP_Token_Stream
-     */
-    public static function get($filename)
-    {
-        if (!isset(self::$cache[$filename])) {
-            self::$cache[$filename] = new PHP_Token_Stream($filename);
-        }
-
-        return self::$cache[$filename];
-    }
-
-    /**
-     * @param string $filename
-     */
-    public static function clear($filename = null)
-    {
-        if (is_string($filename)) {
-            unset(self::$cache[$filename]);
-        } else {
-            self::$cache = array();
-        }
-    }
-}
-PHPUnit_MockObject
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for unique identifiers.
- *
- * Defines the interface for recording unique identifiers. The identifiers
- * can be used to define the invocation order of expectations. The expectation
- * is recorded using id() and then defined in order using
- * PHPUnit_Framework_MockObject_Builder_Match::after().
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Identity
-{
-    /**
-     * Sets the identification of the expectation to $id.
-     *
-     * @note The identifier is unique per mock object.
-     *
-     * @param string $id Unique identification of expectation.
-     */
-    public function id($id);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder for mocked or stubbed invocations.
- *
- * Provides methods for building expectations without having to resort to
- * instantiating the various matchers manually. These methods also form a
- * more natural way of reading the expectation. This class should be together
- * with the test case PHPUnit_Framework_MockObject_TestCase.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Builder_InvocationMocker implements PHPUnit_Framework_MockObject_Builder_MethodNameMatch
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Stub_MatcherCollection
-     */
-    protected $collection;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher
-     */
-    protected $matcher;
-
-    /**
-     * @var string[]
-     */
-    private $configurableMethods = [];
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation     $invocationMatcher
-     * @param array                                               $configurableMethods
-     */
-    public function __construct(PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection, PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher, array $configurableMethods)
-    {
-        $this->collection = $collection;
-        $this->matcher    = new PHPUnit_Framework_MockObject_Matcher(
-            $invocationMatcher
-        );
-
-        $this->collection->addMatcher($this->matcher);
-
-        $this->configurableMethods = $configurableMethods;
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Matcher
-     */
-    public function getMatcher()
-    {
-        return $this->matcher;
-    }
-
-    /**
-     * @param mixed $id
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function id($id)
-    {
-        $this->collection->registerId($id, $this);
-
-        return $this;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Stub $stub
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function will(PHPUnit_Framework_MockObject_Stub $stub)
-    {
-        $this->matcher->stub = $stub;
-
-        return $this;
-    }
-
-    /**
-     * @param mixed $value
-     * @param mixed $nextValues, ...
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturn($value, ...$nextValues)
-    {
-        $stub = count($nextValues) === 0 ?
-            new PHPUnit_Framework_MockObject_Stub_Return($value) :
-            new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls(
-               array_merge([$value], $nextValues)
-            );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param mixed $reference
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnReference(&$reference)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnReference($reference);
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param array $valueMap
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnMap(array $valueMap)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnValueMap(
-            $valueMap
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param mixed $argumentIndex
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnArgument($argumentIndex)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnArgument(
-            $argumentIndex
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param callable $callback
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnCallback($callback)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnCallback(
-            $callback
-        );
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnSelf()
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ReturnSelf;
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param mixed $values, ...
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willReturnOnConsecutiveCalls(...$values)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls($values);
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param Exception $exception
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function willThrowException(Exception $exception)
-    {
-        $stub = new PHPUnit_Framework_MockObject_Stub_Exception($exception);
-
-        return $this->will($stub);
-    }
-
-    /**
-     * @param mixed $id
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function after($id)
-    {
-        $this->matcher->afterMatchBuilderId = $id;
-
-        return $this;
-    }
-
-    /**
-     * Validate that a parameters matcher can be defined, throw exceptions otherwise.
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     */
-    private function canDefineParameters()
-    {
-        if ($this->matcher->methodNameMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Method name matcher is not defined, cannot define parameter ' .
-                'matcher without one'
-            );
-        }
-
-        if ($this->matcher->parametersMatcher !== null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Parameter matcher is already defined, cannot redefine'
-            );
-        }
-    }
-
-    /**
-     * @param  array ...$arguments
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function with(...$arguments)
-    {
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_Parameters($arguments);
-
-        return $this;
-    }
-
-    /**
-     * @param  array ...$arguments
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function withConsecutive(...$arguments)
-    {
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters($arguments);
-
-        return $this;
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function withAnyParameters()
-    {
-        $this->canDefineParameters();
-
-        $this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
-
-        return $this;
-    }
-
-    /**
-     * @param PHPUnit_Framework_Constraint|string $constraint
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function method($constraint)
-    {
-        if ($this->matcher->methodNameMatcher !== null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Method name matcher is already defined, cannot redefine'
-            );
-        }
-
-        if (is_string($constraint) && !in_array(strtolower($constraint), $this->configurableMethods)) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                sprintf(
-                    'Trying to configure method "%s" which cannot be configured because it does not exist, has not been specified, is final, or is static',
-                    $constraint
-                )
-            );
-        }
-
-        $this->matcher->methodNameMatcher = new PHPUnit_Framework_MockObject_Matcher_MethodName($constraint);
-
-        return $this;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for invocation order matches.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Match extends PHPUnit_Framework_MockObject_Builder_Stub
-{
-    /**
-     * Defines the expectation which must occur before the current is valid.
-     *
-     * @param string $id The identification of the expectation that should
-     *                   occur before this one.
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_Stub
-     */
-    public function after($id);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for matcher of method names.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_MethodNameMatch extends PHPUnit_Framework_MockObject_Builder_ParametersMatch
-{
-    /**
-     * Adds a new method name match and returns the parameter match object for
-     * further matching possibilities.
-     *
-     * @param PHPUnit_Framework_Constraint $name Constraint for matching method, if a string is passed it will use the PHPUnit_Framework_Constraint_IsEqual
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
-     */
-    public function method($name);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for builders which can register builders with a given identification.
- *
- * This interface relates to PHPUnit_Framework_MockObject_Builder_Identity.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Namespace
-{
-    /**
-     * Looks up the match builder with identification $id and returns it.
-     *
-     * @param string $id The identification of the match builder
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_Match
-     */
-    public function lookupId($id);
-
-    /**
-     * Registers the match builder $builder with the identification $id. The
-     * builder can later be looked up using lookupId() to figure out if it
-     * has been invoked.
-     *
-     * @param string                                     $id      The identification of the match builder
-     * @param PHPUnit_Framework_MockObject_Builder_Match $builder The builder which is being registered
-     */
-    public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for parameter matchers.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_ParametersMatch extends PHPUnit_Framework_MockObject_Builder_Match
-{
-    /**
-     * Sets the parameters to match for, each parameter to this funtion will
-     * be part of match. To perform specific matches or constraints create a
-     * new PHPUnit_Framework_Constraint and use it for the parameter.
-     * If the parameter value is not a constraint it will use the
-     * PHPUnit_Framework_Constraint_IsEqual for the value.
-     *
-     * Some examples:
-     * <code>
-     * // match first parameter with value 2
-     * $b->with(2);
-     * // match first parameter with value 'smock' and second identical to 42
-     * $b->with('smock', new PHPUnit_Framework_Constraint_IsEqual(42));
-     * </code>
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
-     */
-    public function with(...$arguments);
-
-    /**
-     * Sets a matcher which allows any kind of parameters.
-     *
-     * Some examples:
-     * <code>
-     * // match any number of parameters
-     * $b->withAnyParameters();
-     * </code>
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_AnyParameters
-     */
-    public function withAnyParameters();
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Builder interface for stubs which are actions replacing an invocation.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Builder_Stub extends PHPUnit_Framework_MockObject_Builder_Identity
-{
-    /**
-     * Stubs the matching method with the stub object $stub. Any invocations of
-     * the matched method will now be handled by the stub instead.
-     *
-     * @param PHPUnit_Framework_MockObject_Stub $stub
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_Identity
-     */
-    public function will(PHPUnit_Framework_MockObject_Stub $stub);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 2.0.6
- */
-class PHPUnit_Framework_MockObject_BadMethodCallException extends BadMethodCallException implements PHPUnit_Framework_MockObject_Exception
-{
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for exceptions used by PHPUnit_MockObject.
- *
- * @since Interface available since Release 2.0.6
- */
-interface PHPUnit_Framework_MockObject_Exception
-{
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 2.0.6
- */
-class PHPUnit_Framework_MockObject_RuntimeException extends RuntimeException implements PHPUnit_Framework_MockObject_Exception
-{
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use Doctrine\Instantiator\Instantiator;
-use Doctrine\Instantiator\Exception\InvalidArgumentException as InstantiatorInvalidArgumentException;
-use Doctrine\Instantiator\Exception\UnexpectedValueException as InstantiatorUnexpectedValueException;
-
-/**
- * Mock Object Code Generator
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Generator
-{
-    /**
-     * @var array
-     */
-    private static $cache = [];
-
-    /**
-     * @var array
-     */
-    private $legacyBlacklistedMethodNames = [
-        '__CLASS__'       => true,
-        '__DIR__'         => true,
-        '__FILE__'        => true,
-        '__FUNCTION__'    => true,
-        '__LINE__'        => true,
-        '__METHOD__'      => true,
-        '__NAMESPACE__'   => true,
-        '__TRAIT__'       => true,
-        '__clone'         => true,
-        '__halt_compiler' => true,
-        'abstract'        => true,
-        'and'             => true,
-        'array'           => true,
-        'as'              => true,
-        'break'           => true,
-        'callable'        => true,
-        'case'            => true,
-        'catch'           => true,
-        'class'           => true,
-        'clone'           => true,
-        'const'           => true,
-        'continue'        => true,
-        'declare'         => true,
-        'default'         => true,
-        'die'             => true,
-        'do'              => true,
-        'echo'            => true,
-        'else'            => true,
-        'elseif'          => true,
-        'empty'           => true,
-        'enddeclare'      => true,
-        'endfor'          => true,
-        'endforeach'      => true,
-        'endif'           => true,
-        'endswitch'       => true,
-        'endwhile'        => true,
-        'eval'            => true,
-        'exit'            => true,
-        'expects'         => true,
-        'extends'         => true,
-        'final'           => true,
-        'for'             => true,
-        'foreach'         => true,
-        'function'        => true,
-        'global'          => true,
-        'goto'            => true,
-        'if'              => true,
-        'implements'      => true,
-        'include'         => true,
-        'include_once'    => true,
-        'instanceof'      => true,
-        'insteadof'       => true,
-        'interface'       => true,
-        'isset'           => true,
-        'list'            => true,
-        'namespace'       => true,
-        'new'             => true,
-        'or'              => true,
-        'print'           => true,
-        'private'         => true,
-        'protected'       => true,
-        'public'          => true,
-        'require'         => true,
-        'require_once'    => true,
-        'return'          => true,
-        'static'          => true,
-        'switch'          => true,
-        'throw'           => true,
-        'trait'           => true,
-        'try'             => true,
-        'unset'           => true,
-        'use'             => true,
-        'var'             => true,
-        'while'           => true,
-        'xor'             => true
-    ];
-
-    /**
-     * @var array
-     */
-    private $blacklistedMethodNames = [
-        '__CLASS__'       => true,
-        '__DIR__'         => true,
-        '__FILE__'        => true,
-        '__FUNCTION__'    => true,
-        '__LINE__'        => true,
-        '__METHOD__'      => true,
-        '__NAMESPACE__'   => true,
-        '__TRAIT__'       => true,
-        '__clone'         => true,
-        '__halt_compiler' => true,
-    ];
-
-    /**
-     * Returns a mock object for the specified class.
-     *
-     * @param array|string $type
-     * @param array        $methods
-     * @param array        $arguments
-     * @param string       $mockClassName
-     * @param bool         $callOriginalConstructor
-     * @param bool         $callOriginalClone
-     * @param bool         $callAutoload
-     * @param bool         $cloneArguments
-     * @param bool         $callOriginalMethods
-     * @param object       $proxyTarget
-     * @param bool         $allowMockingUnknownTypes
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws InvalidArgumentException
-     * @throws PHPUnit_Framework_Exception
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     *
-     * @since  Method available since Release 1.0.0
-     */
-    public function getMock($type, $methods = [], array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = true, $callOriginalMethods = false, $proxyTarget = null, $allowMockingUnknownTypes = true)
-    {
-        if (!is_array($type) && !is_string($type)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'array or string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'string');
-        }
-
-        if (!is_array($methods) && !is_null($methods)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'array', $methods);
-        }
-
-        if ($type === 'Traversable' || $type === '\\Traversable') {
-            $type = 'Iterator';
-        }
-
-        if (is_array($type)) {
-            $type = array_unique(
-                array_map(
-                    function ($type) {
-                        if ($type === 'Traversable' ||
-                            $type === '\\Traversable' ||
-                            $type === '\\Iterator') {
-                            return 'Iterator';
-                        }
-
-                        return $type;
-                    },
-                    $type
-                )
-            );
-        }
-
-        if (!$allowMockingUnknownTypes) {
-            if (is_array($type)) {
-                foreach ($type as $_type) {
-                    if (!class_exists($_type, $callAutoload) &&
-                        !interface_exists($_type, $callAutoload)) {
-                        throw new PHPUnit_Framework_MockObject_RuntimeException(
-                            sprintf(
-                                'Cannot stub or mock class or interface "%s" which does not exist',
-                                $_type
-                            )
-                        );
-                    }
-                }
-            } else {
-                if (!class_exists($type, $callAutoload) &&
-                    !interface_exists($type, $callAutoload)
-                ) {
-                    throw new PHPUnit_Framework_MockObject_RuntimeException(
-                        sprintf(
-                            'Cannot stub or mock class or interface "%s" which does not exist',
-                            $type
-                        )
-                    );
-                }
-            }
-        }
-
-        if (null !== $methods) {
-            foreach ($methods as $method) {
-                if (!preg_match('~[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~', $method)) {
-                    throw new PHPUnit_Framework_MockObject_RuntimeException(
-                        sprintf(
-                            'Cannot stub or mock method with invalid name "%s"',
-                            $method
-                        )
-                    );
-                }
-            }
-
-            if ($methods != array_unique($methods)) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    sprintf(
-                        'Cannot stub or mock using a method list that contains duplicates: "%s" (duplicate: "%s")',
-                        implode(', ', $methods),
-                        implode(', ', array_unique(array_diff_assoc($methods, array_unique($methods))))
-                    )
-                );
-            }
-        }
-
-        if ($mockClassName != '' && class_exists($mockClassName, false)) {
-            $reflect = new ReflectionClass($mockClassName);
-
-            if (!$reflect->implementsInterface('PHPUnit_Framework_MockObject_MockObject')) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    sprintf(
-                        'Class "%s" already exists.',
-                        $mockClassName
-                    )
-                );
-            }
-        }
-
-        if ($callOriginalConstructor === false && $callOriginalMethods === true) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Proxying to original methods requires invoking the original constructor'
-            );
-        }
-
-        $mock = $this->generate(
-            $type,
-            $methods,
-            $mockClassName,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments,
-            $callOriginalMethods
-        );
-
-        return $this->getObject(
-            $mock['code'],
-            $mock['mockClassName'],
-            $type,
-            $callOriginalConstructor,
-            $callAutoload,
-            $arguments,
-            $callOriginalMethods,
-            $proxyTarget
-        );
-    }
-
-    /**
-     * @param string       $code
-     * @param string       $className
-     * @param array|string $type
-     * @param bool         $callOriginalConstructor
-     * @param bool         $callAutoload
-     * @param array        $arguments
-     * @param bool         $callOriginalMethods
-     * @param object       $proxyTarget
-     *
-     * @return object
-     */
-    private function getObject($code, $className, $type = '', $callOriginalConstructor = false, $callAutoload = false, array $arguments = [], $callOriginalMethods = false, $proxyTarget = null)
-    {
-        $this->evalClass($code, $className);
-
-        if ($callOriginalConstructor &&
-            is_string($type) &&
-            !interface_exists($type, $callAutoload)) {
-            if (count($arguments) == 0) {
-                $object = new $className;
-            } else {
-                $class  = new ReflectionClass($className);
-                $object = $class->newInstanceArgs($arguments);
-            }
-        } else {
-            try {
-                $instantiator = new Instantiator;
-                $object       = $instantiator->instantiate($className);
-            } catch (InstantiatorUnexpectedValueException $exception) {
-                if ($exception->getPrevious()) {
-                    $exception = $exception->getPrevious();
-                }
-
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    $exception->getMessage()
-                );
-            } catch (InstantiatorInvalidArgumentException $exception) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    $exception->getMessage()
-                );
-            }
-        }
-
-        if ($callOriginalMethods) {
-            if (!is_object($proxyTarget)) {
-                if (count($arguments) == 0) {
-                    $proxyTarget = new $type;
-                } else {
-                    $class       = new ReflectionClass($type);
-                    $proxyTarget = $class->newInstanceArgs($arguments);
-                }
-            }
-
-            $object->__phpunit_setOriginalObject($proxyTarget);
-        }
-
-        return $object;
-    }
-
-    /**
-     * @param string $code
-     * @param string $className
-     */
-    private function evalClass($code, $className)
-    {
-        if (!class_exists($className, false)) {
-            eval($code);
-        }
-    }
-
-    /**
-     * Returns a mock object for the specified abstract class with all abstract
-     * methods of the class mocked. Concrete methods to mock can be specified with
-     * the last parameter
-     *
-     * @param string $originalClassName
-     * @param array  $arguments
-     * @param string $mockClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param array  $mockedMethods
-     * @param bool   $cloneArguments
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since  Method available since Release 1.0.0
-     */
-    public function getMockForAbstractClass($originalClassName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = true)
-    {
-        if (!is_string($originalClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (class_exists($originalClassName, $callAutoload) ||
-            interface_exists($originalClassName, $callAutoload)) {
-            $reflector = new ReflectionClass($originalClassName);
-            $methods   = $mockedMethods;
-
-            foreach ($reflector->getMethods() as $method) {
-                if ($method->isAbstract() && !in_array($method->getName(), $methods)) {
-                    $methods[] = $method->getName();
-                }
-            }
-
-            if (empty($methods)) {
-                $methods = null;
-            }
-
-            return $this->getMock(
-                $originalClassName,
-                $methods,
-                $arguments,
-                $mockClassName,
-                $callOriginalConstructor,
-                $callOriginalClone,
-                $callAutoload,
-                $cloneArguments
-            );
-        } else {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                sprintf('Class "%s" does not exist.', $originalClassName)
-            );
-        }
-    }
-
-    /**
-     * Returns a mock object for the specified trait with all abstract methods
-     * of the trait mocked. Concrete methods to mock can be specified with the
-     * `$mockedMethods` parameter.
-     *
-     * @param string $traitName
-     * @param array  $arguments
-     * @param string $mockClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param array  $mockedMethods
-     * @param bool   $cloneArguments
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since  Method available since Release 1.2.3
-     */
-    public function getMockForTrait($traitName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = true)
-    {
-        if (!is_string($traitName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($mockClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (!trait_exists($traitName, $callAutoload)) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                sprintf(
-                    'Trait "%s" does not exist.',
-                    $traitName
-                )
-            );
-        }
-
-        $className = $this->generateClassName(
-            $traitName,
-            '',
-            'Trait_'
-        );
-
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
-                         DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template(
-            $templateDir . 'trait_class.tpl'
-        );
-
-        $classTemplate->setVar(
-            [
-                'prologue'   => 'abstract ',
-                'class_name' => $className['className'],
-                'trait_name' => $traitName
-            ]
-        );
-
-        $this->evalClass(
-            $classTemplate->render(),
-            $className['className']
-        );
-
-        return $this->getMockForAbstractClass($className['className'], $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $mockedMethods, $cloneArguments);
-    }
-
-    /**
-     * Returns an object for the specified trait.
-     *
-     * @param string $traitName
-     * @param array  $arguments
-     * @param string $traitClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     *
-     * @return object
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since  Method available since Release 1.1.0
-     */
-    public function getObjectForTrait($traitName, array $arguments = [], $traitClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true)
-    {
-        if (!is_string($traitName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($traitClassName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
-        }
-
-        if (!trait_exists($traitName, $callAutoload)) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                sprintf(
-                    'Trait "%s" does not exist.',
-                    $traitName
-                )
-            );
-        }
-
-        $className = $this->generateClassName(
-            $traitName,
-            $traitClassName,
-            'Trait_'
-        );
-
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' . DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template($templateDir . 'trait_class.tpl');
-
-        $classTemplate->setVar(
-            [
-                'prologue'   => '',
-                'class_name' => $className['className'],
-                'trait_name' => $traitName
-            ]
-        );
-
-        return $this->getObject(
-            $classTemplate->render(),
-            $className['className']
-        );
-    }
-
-    /**
-     * @param array|string $type
-     * @param array        $methods
-     * @param string       $mockClassName
-     * @param bool         $callOriginalClone
-     * @param bool         $callAutoload
-     * @param bool         $cloneArguments
-     * @param bool         $callOriginalMethods
-     *
-     * @return array
-     */
-    public function generate($type, array $methods = null, $mockClassName = '', $callOriginalClone = true, $callAutoload = true, $cloneArguments = true, $callOriginalMethods = false)
-    {
-        if (is_array($type)) {
-            sort($type);
-        }
-
-        if ($mockClassName == '') {
-            $key = md5(
-                is_array($type) ? implode('_', $type) : $type .
-                serialize($methods) .
-                serialize($callOriginalClone) .
-                serialize($cloneArguments) .
-                serialize($callOriginalMethods)
-            );
-
-            if (isset(self::$cache[$key])) {
-                return self::$cache[$key];
-            }
-        }
-
-        $mock = $this->generateMock(
-            $type,
-            $methods,
-            $mockClassName,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments,
-            $callOriginalMethods
-        );
-
-        if (isset($key)) {
-            self::$cache[$key] = $mock;
-        }
-
-        return $mock;
-    }
-
-    /**
-     * @param string $wsdlFile
-     * @param string $className
-     * @param array  $methods
-     * @param array  $options
-     *
-     * @return string
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     */
-    public function generateClassFromWsdl($wsdlFile, $className, array $methods = [], array $options = [])
-    {
-        if (!extension_loaded('soap')) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'The SOAP extension is required to generate a mock object from WSDL.'
-            );
-        }
-
-        $options  = array_merge($options, ['cache_wsdl' => WSDL_CACHE_NONE]);
-        $client   = new SoapClient($wsdlFile, $options);
-        $_methods = array_unique($client->__getFunctions());
-        unset($client);
-
-        sort($_methods);
-
-        $templateDir    = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' . DIRECTORY_SEPARATOR;
-        $methodTemplate = new Text_Template($templateDir . 'wsdl_method.tpl');
-        $methodsBuffer  = '';
-
-        foreach ($_methods as $method) {
-            $nameStart = strpos($method, ' ') + 1;
-            $nameEnd   = strpos($method, '(');
-            $name      = substr($method, $nameStart, $nameEnd - $nameStart);
-
-            if (empty($methods) || in_array($name, $methods)) {
-                $args    = explode(
-                    ',',
-                    substr(
-                        $method,
-                        $nameEnd + 1,
-                        strpos($method, ')') - $nameEnd - 1
-                    )
-                );
-                $numArgs = count($args);
-
-                for ($i = 0; $i < $numArgs; $i++) {
-                    $args[$i] = substr($args[$i], strpos($args[$i], '$'));
-                }
-
-                $methodTemplate->setVar(
-                    [
-                        'method_name' => $name,
-                        'arguments'   => implode(', ', $args)
-                    ]
-                );
-
-                $methodsBuffer .= $methodTemplate->render();
-            }
-        }
-
-        $optionsBuffer = 'array(';
-
-        foreach ($options as $key => $value) {
-            $optionsBuffer .= $key . ' => ' . $value;
-        }
-
-        $optionsBuffer .= ')';
-
-        $classTemplate = new Text_Template($templateDir . 'wsdl_class.tpl');
-        $namespace     = '';
-
-        if (strpos($className, '\\') !== false) {
-            $parts     = explode('\\', $className);
-            $className = array_pop($parts);
-            $namespace = 'namespace ' . implode('\\', $parts) . ';' . "\n\n";
-        }
-
-        $classTemplate->setVar(
-            [
-                'namespace'  => $namespace,
-                'class_name' => $className,
-                'wsdl'       => $wsdlFile,
-                'options'    => $optionsBuffer,
-                'methods'    => $methodsBuffer
-            ]
-        );
-
-        return $classTemplate->render();
-    }
-
-    /**
-     * @param array|string $type
-     * @param array|null   $methods
-     * @param string       $mockClassName
-     * @param bool         $callOriginalClone
-     * @param bool         $callAutoload
-     * @param bool         $cloneArguments
-     * @param bool         $callOriginalMethods
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     */
-    private function generateMock($type, $methods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments, $callOriginalMethods)
-    {
-        $templateDir   = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
-                         DIRECTORY_SEPARATOR;
-        $classTemplate = new Text_Template(
-            $templateDir . 'mocked_class.tpl'
-        );
-
-        $additionalInterfaces = [];
-        $cloneTemplate        = '';
-        $isClass              = false;
-        $isInterface          = false;
-
-        $mockClassName = $this->generateClassName(
-            $type,
-            $mockClassName,
-            'Mock_'
-        );
-
-        if (is_array($type)) {
-            foreach ($type as $_type) {
-                if (!interface_exists($_type, $callAutoload)) {
-                    throw new PHPUnit_Framework_MockObject_RuntimeException(
-                        sprintf(
-                            'Interface "%s" does not exist.',
-                            $_type
-                        )
-                    );
-                }
-
-                $additionalInterfaces[] = $_type;
-
-                foreach ($this->getClassMethods($_type) as $method) {
-                    if (in_array($method, $methods)) {
-                        throw new PHPUnit_Framework_MockObject_RuntimeException(
-                            sprintf(
-                                'Duplicate method "%s" not allowed.',
-                                $method
-                            )
-                        );
-                    }
-
-                    $methods[] = $method;
-                }
-            }
-        }
-
-        if (class_exists($mockClassName['fullClassName'], $callAutoload)) {
-            $isClass = true;
-        } elseif (interface_exists($mockClassName['fullClassName'], $callAutoload)) {
-            $isInterface = true;
-        }
-
-        if (!$isClass && !$isInterface) {
-            $prologue = 'class ' . $mockClassName['originalClassName'] . "\n{\n}\n\n";
-
-            if (!empty($mockClassName['namespaceName'])) {
-                $prologue = 'namespace ' . $mockClassName['namespaceName'] .
-                            " {\n\n" . $prologue . "}\n\n" .
-                            "namespace {\n\n";
-
-                $epilogue = "\n\n}";
-            }
-
-            $cloneTemplate = new Text_Template(
-                $templateDir . 'mocked_clone.tpl'
-            );
-        } else {
-            $class = new ReflectionClass($mockClassName['fullClassName']);
-
-            if ($class->isFinal()) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    sprintf(
-                        'Class "%s" is declared "final" and cannot be mocked.',
-                        $mockClassName['fullClassName']
-                    )
-                );
-            }
-
-            if ($class->hasMethod('__clone')) {
-                $cloneMethod = $class->getMethod('__clone');
-
-                if (!$cloneMethod->isFinal()) {
-                    if ($callOriginalClone && !$isInterface) {
-                        $cloneTemplate = new Text_Template(
-                            $templateDir . 'unmocked_clone.tpl'
-                        );
-                    } else {
-                        $cloneTemplate = new Text_Template(
-                            $templateDir . 'mocked_clone.tpl'
-                        );
-                    }
-                }
-            } else {
-                $cloneTemplate = new Text_Template(
-                    $templateDir . 'mocked_clone.tpl'
-                );
-            }
-        }
-
-        if (is_object($cloneTemplate)) {
-            $cloneTemplate = $cloneTemplate->render();
-        }
-
-        if (is_array($methods) && empty($methods) &&
-            ($isClass || $isInterface)) {
-            $methods = $this->getClassMethods($mockClassName['fullClassName']);
-        }
-
-        if (!is_array($methods)) {
-            $methods = [];
-        }
-
-        $mockedMethods = '';
-        $configurable  = [];
-
-        foreach ($methods as $methodName) {
-            if ($methodName != '__construct' && $methodName != '__clone') {
-                $configurable[] = strtolower($methodName);
-            }
-        }
-
-        if (isset($class)) {
-            // https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103
-            if ($isInterface && $class->implementsInterface('Traversable') &&
-                !$class->implementsInterface('Iterator') &&
-                !$class->implementsInterface('IteratorAggregate')) {
-                $additionalInterfaces[] = 'Iterator';
-                $methods                = array_merge($methods, $this->getClassMethods('Iterator'));
-            }
-
-            foreach ($methods as $methodName) {
-                try {
-                    $method = $class->getMethod($methodName);
-
-                    if ($this->canMockMethod($method)) {
-                        $mockedMethods .= $this->generateMockedMethodDefinitionFromExisting(
-                            $templateDir,
-                            $method,
-                            $cloneArguments,
-                            $callOriginalMethods
-                        );
-                    }
-                } catch (ReflectionException $e) {
-                    $mockedMethods .= $this->generateMockedMethodDefinition(
-                        $templateDir,
-                        $mockClassName['fullClassName'],
-                        $methodName,
-                        $cloneArguments
-                    );
-                }
-            }
-        } else {
-            foreach ($methods as $methodName) {
-                $mockedMethods .= $this->generateMockedMethodDefinition(
-                    $templateDir,
-                    $mockClassName['fullClassName'],
-                    $methodName,
-                    $cloneArguments
-                );
-            }
-        }
-
-        $method = '';
-
-        if (!in_array('method', $methods) && (!isset($class) || !$class->hasMethod('method'))) {
-            $methodTemplate = new Text_Template(
-                $templateDir . 'mocked_class_method.tpl'
-            );
-
-            $method = $methodTemplate->render();
-        }
-
-        $classTemplate->setVar(
-            [
-                'prologue'          => isset($prologue) ? $prologue : '',
-                'epilogue'          => isset($epilogue) ? $epilogue : '',
-                'class_declaration' => $this->generateMockClassDeclaration(
-                    $mockClassName,
-                    $isInterface,
-                    $additionalInterfaces
-                ),
-                'clone'             => $cloneTemplate,
-                'mock_class_name'   => $mockClassName['className'],
-                'mocked_methods'    => $mockedMethods,
-                'method'            => $method,
-                'configurable'      => '[' . implode(', ', array_map(function ($m) { return '\'' . $m . '\'';}, $configurable)) . ']'
-            ]
-        );
-
-        return [
-          'code'          => $classTemplate->render(),
-          'mockClassName' => $mockClassName['className']
-        ];
-    }
-
-    /**
-     * @param array|string $type
-     * @param string       $className
-     * @param string       $prefix
-     *
-     * @return array
-     */
-    private function generateClassName($type, $className, $prefix)
-    {
-        if (is_array($type)) {
-            $type = implode('_', $type);
-        }
-
-        if ($type[0] == '\\') {
-            $type = substr($type, 1);
-        }
-
-        $classNameParts = explode('\\', $type);
-
-        if (count($classNameParts) > 1) {
-            $type          = array_pop($classNameParts);
-            $namespaceName = implode('\\', $classNameParts);
-            $fullClassName = $namespaceName . '\\' . $type;
-        } else {
-            $namespaceName = '';
-            $fullClassName = $type;
-        }
-
-        if ($className == '') {
-            do {
-                $className = $prefix . $type . '_' .
-                             substr(md5(microtime()), 0, 8);
-            } while (class_exists($className, false));
-        }
-
-        return [
-          'className'         => $className,
-          'originalClassName' => $type,
-          'fullClassName'     => $fullClassName,
-          'namespaceName'     => $namespaceName
-        ];
-    }
-
-    /**
-     * @param array $mockClassName
-     * @param bool  $isInterface
-     * @param array $additionalInterfaces
-     *
-     * @return array
-     */
-    private function generateMockClassDeclaration(array $mockClassName, $isInterface, array $additionalInterfaces = [])
-    {
-        $buffer = 'class ';
-
-        $additionalInterfaces[] = 'PHPUnit_Framework_MockObject_MockObject';
-        $interfaces             = implode(', ', $additionalInterfaces);
-
-        if ($isInterface) {
-            $buffer .= sprintf(
-                '%s implements %s',
-                $mockClassName['className'],
-                $interfaces
-            );
-
-            if (!in_array($mockClassName['originalClassName'], $additionalInterfaces)) {
-                $buffer .= ', ';
-
-                if (!empty($mockClassName['namespaceName'])) {
-                    $buffer .= $mockClassName['namespaceName'] . '\\';
-                }
-
-                $buffer .= $mockClassName['originalClassName'];
-            }
-        } else {
-            $buffer .= sprintf(
-                '%s extends %s%s implements %s',
-                $mockClassName['className'],
-                !empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '',
-                $mockClassName['originalClassName'],
-                $interfaces
-            );
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @param string           $templateDir
-     * @param ReflectionMethod $method
-     * @param bool             $cloneArguments
-     * @param bool             $callOriginalMethods
-     *
-     * @return string
-     */
-    private function generateMockedMethodDefinitionFromExisting($templateDir, ReflectionMethod $method, $cloneArguments, $callOriginalMethods)
-    {
-        if ($method->isPrivate()) {
-            $modifier = 'private';
-        } elseif ($method->isProtected()) {
-            $modifier = 'protected';
-        } else {
-            $modifier = 'public';
-        }
-
-        if ($method->isStatic()) {
-            $modifier .= ' static';
-        }
-
-        if ($method->returnsReference()) {
-            $reference = '&';
-        } else {
-            $reference = '';
-        }
-
-        if ($this->hasReturnType($method)) {
-            $returnType = (string) $method->getReturnType();
-        } else {
-            $returnType = '';
-        }
-
-        if (preg_match('#\*[ \t]*+@deprecated[ \t]*+(.*?)\r?+\n[ \t]*+\*(?:[ \t]*+@|/$)#s', $method->getDocComment(), $deprecation)) {
-            $deprecation = trim(preg_replace('#[ \t]*\r?\n[ \t]*+\*[ \t]*+#', ' ', $deprecation[1]));
-        } else {
-            $deprecation = false;
-        }
-
-        return $this->generateMockedMethodDefinition(
-            $templateDir,
-            $method->getDeclaringClass()->getName(),
-            $method->getName(),
-            $cloneArguments,
-            $modifier,
-            $this->getMethodParameters($method),
-            $this->getMethodParameters($method, true),
-            $returnType,
-            $reference,
-            $callOriginalMethods,
-            $method->isStatic(),
-            $deprecation
-        );
-    }
-
-    /**
-     * @param string       $templateDir
-     * @param string       $className
-     * @param string       $methodName
-     * @param bool         $cloneArguments
-     * @param string       $modifier
-     * @param string       $arguments_decl
-     * @param string       $arguments_call
-     * @param string       $return_type
-     * @param string       $reference
-     * @param bool         $callOriginalMethods
-     * @param bool         $static
-     * @param string|false $deprecation
-     *
-     * @return string
-     */
-    private function generateMockedMethodDefinition($templateDir, $className, $methodName, $cloneArguments = true, $modifier = 'public', $arguments_decl = '', $arguments_call = '', $return_type = '', $reference = '', $callOriginalMethods = false, $static = false, $deprecation = false)
-    {
-        if ($static) {
-            $templateFile = 'mocked_static_method.tpl';
-        } else {
-            $templateFile = sprintf(
-                '%s_method.tpl',
-                $callOriginalMethods ? 'proxied' : 'mocked'
-            );
-        }
-
-        // Mocked interfaces returning 'self' must explicitly declare the
-        // interface name as the return type. See
-        // https://bugs.php.net/bug.php?id=70722
-        if ($return_type === 'self') {
-            $return_type = $className;
-        }
-
-        if (false !== $deprecation) {
-            $deprecation         = "The $className::$methodName method is deprecated ($deprecation).";
-            $deprecationTemplate = new Text_Template($templateDir . 'deprecation.tpl');
-
-            $deprecationTemplate->setVar(
-                [
-                    'deprecation' => var_export($deprecation, true),
-                ]
-            );
-
-            $deprecation = $deprecationTemplate->render();
-        }
-
-        $template = new Text_Template($templateDir . $templateFile);
-
-        $template->setVar(
-            [
-                'arguments_decl'  => $arguments_decl,
-                'arguments_call'  => $arguments_call,
-                'return_delim'    => $return_type ? ': ' : '',
-                'return_type'     => $return_type,
-                'arguments_count' => !empty($arguments_call) ? count(explode(',', $arguments_call)) : 0,
-                'class_name'      => $className,
-                'method_name'     => $methodName,
-                'modifier'        => $modifier,
-                'reference'       => $reference,
-                'clone_arguments' => $cloneArguments ? 'true' : 'false',
-                'deprecation'     => $deprecation
-            ]
-        );
-
-        return $template->render();
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     */
-    private function canMockMethod(ReflectionMethod $method)
-    {
-        if ($method->isConstructor() ||
-            $method->isFinal() ||
-            $method->isPrivate() ||
-            $this->isMethodNameBlacklisted($method->getName())) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns whether i method name is blacklisted
-     *
-     * Since PHP 7 the only names that are still reserved for method names are the ones that start with an underscore
-     *
-     * @param string $name
-     *
-     * @return bool
-     */
-    private function isMethodNameBlacklisted($name)
-    {
-        if (PHP_MAJOR_VERSION < 7 && isset($this->legacyBlacklistedMethodNames[$name])) {
-            return true;
-        }
-
-        if (PHP_MAJOR_VERSION >= 7 && isset($this->blacklistedMethodNames[$name])) {
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns the parameters of a function or method.
-     *
-     * @param ReflectionMethod $method
-     * @param bool             $forCall
-     *
-     * @return string
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     *
-     * @since  Method available since Release 2.0.0
-     */
-    private function getMethodParameters(ReflectionMethod $method, $forCall = false)
-    {
-        $parameters = [];
-
-        foreach ($method->getParameters() as $i => $parameter) {
-            $name = '$' . $parameter->getName();
-
-            /* Note: PHP extensions may use empty names for reference arguments
-             * or "..." for methods taking a variable number of arguments.
-             */
-            if ($name === '$' || $name === '$...') {
-                $name = '$arg' . $i;
-            }
-
-            if ($this->isVariadic($parameter)) {
-                if ($forCall) {
-                    continue;
-                } else {
-                    $name = '...' . $name;
-                }
-            }
-
-            $default         = '';
-            $reference       = '';
-            $typeDeclaration = '';
-
-            if (!$forCall) {
-                if ($this->hasType($parameter) && (string) $parameter->getType() !== 'self') {
-                    $typeDeclaration = (string) $parameter->getType() . ' ';
-                } elseif ($parameter->isArray()) {
-                    $typeDeclaration = 'array ';
-                } elseif ($parameter->isCallable()) {
-                    $typeDeclaration = 'callable ';
-                } else {
-                    try {
-                        $class = $parameter->getClass();
-                    } catch (ReflectionException $e) {
-                        throw new PHPUnit_Framework_MockObject_RuntimeException(
-                            sprintf(
-                                'Cannot mock %s::%s() because a class or ' .
-                                'interface used in the signature is not loaded',
-                                $method->getDeclaringClass()->getName(),
-                                $method->getName()
-                            ),
-                            0,
-                            $e
-                        );
-                    }
-
-                    if ($class !== null) {
-                        $typeDeclaration = $class->getName() . ' ';
-                    }
-                }
-
-                if (!$this->isVariadic($parameter)) {
-                    if ($parameter->isDefaultValueAvailable()) {
-                        $value   = $parameter->getDefaultValue();
-                        $default = ' = ' . var_export($value, true);
-                    } elseif ($parameter->isOptional()) {
-                        $default = ' = null';
-                    }
-                }
-            }
-
-            if ($parameter->isPassedByReference()) {
-                $reference = '&';
-            }
-
-            $parameters[] = $typeDeclaration . $reference . $name . $default;
-        }
-
-        return implode(', ', $parameters);
-    }
-
-    /**
-     * @param ReflectionParameter $parameter
-     *
-     * @return bool
-     *
-     * @since  Method available since Release 2.2.1
-     */
-    private function isVariadic(ReflectionParameter $parameter)
-    {
-        return method_exists(ReflectionParameter::class, 'isVariadic') && $parameter->isVariadic();
-    }
-
-    /**
-     * @param ReflectionParameter $parameter
-     *
-     * @return bool
-     *
-     * @since  Method available since Release 2.3.4
-     */
-    private function hasType(ReflectionParameter $parameter)
-    {
-        return method_exists(ReflectionParameter::class, 'hasType') && $parameter->hasType();
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     */
-    private function hasReturnType(ReflectionMethod $method)
-    {
-        return method_exists(ReflectionMethod::class, 'hasReturnType') && $method->hasReturnType();
-    }
-
-    /**
-     * @param string $className
-     *
-     * @return array
-     *
-     * @since  Method available since Release 2.3.2
-     */
-    public function getClassMethods($className)
-    {
-        $class   = new ReflectionClass($className);
-        $methods = [];
-
-        foreach ($class->getMethods() as $method) {
-            if ($method->isPublic() || $method->isAbstract()) {
-                $methods[] = $method->getName();
-            }
-        }
-
-        return $methods;
-    }
-}
-
-        @trigger_error({deprecation}, E_USER_DEPRECATED);
-{prologue}{class_declaration}
-{
-    private $__phpunit_invocationMocker;
-    private $__phpunit_originalObject;
-    private $__phpunit_configurable = {configurable};
-
-{clone}{mocked_methods}
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return $this->__phpunit_getInvocationMocker()->expects($matcher);
-    }
-{method}
-    public function __phpunit_setOriginalObject($originalObject)
-    {
-        $this->__phpunit_originalObject = $originalObject;
-    }
-
-    public function __phpunit_getInvocationMocker()
-    {
-        if ($this->__phpunit_invocationMocker === null) {
-            $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
-        }
-
-        return $this->__phpunit_invocationMocker;
-    }
-
-    public function __phpunit_hasMatchers()
-    {
-        return $this->__phpunit_getInvocationMocker()->hasMatchers();
-    }
-
-    public function __phpunit_verify($unsetInvocationMocker = true)
-    {
-        $this->__phpunit_getInvocationMocker()->verify();
-
-        if ($unsetInvocationMocker) {
-            $this->__phpunit_invocationMocker = null;
-        }
-    }
-}{epilogue}
-
-    public function method()
-    {
-        $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-        $expects = $this->expects($any);
-        return call_user_func_array(array($expects, 'method'), func_get_args());
-    }
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-    }
-
-    {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
-    {{deprecation}
-        $arguments = array({arguments_call});
-        $count     = func_num_args();
-
-        if ($count > {arguments_count}) {
-            $_arguments = func_get_args();
-
-            for ($i = {arguments_count}; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $result = $this->__phpunit_getInvocationMocker()->invoke(
-            new PHPUnit_Framework_MockObject_Invocation_Object(
-                '{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
-            )
-        );
-
-        return $result;
-    }
-
-    {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
-    {
-        throw new PHPUnit_Framework_MockObject_BadMethodCallException;
-    }
-
-    {modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
-    {
-        $arguments = array({arguments_call});
-        $count     = func_num_args();
-
-        if ($count > {arguments_count}) {
-            $_arguments = func_get_args();
-
-            for ($i = {arguments_count}; $i < $count; $i++) {
-                $arguments[] = $_arguments[$i];
-            }
-        }
-
-        $this->__phpunit_getInvocationMocker()->invoke(
-            new PHPUnit_Framework_MockObject_Invocation_Object(
-                '{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
-            )
-        );
-
-        return call_user_func_array(array($this->__phpunit_originalObject, "{method_name}"), $arguments);
-    }
-{prologue}class {class_name}
-{
-    use {trait_name};
-}
-    public function __clone()
-    {
-        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
-        parent::__clone();
-    }
-{namespace}class {class_name} extends \SoapClient
-{
-    public function __construct($wsdl, array $options)
-    {
-        parent::__construct('{wsdl}', $options);
-    }
-{methods}}
-
-    public function {method_name}({arguments})
-    {
-    }
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for invocations.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Invocation
-{
-    /**
-     * @return mixed Mocked return value.
-     */
-    public function generateReturnValue();
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a non-static invocation.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Invocation_Object extends PHPUnit_Framework_MockObject_Invocation_Static
-{
-    /**
-     * @var object
-     */
-    public $object;
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param array  $parameters
-     * @param string $returnType
-     * @param object $object
-     * @param bool   $cloneObjects
-     */
-    public function __construct($className, $methodName, array $parameters, $returnType, $object, $cloneObjects = false)
-    {
-        parent::__construct($className, $methodName, $parameters, $returnType, $cloneObjects);
-
-        $this->object = $object;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Represents a static invocation.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framework_MockObject_Invocation, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * @var array
-     */
-    protected static $uncloneableExtensions = [
-        'mysqli'    => true,
-        'SQLite'    => true,
-        'sqlite3'   => true,
-        'tidy'      => true,
-        'xmlwriter' => true,
-        'xsl'       => true
-    ];
-
-    /**
-     * @var array
-     */
-    protected static $uncloneableClasses = [
-        'Closure',
-        'COMPersistHelper',
-        'IteratorIterator',
-        'RecursiveIteratorIterator',
-        'SplFileObject',
-        'PDORow',
-        'ZipArchive'
-    ];
-
-    /**
-     * @var string
-     */
-    public $className;
-
-    /**
-     * @var string
-     */
-    public $methodName;
-
-    /**
-     * @var array
-     */
-    public $parameters;
-
-    /**
-     * @var string
-     */
-    public $returnType;
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param array  $parameters
-     * @param string $returnType
-     * @param bool   $cloneObjects
-     */
-    public function __construct($className, $methodName, array $parameters, $returnType, $cloneObjects = false)
-    {
-        $this->className  = $className;
-        $this->methodName = $methodName;
-        $this->parameters = $parameters;
-        $this->returnType = $returnType;
-
-        if (!$cloneObjects) {
-            return;
-        }
-
-        foreach ($this->parameters as $key => $value) {
-            if (is_object($value)) {
-                $this->parameters[$key] = $this->cloneObject($value);
-            }
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $exporter = new Exporter;
-
-        return sprintf(
-            '%s::%s(%s)%s',
-            $this->className,
-            $this->methodName,
-            implode(
-                ', ',
-                array_map(
-                    [$exporter, 'shortenedExport'],
-                    $this->parameters
-                )
-            ),
-            $this->returnType ? sprintf(': %s', $this->returnType) : ''
-        );
-    }
-
-    /**
-     * @return mixed Mocked return value.
-     */
-    public function generateReturnValue()
-    {
-        switch ($this->returnType) {
-            case '':       return;
-            case 'string': return '';
-            case 'float':  return 0.0;
-            case 'int':    return 0;
-            case 'bool':   return false;
-            case 'array':  return [];
-
-            case 'callable':
-            case 'Closure':
-                return function () {};
-
-            case 'Traversable':
-            case 'Generator':
-                $generator = function () { yield; };
-
-                return $generator();
-
-            default:
-                $generator = new PHPUnit_Framework_MockObject_Generator;
-
-                return $generator->getMock($this->returnType, [], [], '', false);
-        }
-    }
-
-    /**
-     * @param object $original
-     *
-     * @return object
-     */
-    protected function cloneObject($original)
-    {
-        $cloneable = null;
-        $object    = new ReflectionObject($original);
-
-        // Check the blacklist before asking PHP reflection to work around
-        // https://bugs.php.net/bug.php?id=53967
-        if ($object->isInternal() &&
-            isset(self::$uncloneableExtensions[$object->getExtensionName()])) {
-            $cloneable = false;
-        }
-
-        if ($cloneable === null) {
-            foreach (self::$uncloneableClasses as $class) {
-                if ($original instanceof $class) {
-                    $cloneable = false;
-                    break;
-                }
-            }
-        }
-
-        if ($cloneable === null && method_exists($object, 'isCloneable')) {
-            $cloneable = $object->isCloneable();
-        }
-
-        if ($cloneable === null && $object->hasMethod('__clone')) {
-            $method    = $object->getMethod('__clone');
-            $cloneable = $method->isPublic();
-        }
-
-        if ($cloneable === null) {
-            $cloneable = true;
-        }
-
-        if ($cloneable) {
-            try {
-                return clone $original;
-            } catch (Exception $e) {
-                return $original;
-            }
-        } else {
-            return $original;
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Mocker for invocations which are sent from
- * PHPUnit_Framework_MockObject_MockObject objects.
- *
- * Keeps track of all expectations and stubs as well as registering
- * identifications for builders.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework_MockObject_Stub_MatcherCollection, PHPUnit_Framework_MockObject_Invokable, PHPUnit_Framework_MockObject_Builder_Namespace
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Invocation[]
-     */
-    protected $matchers = [];
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Builder_Match[]
-     */
-    protected $builderMap = [];
-
-    /**
-     * @var string[]
-     */
-    private $configurableMethods = [];
-
-    /**
-     * @param array $configurableMethods
-     */
-    public function __construct(array $configurableMethods)
-    {
-        $this->configurableMethods = $configurableMethods;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
-     */
-    public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        $this->matchers[] = $matcher;
-    }
-
-    /**
-     * @since Method available since Release 1.1.0
-     */
-    public function hasMatchers()
-    {
-        foreach ($this->matchers as $matcher) {
-            if ($matcher->hasMatchers()) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * @param mixed $id
-     *
-     * @return bool|null
-     */
-    public function lookupId($id)
-    {
-        if (isset($this->builderMap[$id])) {
-            return $this->builderMap[$id];
-        }
-
-        return;
-    }
-
-    /**
-     * @param mixed                                      $id
-     * @param PHPUnit_Framework_MockObject_Builder_Match $builder
-     *
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     */
-    public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder)
-    {
-        if (isset($this->builderMap[$id])) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Match builder with id <' . $id . '> is already registered.'
-            );
-        }
-
-        $this->builderMap[$id] = $builder;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
-    {
-        return new PHPUnit_Framework_MockObject_Builder_InvocationMocker(
-            $this,
-            $matcher,
-            $this->configurableMethods
-        );
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return mixed
-     *
-     * @throws Exception
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $exception      = null;
-        $hasReturnValue = false;
-        $returnValue    = null;
-
-        foreach ($this->matchers as $match) {
-            try {
-                if ($match->matches($invocation)) {
-                    $value = $match->invoked($invocation);
-
-                    if (!$hasReturnValue) {
-                        $returnValue    = $value;
-                        $hasReturnValue = true;
-                    }
-                }
-            } catch (Exception $e) {
-                $exception = $e;
-            }
-        }
-
-        if ($exception !== null) {
-            throw $exception;
-        }
-
-        if ($hasReturnValue) {
-            return $returnValue;
-        } elseif (strtolower($invocation->methodName) == '__tostring') {
-            return '';
-        }
-
-        return $invocation->generateReturnValue();
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        foreach ($this->matchers as $matcher) {
-            if (!$matcher->matches($invocation)) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * @return bool
-     */
-    public function verify()
-    {
-        foreach ($this->matchers as $matcher) {
-            $matcher->verify();
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which can be invoked.
- *
- * The invocation will be taken from a mock object and passed to an object
- * of this class.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Invokable extends PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Invokes the invocation object $invocation so that it can be checked for
-     * expectations or matched against stubs.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation The invocation object passed from mock object
-     *
-     * @return object
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
-
-    /**
-     * Checks if the invocation matches.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation The invocation object passed from mock object
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Main matcher which defines a full expectation using method, parameter and
- * invocation matchers.
- * This matcher encapsulates all the other matchers and allows the builder to
- * set the specific matchers when the appropriate methods are called (once(),
- * where() etc.).
- *
- * All properties are public so that they can easily be accessed by the builder.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Invocation
-     */
-    public $invocationMatcher;
-
-    /**
-     * @var mixed
-     */
-    public $afterMatchBuilderId = null;
-
-    /**
-     * @var bool
-     */
-    public $afterMatchBuilderIsInvoked = false;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_MethodName
-     */
-    public $methodNameMatcher = null;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher_Parameters
-     */
-    public $parametersMatcher = null;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Stub
-     */
-    public $stub = null;
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
-     */
-    public function __construct(PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
-    {
-        $this->invocationMatcher = $invocationMatcher;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $list = [];
-
-        if ($this->invocationMatcher !== null) {
-            $list[] = $this->invocationMatcher->toString();
-        }
-
-        if ($this->methodNameMatcher !== null) {
-            $list[] = 'where ' . $this->methodNameMatcher->toString();
-        }
-
-        if ($this->parametersMatcher !== null) {
-            $list[] = 'and ' . $this->parametersMatcher->toString();
-        }
-
-        if ($this->afterMatchBuilderId !== null) {
-            $list[] = 'after ' . $this->afterMatchBuilderId;
-        }
-
-        if ($this->stub !== null) {
-            $list[] = 'will ' . $this->stub->toString();
-        }
-
-        return implode(' ', $list);
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if ($this->invocationMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException('No method matcher is set');
-        }
-
-        if ($this->afterMatchBuilderId !== null) {
-            $builder = $invocation->object
-                                  ->__phpunit_getInvocationMocker()
-                                  ->lookupId($this->afterMatchBuilderId);
-
-            if (!$builder) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    sprintf(
-                        'No builder found for match builder identification <%s>',
-                        $this->afterMatchBuilderId
-                    )
-                );
-            }
-
-            $matcher = $builder->getMatcher();
-
-            if ($matcher && $matcher->invocationMatcher->hasBeenInvoked()) {
-                $this->afterMatchBuilderIsInvoked = true;
-            }
-        }
-
-        $this->invocationMatcher->invoked($invocation);
-
-        try {
-            if ($this->parametersMatcher !== null &&
-                !$this->parametersMatcher->matches($invocation)) {
-                $this->parametersMatcher->verify();
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    "Expectation failed for %s when %s\n%s",
-                    $this->methodNameMatcher->toString(),
-                    $this->invocationMatcher->toString(),
-                    $e->getMessage()
-                ),
-                $e->getComparisonFailure()
-            );
-        }
-
-        if ($this->stub) {
-            return $this->stub->invoke($invocation);
-        }
-
-        return $invocation->generateReturnValue();
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if ($this->afterMatchBuilderId !== null) {
-            $builder = $invocation->object
-                                  ->__phpunit_getInvocationMocker()
-                                  ->lookupId($this->afterMatchBuilderId);
-
-            if (!$builder) {
-                throw new PHPUnit_Framework_MockObject_RuntimeException(
-                    sprintf(
-                        'No builder found for match builder identification <%s>',
-                        $this->afterMatchBuilderId
-                    )
-                );
-            }
-
-            $matcher = $builder->getMatcher();
-
-            if (!$matcher) {
-                return false;
-            }
-
-            if (!$matcher->invocationMatcher->hasBeenInvoked()) {
-                return false;
-            }
-        }
-
-        if ($this->invocationMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException('No method matcher is set');
-        }
-
-        if (!$this->invocationMatcher->matches($invocation)) {
-            return false;
-        }
-
-        try {
-            if (!$this->methodNameMatcher->matches($invocation)) {
-                return false;
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    "Expectation failed for %s when %s\n%s",
-                    $this->methodNameMatcher->toString(),
-                    $this->invocationMatcher->toString(),
-                    $e->getMessage()
-                ),
-                $e->getComparisonFailure()
-            );
-        }
-
-        return true;
-    }
-
-    /**
-     * @throws PHPUnit_Framework_MockObject_RuntimeException
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if ($this->invocationMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'No invocation matcher is set'
-            );
-        }
-
-        if ($this->methodNameMatcher === null) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException('No method matcher is set');
-        }
-
-        try {
-            $this->invocationMatcher->verify();
-
-            if ($this->parametersMatcher === null) {
-                $this->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
-            }
-
-            $invocationIsAny   = $this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-            $invocationIsNever = $this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_InvokedCount && $this->invocationMatcher->isNever();
-
-            if (!$invocationIsAny && !$invocationIsNever) {
-                $this->parametersMatcher->verify();
-            }
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    "Expectation failed for %s when %s.\n%s",
-                    $this->methodNameMatcher->toString(),
-                    $this->invocationMatcher->toString(),
-                    PHPUnit_Framework_TestFailure::exceptionToString($e)
-                )
-            );
-        }
-    }
-
-    /**
-     * @since Method available since Release 1.2.4
-     */
-    public function hasMatchers()
-    {
-        if ($this->invocationMatcher !== null &&
-            !$this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount) {
-            return true;
-        }
-
-        return false;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked zero or more
- * times. This matcher will always match.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked zero or more times';
-    }
-
-    /**
-     */
-    public function verify()
-    {
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which allows any parameters to a method.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_AnyParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'with any parameters';
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return true;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for sets of specific parameters in the invocations.
- *
- * Checks the parameters of the incoming invocations, the parameter list is
- * checked against the defined constraints in $parameters. If the constraint
- * is met it will return true in matches().
- *
- * It takes a list of match groups and and increases a call index after each invocation.
- * So the first invocation uses the first group of constraints, the second the next and so on.
- */
-class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var array
-     */
-    private $parameterGroups = [];
-
-    /**
-     * @var array
-     */
-    private $invocations = [];
-
-    /**
-     * @param array $parameterGroups
-     */
-    public function __construct(array $parameterGroups)
-    {
-        foreach ($parameterGroups as $index => $parameters) {
-            foreach ($parameters as $parameter) {
-                if (!$parameter instanceof PHPUnit_Framework_Constraint) {
-                    $parameter = new PHPUnit_Framework_Constraint_IsEqual($parameter);
-                }
-
-                $this->parameterGroups[$index][] = $parameter;
-            }
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $text = 'with consecutive parameters';
-
-        return $text;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->invocations[] = $invocation;
-        $callIndex           = count($this->invocations) - 1;
-
-        $this->verifyInvocation($invocation, $callIndex);
-
-        return false;
-    }
-
-    public function verify()
-    {
-        foreach ($this->invocations as $callIndex => $invocation) {
-            $this->verifyInvocation($invocation, $callIndex);
-        }
-    }
-
-    /**
-     * Verify a single invocation
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     * @param int                                     $callIndex
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    private function verifyInvocation(PHPUnit_Framework_MockObject_Invocation $invocation, $callIndex)
-    {
-        if (isset($this->parameterGroups[$callIndex])) {
-            $parameters = $this->parameterGroups[$callIndex];
-        } else {
-            // no parameter assertion for this call index
-            return;
-        }
-
-        if ($invocation === null) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Mocked method does not exist.'
-            );
-        }
-
-        if (count($invocation->parameters) < count($parameters)) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    'Parameter count for invocation %s is too low.',
-                    $invocation->toString()
-                )
-            );
-        }
-
-        foreach ($parameters as $i => $parameter) {
-            $parameter->evaluate(
-                $invocation->parameters[$i],
-                sprintf(
-                    'Parameter %s for invocation #%d %s does not match expected ' .
-                    'value.',
-                    $i,
-                    $callIndex,
-                    $invocation->toString()
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which matches an invocation based on its
- * method name, argument, order or call count.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Matcher_Invocation extends PHPUnit_Framework_SelfDescribing, PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Registers the invocation $invocation in the object as being invoked.
-     * This will only occur after matches() returns true which means the
-     * current invocation is the correct one.
-     *
-     * The matcher can store information from the invocation which can later
-     * be checked in verify(), or it can check the values directly and throw
-     * and exception if an expectation is not met.
-     *
-     * If the matcher is a stub it will also have a return value.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
-     *
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation);
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it does
-     * the matcher will get the invoked() method called which should check if an
-     * expectation is met.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method was invoked at a certain index.
- *
- * If the expected index number does not match the current invocation index it
- * will not match which means it skips all method and parameter matching. Only
- * once the index is reached will the method and parameter start matching and
- * verifying.
- *
- * If the index is never reached it will throw an exception in index.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var int
-     */
-    protected $sequenceIndex;
-
-    /**
-     * @var int
-     */
-    protected $currentIndex = -1;
-
-    /**
-     * @param int $sequenceIndex
-     */
-    public function __construct($sequenceIndex)
-    {
-        $this->sequenceIndex = $sequenceIndex;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at sequence index ' . $this->sequenceIndex;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->currentIndex++;
-
-        return $this->currentIndex == $this->sequenceIndex;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if ($this->currentIndex < $this->sequenceIndex) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    'The expected invocation at index %s was never reached.',
-                    $this->sequenceIndex
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least
- * N times.
- *
- * @since Class available since Release 2.2.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var int
-     */
-    private $requiredInvocations;
-
-    /**
-     * @param int $requiredInvocations
-     */
-    public function __construct($requiredInvocations)
-    {
-        $this->requiredInvocations = $requiredInvocations;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at least ' . $this->requiredInvocations . ' times';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count < $this->requiredInvocations) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Expected invocation at least ' . $this->requiredInvocations .
-                ' times but it occurred ' . $count . ' time(s).'
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least one
- * time.
- *
- * If the number of invocations is 0 it will throw an exception in verify.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at least once';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count < 1) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Expected invocation at least once but it never occurred.'
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked at least
- * N times.
- *
- * @since Class available since Release 2.2.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var int
-     */
-    private $allowedInvocations;
-
-    /**
-     * @param int $allowedInvocations
-     */
-    public function __construct($allowedInvocations)
-    {
-        $this->allowedInvocations = $allowedInvocations;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked at most ' . $this->allowedInvocations . ' times';
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count > $this->allowedInvocations) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Expected invocation at most ' . $this->allowedInvocations .
-                ' times but it occurred ' . $count . ' time(s).'
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which checks if a method has been invoked a certain amount
- * of times.
- * If the number of invocations exceeds the value it will immediately throw an
- * exception,
- * If the number is less it will later be checked in verify() and also throw an
- * exception.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
-{
-    /**
-     * @var int
-     */
-    protected $expectedCount;
-
-    /**
-     * @param int $expectedCount
-     */
-    public function __construct($expectedCount)
-    {
-        $this->expectedCount = $expectedCount;
-    }
-
-    /**
-     * @return bool
-     */
-    public function isNever()
-    {
-        return $this->expectedCount == 0;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'invoked ' . $this->expectedCount . ' time(s)';
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        parent::invoked($invocation);
-
-        $count = $this->getInvocationCount();
-
-        if ($count > $this->expectedCount) {
-            $message = $invocation->toString() . ' ';
-
-            switch ($this->expectedCount) {
-                case 0: {
-                    $message .= 'was not expected to be called.';
-                }
-                break;
-
-                case 1: {
-                    $message .= 'was not expected to be called more than once.';
-                }
-                break;
-
-                default: {
-                    $message .= sprintf(
-                        'was not expected to be called more than %d times.',
-                        $this->expectedCount
-                    );
-                    }
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException($message);
-        }
-    }
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        $count = $this->getInvocationCount();
-
-        if ($count !== $this->expectedCount) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf(
-                    'Method was expected to be called %d times, ' .
-                    'actually called %d times.',
-                    $this->expectedCount,
-                    $count
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Records invocations and provides convenience methods for checking them later
- * on.
- * This abstract class can be implemented by matchers which needs to check the
- * number of times an invocation has occurred.
- *
- * @since Class available since Release 1.0.0
- * @abstract
- */
-abstract class PHPUnit_Framework_MockObject_Matcher_InvokedRecorder implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Invocation[]
-     */
-    protected $invocations = [];
-
-    /**
-     * @return int
-     */
-    public function getInvocationCount()
-    {
-        return count($this->invocations);
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_Invocation[]
-     */
-    public function getInvocations()
-    {
-        return $this->invocations;
-    }
-
-    /**
-     * @return bool
-     */
-    public function hasBeenInvoked()
-    {
-        return count($this->invocations) > 0;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->invocations[] = $invocation;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return true;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for a specific method name in the invocations.
- *
- * Checks the method name all incoming invocations, the name is checked against
- * the defined constraint $constraint. If the constraint is met it will return
- * true in matches().
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_MethodName extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @param  PHPUnit_Framework_Constraint|string
-     *
-     * @throws PHPUnit_Framework_Constraint
-     */
-    public function __construct($constraint)
-    {
-        if (!$constraint instanceof PHPUnit_Framework_Constraint) {
-            if (!is_string($constraint)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-                $constraint,
-                0,
-                10,
-                false,
-                true
-            );
-        }
-
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'method name ' . $this->constraint->toString();
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return $this->constraint->evaluate($invocation->methodName, '', true);
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which looks for specific parameters in the invocations.
- *
- * Checks the parameters of all incoming invocations, the parameter list is
- * checked against the defined constraints in $parameters. If the constraint
- * is met it will return true in matches().
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $parameters = [];
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Invocation
-     */
-    protected $invocation;
-
-    /**
-     * @var PHPUnit_Framework_ExpectationFailedException
-     */
-    private $parameterVerificationResult;
-
-    /**
-     * @param array $parameters
-     */
-    public function __construct(array $parameters)
-    {
-        foreach ($parameters as $parameter) {
-            if (!($parameter instanceof PHPUnit_Framework_Constraint)) {
-                $parameter = new PHPUnit_Framework_Constraint_IsEqual(
-                    $parameter
-                );
-            }
-
-            $this->parameters[] = $parameter;
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        $text = 'with parameter';
-
-        foreach ($this->parameters as $index => $parameter) {
-            if ($index > 0) {
-                $text .= ' and';
-            }
-
-            $text .= ' ' . $index . ' ' . $parameter->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation
-     *
-     * @return bool
-     */
-    public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->invocation                  = $invocation;
-        $this->parameterVerificationResult = null;
-
-        try {
-            $this->parameterVerificationResult = $this->verify();
-
-            return $this->parameterVerificationResult;
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->parameterVerificationResult = $e;
-
-            throw $this->parameterVerificationResult;
-        }
-    }
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it
-     * does the matcher will get the invoked() method called which should check
-     * if an expectation is met.
-     *
-     * @return bool
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify()
-    {
-        if (isset($this->parameterVerificationResult)) {
-            return $this->guardAgainstDuplicateEvaluationOfParameterConstraints();
-        }
-
-        if ($this->invocation === null) {
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                'Mocked method does not exist.'
-            );
-        }
-
-        if (count($this->invocation->parameters) < count($this->parameters)) {
-            $message = 'Parameter count for invocation %s is too low.';
-
-            // The user called `->with($this->anything())`, but may have meant
-            // `->withAnyParameters()`.
-            //
-            // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199
-            if (count($this->parameters) === 1 &&
-                get_class($this->parameters[0]) === 'PHPUnit_Framework_Constraint_IsAnything') {
-                $message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.";
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                sprintf($message, $this->invocation->toString())
-            );
-        }
-
-        foreach ($this->parameters as $i => $parameter) {
-            $parameter->evaluate(
-                $this->invocation->parameters[$i],
-                sprintf(
-                    'Parameter %s for invocation %s does not match expected ' .
-                    'value.',
-                    $i,
-                    $this->invocation->toString()
-                )
-            );
-        }
-
-        return true;
-    }
-
-    /**
-     * @return bool
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    private function guardAgainstDuplicateEvaluationOfParameterConstraints()
-    {
-        if ($this->parameterVerificationResult instanceof Exception) {
-            throw $this->parameterVerificationResult;
-        }
-
-        return (bool) $this->parameterVerificationResult;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Invocation matcher which does not care about previous state from earlier
- * invocations.
- *
- * This abstract class can be implemented by matchers which does not care about
- * state but only the current run-time value of the invocation itself.
- *
- * @since Class available since Release 1.0.0
- * @abstract
- */
-abstract class PHPUnit_Framework_MockObject_Matcher_StatelessInvocation implements PHPUnit_Framework_MockObject_Matcher_Invocation
-{
-    /**
-     * Registers the invocation $invocation in the object as being invoked.
-     * This will only occur after matches() returns true which means the
-     * current invocation is the correct one.
-     *
-     * The matcher can store information from the invocation which can later
-     * be checked in verify(), or it can check the values directly and throw
-     * and exception if an expectation is not met.
-     *
-     * If the matcher is a stub it will also have a return value.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
-     *
-     * @return mixed
-     */
-    public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-    }
-
-    /**
-     * Checks if the invocation $invocation matches the current rules. If it does
-     * the matcher will get the invoked() method called which should check if an
-     * expectation is met.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
-     *
-     * @return bool
-     */
-    public function verify()
-    {
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implementation of the Builder pattern for Mock objects.
- *
- * @since File available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_MockBuilder
-{
-    /**
-     * @var PHPUnit_Framework_TestCase
-     */
-    private $testCase;
-
-    /**
-     * @var string
-     */
-    private $type;
-
-    /**
-     * @var array
-     */
-    private $methods = [];
-
-    /**
-     * @var array
-     */
-    private $methodsExcept = [];
-
-    /**
-     * @var string
-     */
-    private $mockClassName = '';
-
-    /**
-     * @var array
-     */
-    private $constructorArgs = [];
-
-    /**
-     * @var bool
-     */
-    private $originalConstructor = true;
-
-    /**
-     * @var bool
-     */
-    private $originalClone = true;
-
-    /**
-     * @var bool
-     */
-    private $autoload = true;
-
-    /**
-     * @var bool
-     */
-    private $cloneArguments = false;
-
-    /**
-     * @var bool
-     */
-    private $callOriginalMethods = false;
-
-    /**
-     * @var object
-     */
-    private $proxyTarget = null;
-
-    /**
-     * @var bool
-     */
-    private $allowMockingUnknownTypes = true;
-
-    /**
-     * @var PHPUnit_Framework_MockObject_Generator
-     */
-    private $generator;
-
-    /**
-     * @param PHPUnit_Framework_TestCase $testCase
-     * @param array|string               $type
-     */
-    public function __construct(PHPUnit_Framework_TestCase $testCase, $type)
-    {
-        $this->testCase  = $testCase;
-        $this->type      = $type;
-        $this->generator = new PHPUnit_Framework_MockObject_Generator;
-    }
-
-    /**
-     * Creates a mock object using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMock()
-    {
-        $object = $this->generator->getMock(
-            $this->type,
-            $this->methods,
-            $this->constructorArgs,
-            $this->mockClassName,
-            $this->originalConstructor,
-            $this->originalClone,
-            $this->autoload,
-            $this->cloneArguments,
-            $this->callOriginalMethods,
-            $this->proxyTarget,
-            $this->allowMockingUnknownTypes
-        );
-
-        $this->testCase->registerMockObject($object);
-
-        return $object;
-    }
-
-    /**
-     * Creates a mock object for an abstract class using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMockForAbstractClass()
-    {
-        $object = $this->generator->getMockForAbstractClass(
-            $this->type,
-            $this->constructorArgs,
-            $this->mockClassName,
-            $this->originalConstructor,
-            $this->originalClone,
-            $this->autoload,
-            $this->methods,
-            $this->cloneArguments
-        );
-
-        $this->testCase->registerMockObject($object);
-
-        return $object;
-    }
-
-    /**
-     * Creates a mock object for a trait using a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     */
-    public function getMockForTrait()
-    {
-        $object = $this->generator->getMockForTrait(
-            $this->type,
-            $this->constructorArgs,
-            $this->mockClassName,
-            $this->originalConstructor,
-            $this->originalClone,
-            $this->autoload,
-            $this->methods,
-            $this->cloneArguments
-        );
-
-        $this->testCase->registerMockObject($object);
-
-        return $object;
-    }
-
-    /**
-     * Specifies the subset of methods to mock. Default is to mock all of them.
-     *
-     * @param array|null $methods
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setMethods(array $methods = null)
-    {
-        $this->methods = $methods;
-
-        return $this;
-    }
-
-    /**
-     * Specifies the subset of methods to not mock. Default is to mock all of them.
-     *
-     * @param array $methods
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setMethodsExcept(array $methods = [])
-    {
-        $this->methodsExcept = $methods;
-
-        $this->setMethods(
-            array_diff(
-                $this->generator->getClassMethods($this->type),
-                $this->methodsExcept
-            )
-        );
-
-        return $this;
-    }
-
-    /**
-     * Specifies the arguments for the constructor.
-     *
-     * @param array $args
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setConstructorArgs(array $args)
-    {
-        $this->constructorArgs = $args;
-
-        return $this;
-    }
-
-    /**
-     * Specifies the name for the mock class.
-     *
-     * @param string $name
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function setMockClassName($name)
-    {
-        $this->mockClassName = $name;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableOriginalConstructor()
-    {
-        $this->originalConstructor = false;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableOriginalConstructor()
-    {
-        $this->originalConstructor = true;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original clone constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableOriginalClone()
-    {
-        $this->originalClone = false;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original clone constructor.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableOriginalClone()
-    {
-        $this->originalClone = true;
-
-        return $this;
-    }
-
-    /**
-     * Disables the use of class autoloading while creating the mock object.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     */
-    public function disableAutoload()
-    {
-        $this->autoload = false;
-
-        return $this;
-    }
-
-    /**
-     * Enables the use of class autoloading while creating the mock object.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableAutoload()
-    {
-        $this->autoload = true;
-
-        return $this;
-    }
-
-    /**
-     * Disables the cloning of arguments passed to mocked methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 1.2.0
-     */
-    public function disableArgumentCloning()
-    {
-        $this->cloneArguments = false;
-
-        return $this;
-    }
-
-    /**
-     * Enables the cloning of arguments passed to mocked methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 1.2.0
-     */
-    public function enableArgumentCloning()
-    {
-        $this->cloneArguments = true;
-
-        return $this;
-    }
-
-    /**
-     * Enables the invocation of the original methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 2.0.0
-     */
-    public function enableProxyingToOriginalMethods()
-    {
-        $this->callOriginalMethods = true;
-
-        return $this;
-    }
-
-    /**
-     * Disables the invocation of the original methods.
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 2.0.0
-     */
-    public function disableProxyingToOriginalMethods()
-    {
-        $this->callOriginalMethods = false;
-        $this->proxyTarget         = null;
-
-        return $this;
-    }
-
-    /**
-     * Sets the proxy target.
-     *
-     * @param object $object
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 2.0.0
-     */
-    public function setProxyTarget($object)
-    {
-        $this->proxyTarget = $object;
-
-        return $this;
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 3.2.0
-     */
-    public function allowMockingUnknownTypes()
-    {
-        $this->allowMockingUnknownTypes = true;
-
-        return $this;
-    }
-
-    /**
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since  Method available since Release 3.2.0
-     */
-    public function disallowMockingUnknownTypes()
-    {
-        $this->allowMockingUnknownTypes = false;
-
-        return $this;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for all mock objects which are generated by
- * PHPUnit_Framework_MockObject_MockBuilder.
- *
- * @method PHPUnit_Framework_MockObject_Builder_InvocationMocker method($constraint)
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_MockObject /*extends PHPUnit_Framework_MockObject_Verifiable*/
-{
-    /**
-     * Registers a new expectation in the mock object and returns the match
-     * object which can be infused with further details.
-     *
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
-     *
-     * @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
-     */
-    public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
-
-    /**
-     * @return PHPUnit_Framework_MockObject_InvocationMocker
-     *
-     * @since  Method available since Release 2.0.0
-     */
-    public function __phpunit_setOriginalObject($originalObject);
-
-    /**
-     * @return PHPUnit_Framework_MockObject_InvocationMocker
-     */
-    public function __phpunit_getInvocationMocker();
-
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function __phpunit_verify();
-
-    /**
-     * @return bool
-     */
-    public function __phpunit_hasMatchers();
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An object that stubs the process of a normal method for a mock object.
- *
- * The stub object will replace the code for the stubbed method and return a
- * specific value instead of the original value.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Stub extends PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Fakes the processing of the invocation $invocation by returning a
-     * specific value.
-     *
-     * @param PHPUnit_Framework_MockObject_Invocation $invocation The invocation which was mocked and matched by the current method and argument matchers
-     *
-     * @return mixed
-     */
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Stubs a method by returning a user-defined stack of values.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $stack;
-    protected $value;
-
-    public function __construct($stack)
-    {
-        $this->stack = $stack;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $this->value = array_shift($this->stack);
-
-        if ($this->value instanceof PHPUnit_Framework_MockObject_Stub) {
-            $this->value = $this->value->invoke($invocation);
-        }
-
-        return $this->value;
-    }
-
-    public function toString()
-    {
-        $exporter = new Exporter;
-
-        return sprintf(
-            'return user-specified value %s',
-            $exporter->export($this->value)
-        );
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Stubs a method by raising a user-defined exception.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_Exception implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $exception;
-
-    public function __construct($exception)
-    {
-        // TODO Replace check with type declaration when support for PHP 5 is dropped
-        if (!$exception instanceof Throwable && !$exception instanceof Exception) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'Exception must be an instance of Throwable (PHP 7) or Exception (PHP 5)'
-            );
-        }
-
-        $this->exception = $exception;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        throw $this->exception;
-    }
-
-    public function toString()
-    {
-        $exporter = new Exporter;
-
-        return sprintf(
-            'raise user-specified exception %s',
-            $exporter->export($this->exception)
-        );
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a user-defined value.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Stub_MatcherCollection
-{
-    /**
-     * Adds a new matcher to the collection which can be used as an expectation
-     * or a stub.
-     *
-     * @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher Matcher for invocations to mock objects
-     */
-    public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Stubs a method by returning a user-defined value.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_Return implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $value;
-
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return $this->value;
-    }
-
-    public function toString()
-    {
-        $exporter = new Exporter;
-
-        return sprintf(
-            'return user-specified value %s',
-            $exporter->export($this->value)
-        );
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning an argument that was passed to the mocked method.
- *
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnArgument extends PHPUnit_Framework_MockObject_Stub_Return
-{
-    protected $argumentIndex;
-
-    public function __construct($argumentIndex)
-    {
-        $this->argumentIndex = $argumentIndex;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if (isset($invocation->parameters[$this->argumentIndex])) {
-            return $invocation->parameters[$this->argumentIndex];
-        } else {
-            return;
-        }
-    }
-
-    public function toString()
-    {
-        return sprintf('return argument #%d', $this->argumentIndex);
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 1.0.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnCallback implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $callback;
-
-    public function __construct($callback)
-    {
-        $this->callback = $callback;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        return call_user_func_array($this->callback, $invocation->parameters);
-    }
-
-    public function toString()
-    {
-        if (is_array($this->callback)) {
-            if (is_object($this->callback[0])) {
-                $class = get_class($this->callback[0]);
-                $type  = '->';
-            } else {
-                $class = $this->callback[0];
-                $type  = '::';
-            }
-
-            return sprintf(
-                'return result of user defined callback %s%s%s() with the ' .
-                'passed arguments',
-                $class,
-                $type,
-                $this->callback[1]
-            );
-        } else {
-            return 'return result of user defined callback ' . $this->callback .
-                   ' with the passed arguments';
-        }
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a user-defined reference to a value.
- *
- * @since Class available since Release 3.0.7
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnReference extends PHPUnit_Framework_MockObject_Stub_Return
-{
-    public function __construct(&$value)
-    {
-        $this->value = &$value;
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning the current object.
- *
- * @since Class available since Release 1.1.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnSelf implements PHPUnit_Framework_MockObject_Stub
-{
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        if (!$invocation instanceof PHPUnit_Framework_MockObject_Invocation_Object) {
-            throw new PHPUnit_Framework_MockObject_RuntimeException(
-                'The current object can only be returned when mocking an ' .
-                'object, not a static class.'
-            );
-        }
-
-        return $invocation->object;
-    }
-
-    public function toString()
-    {
-        return 'return the current object';
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stubs a method by returning a value from a map.
- *
- * @since Class available since Release 1.1.0
- */
-class PHPUnit_Framework_MockObject_Stub_ReturnValueMap implements PHPUnit_Framework_MockObject_Stub
-{
-    protected $valueMap;
-
-    public function __construct(array $valueMap)
-    {
-        $this->valueMap = $valueMap;
-    }
-
-    public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
-    {
-        $parameterCount = count($invocation->parameters);
-
-        foreach ($this->valueMap as $map) {
-            if (!is_array($map) || $parameterCount != count($map) - 1) {
-                continue;
-            }
-
-            $return = array_pop($map);
-            if ($invocation->parameters === $map) {
-                return $return;
-            }
-        }
-
-        return;
-    }
-
-    public function toString()
-    {
-        return 'return value from a map';
-    }
-}
-<?php
-/*
- * This file is part of the PHPUnit_MockObject package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes which must verify a given expectation.
- *
- * @since Interface available since Release 1.0.0
- */
-interface PHPUnit_Framework_MockObject_Verifiable
-{
-    /**
-     * Verifies that the current expectation is valid. If everything is OK the
-     * code should just return, if not it must throw an exception.
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function verify();
-}
-code-unit-reverse-lookup
-
-Copyright (c) 2016, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of code-unit-reverse-lookup.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\CodeUnitReverseLookup;
-
-/**
- * @since Class available since Release 1.0.0
- */
-class Wizard
-{
-    /**
-     * @var array
-     */
-    private $lookupTable = [];
-
-    /**
-     * @var array
-     */
-    private $processedClasses = [];
-
-    /**
-     * @var array
-     */
-    private $processedFunctions = [];
-
-    /**
-     * @param string $filename
-     * @param int    $lineNumber
-     *
-     * @return string
-     */
-    public function lookup($filename, $lineNumber)
-    {
-        if (!isset($this->lookupTable[$filename][$lineNumber])) {
-            $this->updateLookupTable();
-        }
-
-        if (isset($this->lookupTable[$filename][$lineNumber])) {
-            return $this->lookupTable[$filename][$lineNumber];
-        } else {
-            return $filename . ':' . $lineNumber;
-        }
-    }
-
-    private function updateLookupTable()
-    {
-        $this->processClassesAndTraits();
-        $this->processFunctions();
-    }
-
-    private function processClassesAndTraits()
-    {
-        foreach (array_merge(get_declared_classes(), get_declared_traits()) as $classOrTrait) {
-            if (isset($this->processedClasses[$classOrTrait])) {
-                continue;
-            }
-
-            $reflector = new \ReflectionClass($classOrTrait);
-
-            foreach ($reflector->getMethods() as $method) {
-                $this->processFunctionOrMethod($method);
-            }
-
-            $this->processedClasses[$classOrTrait] = true;
-        }
-    }
-
-    private function processFunctions()
-    {
-        foreach (get_defined_functions()['user'] as $function) {
-            if (isset($this->processedFunctions[$function])) {
-                continue;
-            }
-
-            $this->processFunctionOrMethod(new \ReflectionFunction($function));
-
-            $this->processedFunctions[$function] = true;
-        }
-    }
-
-    /**
-     * @param \ReflectionFunctionAbstract $functionOrMethod
-     */
-    private function processFunctionOrMethod(\ReflectionFunctionAbstract $functionOrMethod)
-    {
-        if ($functionOrMethod->isInternal()) {
-            return;
-        }
-
-        $name = $functionOrMethod->getName();
-
-        if ($functionOrMethod instanceof \ReflectionMethod) {
-            $name = $functionOrMethod->getDeclaringClass()->getName() . '::' . $name;
-        }
-
-        if (!isset($this->lookupTable[$functionOrMethod->getFileName()])) {
-            $this->lookupTable[$functionOrMethod->getFileName()] = [];
-        }
-
-        foreach (range($functionOrMethod->getStartLine(), $functionOrMethod->getEndLine()) as $line) {
-            $this->lookupTable[$functionOrMethod->getFileName()][$line] = $name;
-        }
-    }
-}
-Comparator
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares arrays for equality.
- */
-class ArrayComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_array($expected) && is_array($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @param  array             $processed
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array())
-    {
-        if ($canonicalize) {
-            sort($expected);
-            sort($actual);
-        }
-
-        $remaining = $actual;
-        $expString = $actString = "Array (\n";
-        $equal     = true;
-
-        foreach ($expected as $key => $value) {
-            unset($remaining[$key]);
-
-            if (!array_key_exists($key, $actual)) {
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($value)
-                );
-
-                $equal = false;
-
-                continue;
-            }
-
-            try {
-                $comparator = $this->factory->getComparatorFor($value, $actual[$key]);
-                $comparator->assertEquals($value, $actual[$key], $delta, $canonicalize, $ignoreCase, $processed);
-
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($value)
-                );
-                $actString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $this->exporter->shortenedExport($actual[$key])
-                );
-            } catch (ComparisonFailure $e) {
-                $expString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $e->getExpectedAsString()
-                    ? $this->indent($e->getExpectedAsString())
-                    : $this->exporter->shortenedExport($e->getExpected())
-                );
-
-                $actString .= sprintf(
-                    "    %s => %s\n",
-                    $this->exporter->export($key),
-                    $e->getActualAsString()
-                    ? $this->indent($e->getActualAsString())
-                    : $this->exporter->shortenedExport($e->getActual())
-                );
-
-                $equal = false;
-            }
-        }
-
-        foreach ($remaining as $key => $value) {
-            $actString .= sprintf(
-                "    %s => %s\n",
-                $this->exporter->export($key),
-                $this->exporter->shortenedExport($value)
-            );
-
-            $equal = false;
-        }
-
-        $expString .= ')';
-        $actString .= ')';
-
-        if (!$equal) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $expString,
-                $actString,
-                false,
-                'Failed asserting that two arrays are equal.'
-            );
-        }
-    }
-
-    protected function indent($lines)
-    {
-        return trim(str_replace("\n", "\n    ", $lines));
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Abstract base class for comparators which compare values for equality.
- */
-abstract class Comparator
-{
-    /**
-     * @var Factory
-     */
-    protected $factory;
-
-    /**
-     * @var Exporter
-     */
-    protected $exporter;
-
-    public function __construct()
-    {
-        $this->exporter = new Exporter;
-    }
-
-    /**
-     * @param Factory $factory
-     */
-    public function setFactory(Factory $factory)
-    {
-        $this->factory = $factory;
-    }
-
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    abstract public function accepts($expected, $actual);
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    abstract public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false);
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use SebastianBergmann\Diff\Differ;
-
-/**
- * Thrown when an assertion for string equality failed.
- */
-class ComparisonFailure extends \RuntimeException
-{
-    /**
-     * Expected value of the retrieval which does not match $actual.
-     * @var mixed
-     */
-    protected $expected;
-
-    /**
-     * Actually retrieved value which does not match $expected.
-     * @var mixed
-     */
-    protected $actual;
-
-    /**
-     * The string representation of the expected value
-     * @var string
-     */
-    protected $expectedAsString;
-
-    /**
-     * The string representation of the actual value
-     * @var string
-     */
-    protected $actualAsString;
-
-    /**
-     * @var bool
-     */
-    protected $identical;
-
-    /**
-     * Optional message which is placed in front of the first line
-     * returned by toString().
-     * @var string
-     */
-    protected $message;
-
-    /**
-     * Initialises with the expected value and the actual value.
-     *
-     * @param mixed  $expected         Expected value retrieved.
-     * @param mixed  $actual           Actual value retrieved.
-     * @param string $expectedAsString
-     * @param string $actualAsString
-     * @param bool   $identical
-     * @param string $message          A string which is prefixed on all returned lines
-     *                                 in the difference output.
-     */
-    public function __construct($expected, $actual, $expectedAsString, $actualAsString, $identical = false, $message = '')
-    {
-        $this->expected         = $expected;
-        $this->actual           = $actual;
-        $this->expectedAsString = $expectedAsString;
-        $this->actualAsString   = $actualAsString;
-        $this->message          = $message;
-    }
-
-    /**
-     * @return mixed
-     */
-    public function getActual()
-    {
-        return $this->actual;
-    }
-
-    /**
-     * @return mixed
-     */
-    public function getExpected()
-    {
-        return $this->expected;
-    }
-
-    /**
-     * @return string
-     */
-    public function getActualAsString()
-    {
-        return $this->actualAsString;
-    }
-
-    /**
-     * @return string
-     */
-    public function getExpectedAsString()
-    {
-        return $this->expectedAsString;
-    }
-
-    /**
-     * @return string
-     */
-    public function getDiff()
-    {
-        if (!$this->actualAsString && !$this->expectedAsString) {
-            return '';
-        }
-
-        $differ = new Differ("\n--- Expected\n+++ Actual\n");
-
-        return $differ->diff($this->expectedAsString, $this->actualAsString);
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->message . $this->getDiff();
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-use DOMDocument;
-use DOMNode;
-
-/**
- * Compares DOMNode instances for equality.
- */
-class DOMNodeComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof DOMNode && $actual instanceof DOMNode;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $expectedAsString = $this->nodeToText($expected, true, $ignoreCase);
-        $actualAsString   = $this->nodeToText($actual, true, $ignoreCase);
-
-        if ($expectedAsString !== $actualAsString) {
-            if ($expected instanceof DOMDocument) {
-                $type = 'documents';
-            } else {
-                $type = 'nodes';
-            }
-
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $expectedAsString,
-                $actualAsString,
-                false,
-                sprintf("Failed asserting that two DOM %s are equal.\n", $type)
-            );
-        }
-    }
-
-    /**
-     * Returns the normalized, whitespace-cleaned, and indented textual
-     * representation of a DOMNode.
-     *
-     * @param  DOMNode $node
-     * @param  bool    $canonicalize
-     * @param  bool    $ignoreCase
-     * @return string
-     */
-    private function nodeToText(DOMNode $node, $canonicalize, $ignoreCase)
-    {
-        if ($canonicalize) {
-            $document = new DOMDocument;
-            $document->loadXML($node->C14N());
-
-            $node = $document;
-        }
-
-        if ($node instanceof DOMDocument) {
-            $document = $node;
-        } else {
-            $document = $node->ownerDocument;
-        }
-
-        $document->formatOutput = true;
-        $document->normalizeDocument();
-
-        if ($node instanceof DOMDocument) {
-            $text = $node->saveXML();
-        } else {
-            $text = $document->saveXML($node);
-        }
-
-        if ($ignoreCase) {
-            $text = strtolower($text);
-        }
-
-        return $text;
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares DateTimeInterface instances for equality.
- */
-class DateTimeComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return ($expected instanceof \DateTime || $expected instanceof \DateTimeInterface) &&
-            ($actual instanceof \DateTime || $actual instanceof \DateTimeInterface);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $delta = new \DateInterval(sprintf('PT%sS', abs($delta)));
-
-        $expectedLower = clone $expected;
-        $expectedUpper = clone $expected;
-
-        if ($actual < $expectedLower->sub($delta) ||
-            $actual > $expectedUpper->add($delta)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->dateTimeToString($expected),
-                $this->dateTimeToString($actual),
-                false,
-                'Failed asserting that two DateTime objects are equal.'
-            );
-        }
-    }
-
-    /**
-     * Returns an ISO 8601 formatted string representation of a datetime or
-     * 'Invalid DateTimeInterface object' if the provided DateTimeInterface was not properly
-     * initialized.
-     *
-     * @param  \DateTimeInterface $datetime
-     * @return string
-     */
-    protected function dateTimeToString($datetime)
-    {
-        $string = $datetime->format(\DateTime::ISO8601);
-
-        return $string ? $string : 'Invalid DateTimeInterface object';
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares doubles for equality.
- */
-class DoubleComparator extends NumericComparator
-{
-    /**
-     * Smallest value available in PHP.
-     *
-     * @var float
-     */
-    const EPSILON = 0.0000000001;
-
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return (is_double($expected) || is_double($actual)) && is_numeric($expected) && is_numeric($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if ($delta == 0) {
-            $delta = self::EPSILON;
-        }
-
-        parent::assertEquals($expected, $actual, $delta, $canonicalize, $ignoreCase);
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares Exception instances for equality.
- */
-class ExceptionComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \Exception && $actual instanceof \Exception;
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        $array = parent::toArray($object);
-
-        unset(
-            $array['file'],
-            $array['line'],
-            $array['trace'],
-            $array['string'],
-            $array['xdebug_message']
-        );
-
-        return $array;
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Factory for comparators which compare values for equality.
- */
-class Factory
-{
-    /**
-     * @var Comparator[]
-     */
-    private $comparators = array();
-
-    /**
-     * @var Factory
-     */
-    private static $instance;
-
-    /**
-     * Constructs a new factory.
-     */
-    public function __construct()
-    {
-        $this->register(new TypeComparator);
-        $this->register(new ScalarComparator);
-        $this->register(new NumericComparator);
-        $this->register(new DoubleComparator);
-        $this->register(new ArrayComparator);
-        $this->register(new ResourceComparator);
-        $this->register(new ObjectComparator);
-        $this->register(new ExceptionComparator);
-        $this->register(new SplObjectStorageComparator);
-        $this->register(new DOMNodeComparator);
-        $this->register(new MockObjectComparator);
-        $this->register(new DateTimeComparator);
-    }
-
-    /**
-     * @return Factory
-     */
-    public static function getInstance()
-    {
-        if (self::$instance === null) {
-            self::$instance = new self;
-        }
-
-        return self::$instance;
-    }
-
-    /**
-     * Returns the correct comparator for comparing two values.
-     *
-     * @param  mixed      $expected The first value to compare
-     * @param  mixed      $actual   The second value to compare
-     * @return Comparator
-     */
-    public function getComparatorFor($expected, $actual)
-    {
-        foreach ($this->comparators as $comparator) {
-            if ($comparator->accepts($expected, $actual)) {
-                return $comparator;
-            }
-        }
-    }
-
-    /**
-     * Registers a new comparator.
-     *
-     * This comparator will be returned by getInstance() if its accept() method
-     * returns TRUE for the compared values. It has higher priority than the
-     * existing comparators, meaning that its accept() method will be tested
-     * before those of the other comparators.
-     *
-     * @param Comparator $comparator The registered comparator
-     */
-    public function register(Comparator $comparator)
-    {
-        array_unshift($this->comparators, $comparator);
-
-        $comparator->setFactory($this);
-    }
-
-    /**
-     * Unregisters a comparator.
-     *
-     * This comparator will no longer be returned by getInstance().
-     *
-     * @param Comparator $comparator The unregistered comparator
-     */
-    public function unregister(Comparator $comparator)
-    {
-        foreach ($this->comparators as $key => $_comparator) {
-            if ($comparator === $_comparator) {
-                unset($this->comparators[$key]);
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares PHPUnit_Framework_MockObject_MockObject instances for equality.
- */
-class MockObjectComparator extends ObjectComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \PHPUnit_Framework_MockObject_MockObject && $actual instanceof \PHPUnit_Framework_MockObject_MockObject;
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        $array = parent::toArray($object);
-
-        unset($array['__phpunit_invocationMocker']);
-
-        return $array;
-    }
-}<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares numerical values for equality.
- */
-class NumericComparator extends ScalarComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        // all numerical values, but not if one of them is a double
-        // or both of them are strings
-        return is_numeric($expected) && is_numeric($actual) &&
-               !(is_double($expected) || is_double($actual)) &&
-               !(is_string($expected) && is_string($actual));
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if (is_infinite($actual) && is_infinite($expected)) {
-            return;
-        }
-
-        if ((is_infinite($actual) xor is_infinite($expected)) ||
-            (is_nan($actual) or is_nan($expected)) ||
-            abs($actual - $expected) > $delta) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                '',
-                '',
-                false,
-                sprintf(
-                    'Failed asserting that %s matches expected %s.',
-                    $this->exporter->export($actual),
-                    $this->exporter->export($expected)
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares objects for equality.
- */
-class ObjectComparator extends ArrayComparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_object($expected) && is_object($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @param  array             $processed
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array())
-    {
-        if (get_class($actual) !== get_class($expected)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->exporter->export($expected),
-                $this->exporter->export($actual),
-                false,
-                sprintf(
-                    '%s is not instance of expected class "%s".',
-                    $this->exporter->export($actual),
-                    get_class($expected)
-                )
-            );
-        }
-
-        // don't compare twice to allow for cyclic dependencies
-        if (in_array(array($actual, $expected), $processed, true) ||
-            in_array(array($expected, $actual), $processed, true)) {
-            return;
-        }
-
-        $processed[] = array($actual, $expected);
-
-        // don't compare objects if they are identical
-        // this helps to avoid the error "maximum function nesting level reached"
-        // CAUTION: this conditional clause is not tested
-        if ($actual !== $expected) {
-            try {
-                parent::assertEquals(
-                    $this->toArray($expected),
-                    $this->toArray($actual),
-                    $delta,
-                    $canonicalize,
-                    $ignoreCase,
-                    $processed
-                );
-            } catch (ComparisonFailure $e) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    // replace "Array" with "MyClass object"
-                    substr_replace($e->getExpectedAsString(), get_class($expected) . ' Object', 0, 5),
-                    substr_replace($e->getActualAsString(), get_class($actual) . ' Object', 0, 5),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  object $object
-     * @return array
-     */
-    protected function toArray($object)
-    {
-        return $this->exporter->toArray($object);
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares resources for equality.
- */
-class ResourceComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return is_resource($expected) && is_resource($actual);
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if ($actual != $expected) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                $this->exporter->export($expected),
-                $this->exporter->export($actual)
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares scalar or NULL values for equality.
- */
-class ScalarComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     * @since  Method available since Release 3.6.0
-     */
-    public function accepts($expected, $actual)
-    {
-        return ((is_scalar($expected) xor null === $expected) &&
-               (is_scalar($actual) xor null === $actual))
-               // allow comparison between strings and objects featuring __toString()
-               || (is_string($expected) && is_object($actual) && method_exists($actual, '__toString'))
-               || (is_object($expected) && method_exists($expected, '__toString') && is_string($actual));
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $expectedToCompare = $expected;
-        $actualToCompare   = $actual;
-
-        // always compare as strings to avoid strange behaviour
-        // otherwise 0 == 'Foobar'
-        if (is_string($expected) || is_string($actual)) {
-            $expectedToCompare = (string) $expectedToCompare;
-            $actualToCompare   = (string) $actualToCompare;
-
-            if ($ignoreCase) {
-                $expectedToCompare = strtolower($expectedToCompare);
-                $actualToCompare   = strtolower($actualToCompare);
-            }
-        }
-
-        if ($expectedToCompare != $actualToCompare) {
-            if (is_string($expected) && is_string($actual)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two strings are equal.'
-                );
-            }
-
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                // no diff is required
-                '',
-                '',
-                false,
-                sprintf(
-                    'Failed asserting that %s matches expected %s.',
-                    $this->exporter->export($actual),
-                    $this->exporter->export($expected)
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares \SplObjectStorage instances for equality.
- */
-class SplObjectStorageComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return $expected instanceof \SplObjectStorage && $actual instanceof \SplObjectStorage;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        foreach ($actual as $object) {
-            if (!$expected->contains($object)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-
-        foreach ($expected as $object) {
-            if (!$actual->contains($object)) {
-                throw new ComparisonFailure(
-                    $expected,
-                    $actual,
-                    $this->exporter->export($expected),
-                    $this->exporter->export($actual),
-                    false,
-                    'Failed asserting that two objects are equal.'
-                );
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of the Comparator package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Comparator;
-
-/**
- * Compares values for type equality.
- */
-class TypeComparator extends Comparator
-{
-    /**
-     * Returns whether the comparator can compare two values.
-     *
-     * @param  mixed $expected The first value to compare
-     * @param  mixed $actual   The second value to compare
-     * @return bool
-     */
-    public function accepts($expected, $actual)
-    {
-        return true;
-    }
-
-    /**
-     * Asserts that two values are equal.
-     *
-     * @param  mixed             $expected     The first value to compare
-     * @param  mixed             $actual       The second value to compare
-     * @param  float             $delta        The allowed numerical distance between two values to
-     *                                         consider them equal
-     * @param  bool              $canonicalize If set to TRUE, arrays are sorted before
-     *                                         comparison
-     * @param  bool              $ignoreCase   If set to TRUE, upper- and lowercasing is
-     *                                         ignored when comparing string values
-     * @throws ComparisonFailure Thrown when the comparison
-     *                                        fails. Contains information about the
-     *                                        specific errors that lead to the failure.
-     */
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        if (gettype($expected) != gettype($actual)) {
-            throw new ComparisonFailure(
-                $expected,
-                $actual,
-                // we don't need a diff
-                '',
-                '',
-                false,
-                sprintf(
-                    '%s does not match expected type "%s".',
-                    $this->exporter->shortenedExport($actual),
-                    gettype($expected)
-                )
-            );
-        }
-    }
-}
-Diff
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- */
-class Chunk
-{
-    /**
-     * @var int
-     */
-    private $start;
-
-    /**
-     * @var int
-     */
-    private $startRange;
-
-    /**
-     * @var int
-     */
-    private $end;
-    /**
-     * @var int
-     */
-    private $endRange;
-
-    /**
-     * @var array
-     */
-    private $lines;
-
-    /**
-     * @param int   $start
-     * @param int   $startRange
-     * @param int   $end
-     * @param int   $endRange
-     * @param array $lines
-     */
-    public function __construct($start = 0, $startRange = 1, $end = 0, $endRange = 1, array $lines = array())
-    {
-        $this->start      = (int) $start;
-        $this->startRange = (int) $startRange;
-        $this->end        = (int) $end;
-        $this->endRange   = (int) $endRange;
-        $this->lines      = $lines;
-    }
-
-    /**
-     * @return int
-     */
-    public function getStart()
-    {
-        return $this->start;
-    }
-
-    /**
-     * @return int
-     */
-    public function getStartRange()
-    {
-        return $this->startRange;
-    }
-
-    /**
-     * @return int
-     */
-    public function getEnd()
-    {
-        return $this->end;
-    }
-
-    /**
-     * @return int
-     */
-    public function getEndRange()
-    {
-        return $this->endRange;
-    }
-
-    /**
-     * @return array
-     */
-    public function getLines()
-    {
-        return $this->lines;
-    }
-
-    /**
-     * @param array $lines
-     */
-    public function setLines(array $lines)
-    {
-        $this->lines = $lines;
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- */
-class Diff
-{
-    /**
-     * @var string
-     */
-    private $from;
-
-    /**
-     * @var string
-     */
-    private $to;
-
-    /**
-     * @var Chunk[]
-     */
-    private $chunks;
-
-    /**
-     * @param string  $from
-     * @param string  $to
-     * @param Chunk[] $chunks
-     */
-    public function __construct($from, $to, array $chunks = array())
-    {
-        $this->from   = $from;
-        $this->to     = $to;
-        $this->chunks = $chunks;
-    }
-
-    /**
-     * @return string
-     */
-    public function getFrom()
-    {
-        return $this->from;
-    }
-
-    /**
-     * @return string
-     */
-    public function getTo()
-    {
-        return $this->to;
-    }
-
-    /**
-     * @return Chunk[]
-     */
-    public function getChunks()
-    {
-        return $this->chunks;
-    }
-
-    /**
-     * @param Chunk[] $chunks
-     */
-    public function setChunks(array $chunks)
-    {
-        $this->chunks = $chunks;
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-use SebastianBergmann\Diff\LCS\LongestCommonSubsequence;
-use SebastianBergmann\Diff\LCS\TimeEfficientImplementation;
-use SebastianBergmann\Diff\LCS\MemoryEfficientImplementation;
-
-/**
- * Diff implementation.
- */
-class Differ
-{
-    /**
-     * @var string
-     */
-    private $header;
-
-    /**
-     * @var bool
-     */
-    private $showNonDiffLines;
-
-    /**
-     * @param string $header
-     */
-    public function __construct($header = "--- Original\n+++ New\n", $showNonDiffLines = true)
-    {
-        $this->header           = $header;
-        $this->showNonDiffLines = $showNonDiffLines;
-    }
-
-    /**
-     * Returns the diff between two arrays or strings as string.
-     *
-     * @param array|string             $from
-     * @param array|string             $to
-     * @param LongestCommonSubsequence $lcs
-     *
-     * @return string
-     */
-    public function diff($from, $to, LongestCommonSubsequence $lcs = null)
-    {
-        if (!is_array($from) && !is_string($from)) {
-            $from = (string) $from;
-        }
-
-        if (!is_array($to) && !is_string($to)) {
-            $to = (string) $to;
-        }
-
-        $buffer = $this->header;
-        $diff   = $this->diffToArray($from, $to, $lcs);
-
-        $inOld = false;
-        $i     = 0;
-        $old   = array();
-
-        foreach ($diff as $line) {
-            if ($line[1] ===  0 /* OLD */) {
-                if ($inOld === false) {
-                    $inOld = $i;
-                }
-            } elseif ($inOld !== false) {
-                if (($i - $inOld) > 5) {
-                    $old[$inOld] = $i - 1;
-                }
-
-                $inOld = false;
-            }
-
-            ++$i;
-        }
-
-        $start = isset($old[0]) ? $old[0] : 0;
-        $end   = count($diff);
-
-        if ($tmp = array_search($end, $old)) {
-            $end = $tmp;
-        }
-
-        $newChunk = true;
-
-        for ($i = $start; $i < $end; $i++) {
-            if (isset($old[$i])) {
-                $buffer  .= "\n";
-                $newChunk = true;
-                $i        = $old[$i];
-            }
-
-            if ($newChunk) {
-                if ($this->showNonDiffLines === true) {
-                    $buffer .= "@@ @@\n";
-                }
-                $newChunk = false;
-            }
-
-            if ($diff[$i][1] === 1 /* ADDED */) {
-                $buffer .= '+' . $diff[$i][0] . "\n";
-            } elseif ($diff[$i][1] === 2 /* REMOVED */) {
-                $buffer .= '-' . $diff[$i][0] . "\n";
-            } elseif ($this->showNonDiffLines === true) {
-                $buffer .= ' ' . $diff[$i][0] . "\n";
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Returns the diff between two arrays or strings as array.
-     *
-     * Each array element contains two elements:
-     *   - [0] => string $token
-     *   - [1] => 2|1|0
-     *
-     * - 2: REMOVED: $token was removed from $from
-     * - 1: ADDED: $token was added to $from
-     * - 0: OLD: $token is not changed in $to
-     *
-     * @param array|string             $from
-     * @param array|string             $to
-     * @param LongestCommonSubsequence $lcs
-     *
-     * @return array
-     */
-    public function diffToArray($from, $to, LongestCommonSubsequence $lcs = null)
-    {
-        preg_match_all('(\r\n|\r|\n)', $from, $fromMatches);
-        preg_match_all('(\r\n|\r|\n)', $to, $toMatches);
-
-        if (is_string($from)) {
-            $from = preg_split('(\r\n|\r|\n)', $from);
-        }
-
-        if (is_string($to)) {
-            $to = preg_split('(\r\n|\r|\n)', $to);
-        }
-
-        $start      = array();
-        $end        = array();
-        $fromLength = count($from);
-        $toLength   = count($to);
-        $length     = min($fromLength, $toLength);
-
-        for ($i = 0; $i < $length; ++$i) {
-            if ($from[$i] === $to[$i]) {
-                $start[] = $from[$i];
-                unset($from[$i], $to[$i]);
-            } else {
-                break;
-            }
-        }
-
-        $length -= $i;
-
-        for ($i = 1; $i < $length; ++$i) {
-            if ($from[$fromLength - $i] === $to[$toLength - $i]) {
-                array_unshift($end, $from[$fromLength - $i]);
-                unset($from[$fromLength - $i], $to[$toLength - $i]);
-            } else {
-                break;
-            }
-        }
-
-        if ($lcs === null) {
-            $lcs = $this->selectLcsImplementation($from, $to);
-        }
-
-        $common = $lcs->calculate(array_values($from), array_values($to));
-        $diff   = array();
-
-        if (isset($fromMatches[0]) && $toMatches[0] &&
-            count($fromMatches[0]) === count($toMatches[0]) &&
-            $fromMatches[0] !== $toMatches[0]) {
-            $diff[] = array(
-              '#Warning: Strings contain different line endings!', 0
-            );
-        }
-
-        foreach ($start as $token) {
-            $diff[] = array($token, 0 /* OLD */);
-        }
-
-        reset($from);
-        reset($to);
-
-        foreach ($common as $token) {
-            while ((($fromToken = reset($from)) !== $token)) {
-                $diff[] = array(array_shift($from), 2 /* REMOVED */);
-            }
-
-            while ((($toToken = reset($to)) !== $token)) {
-                $diff[] = array(array_shift($to), 1 /* ADDED */);
-            }
-
-            $diff[] = array($token, 0 /* OLD */);
-
-            array_shift($from);
-            array_shift($to);
-        }
-
-        while (($token = array_shift($from)) !== null) {
-            $diff[] = array($token, 2 /* REMOVED */);
-        }
-
-        while (($token = array_shift($to)) !== null) {
-            $diff[] = array($token, 1 /* ADDED */);
-        }
-
-        foreach ($end as $token) {
-            $diff[] = array($token, 0 /* OLD */);
-        }
-
-        return $diff;
-    }
-
-    /**
-     * @param array $from
-     * @param array $to
-     *
-     * @return LongestCommonSubsequence
-     */
-    private function selectLcsImplementation(array $from, array $to)
-    {
-        // We do not want to use the time-efficient implementation if its memory
-        // footprint will probably exceed this value. Note that the footprint
-        // calculation is only an estimation for the matrix and the LCS method
-        // will typically allocate a bit more memory than this.
-        $memoryLimit = 100 * 1024 * 1024;
-
-        if ($this->calculateEstimatedFootprint($from, $to) > $memoryLimit) {
-            return new MemoryEfficientImplementation;
-        }
-
-        return new TimeEfficientImplementation;
-    }
-
-    /**
-     * Calculates the estimated memory footprint for the DP-based method.
-     *
-     * @param array $from
-     * @param array $to
-     *
-     * @return int
-     */
-    private function calculateEstimatedFootprint(array $from, array $to)
-    {
-        $itemSize = PHP_INT_SIZE == 4 ? 76 : 144;
-
-        return $itemSize * pow(min(count($from), count($to)), 2);
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Interface for implementations of longest common subsequence calculation.
- */
-interface LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param array $from
-     * @param array $to
-     *
-     * @return array
-     */
-    public function calculate(array $from, array $to);
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Memory-efficient implementation of longest common subsequence calculation.
- */
-class MemoryEfficientImplementation implements LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param array $from
-     * @param array $to
-     *
-     * @return array
-     */
-    public function calculate(array $from, array $to)
-    {
-        $cFrom = count($from);
-        $cTo   = count($to);
-
-        if ($cFrom == 0) {
-            return array();
-        } elseif ($cFrom == 1) {
-            if (in_array($from[0], $to)) {
-                return array($from[0]);
-            } else {
-                return array();
-            }
-        } else {
-            $i         = intval($cFrom / 2);
-            $fromStart = array_slice($from, 0, $i);
-            $fromEnd   = array_slice($from, $i);
-            $llB       = $this->length($fromStart, $to);
-            $llE       = $this->length(array_reverse($fromEnd), array_reverse($to));
-            $jMax      = 0;
-            $max       = 0;
-
-            for ($j = 0; $j <= $cTo; $j++) {
-                $m = $llB[$j] + $llE[$cTo - $j];
-
-                if ($m >= $max) {
-                    $max  = $m;
-                    $jMax = $j;
-                }
-            }
-
-            $toStart = array_slice($to, 0, $jMax);
-            $toEnd   = array_slice($to, $jMax);
-
-            return array_merge(
-                $this->calculate($fromStart, $toStart),
-                $this->calculate($fromEnd, $toEnd)
-            );
-        }
-    }
-
-    /**
-     * @param array $from
-     * @param array $to
-     *
-     * @return array
-     */
-    private function length(array $from, array $to)
-    {
-        $current = array_fill(0, count($to) + 1, 0);
-        $cFrom   = count($from);
-        $cTo     = count($to);
-
-        for ($i = 0; $i < $cFrom; $i++) {
-            $prev = $current;
-
-            for ($j = 0; $j < $cTo; $j++) {
-                if ($from[$i] == $to[$j]) {
-                    $current[$j + 1] = $prev[$j] + 1;
-                } else {
-                    $current[$j + 1] = max($current[$j], $prev[$j + 1]);
-                }
-            }
-        }
-
-        return $current;
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff\LCS;
-
-/**
- * Time-efficient implementation of longest common subsequence calculation.
- */
-class TimeEfficientImplementation implements LongestCommonSubsequence
-{
-    /**
-     * Calculates the longest common subsequence of two arrays.
-     *
-     * @param array $from
-     * @param array $to
-     *
-     * @return array
-     */
-    public function calculate(array $from, array $to)
-    {
-        $common     = array();
-        $fromLength = count($from);
-        $toLength   = count($to);
-        $width      = $fromLength + 1;
-        $matrix     = new \SplFixedArray($width * ($toLength + 1));
-
-        for ($i = 0; $i <= $fromLength; ++$i) {
-            $matrix[$i] = 0;
-        }
-
-        for ($j = 0; $j <= $toLength; ++$j) {
-            $matrix[$j * $width] = 0;
-        }
-
-        for ($i = 1; $i <= $fromLength; ++$i) {
-            for ($j = 1; $j <= $toLength; ++$j) {
-                $o          = ($j * $width) + $i;
-                $matrix[$o] = max(
-                    $matrix[$o - 1],
-                    $matrix[$o - $width],
-                    $from[$i - 1] === $to[$j - 1] ? $matrix[$o - $width - 1] + 1 : 0
-                );
-            }
-        }
-
-        $i = $fromLength;
-        $j = $toLength;
-
-        while ($i > 0 && $j > 0) {
-            if ($from[$i-1] === $to[$j-1]) {
-                $common[] = $from[$i-1];
-                --$i;
-                --$j;
-            } else {
-                $o = ($j * $width) + $i;
-                if ($matrix[$o - $width] > $matrix[$o - 1]) {
-                    --$j;
-                } else {
-                    --$i;
-                }
-            }
-        }
-
-        return array_reverse($common);
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- */
-class Line
-{
-    const ADDED     = 1;
-    const REMOVED   = 2;
-    const UNCHANGED = 3;
-
-    /**
-     * @var int
-     */
-    private $type;
-
-    /**
-     * @var string
-     */
-    private $content;
-
-    /**
-     * @param int    $type
-     * @param string $content
-     */
-    public function __construct($type = self::UNCHANGED, $content = '')
-    {
-        $this->type    = $type;
-        $this->content = $content;
-    }
-
-    /**
-     * @return string
-     */
-    public function getContent()
-    {
-        return $this->content;
-    }
-
-    /**
-     * @return int
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-}
-<?php
-/*
- * This file is part of the Diff package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Diff;
-
-/**
- * Unified diff parser.
- */
-class Parser
-{
-    /**
-     * @param string $string
-     *
-     * @return Diff[]
-     */
-    public function parse($string)
-    {
-        $lines     = preg_split('(\r\n|\r|\n)', $string);
-        $lineCount = count($lines);
-        $diffs     = array();
-        $diff      = null;
-        $collected = array();
-
-        for ($i = 0; $i < $lineCount; ++$i) {
-            if (preg_match('(^---\\s+(?P<file>\\S+))', $lines[$i], $fromMatch) &&
-                preg_match('(^\\+\\+\\+\\s+(?P<file>\\S+))', $lines[$i + 1], $toMatch)) {
-                if ($diff !== null) {
-                    $this->parseFileDiff($diff, $collected);
-                    $diffs[]   = $diff;
-                    $collected = array();
-                }
-
-                $diff = new Diff($fromMatch['file'], $toMatch['file']);
-                ++$i;
-            } else {
-                if (preg_match('/^(?:diff --git |index [\da-f\.]+|[+-]{3} [ab])/', $lines[$i])) {
-                    continue;
-                }
-                $collected[] = $lines[$i];
-            }
-        }
-
-        if (count($collected) && ($diff !== null)) {
-            $this->parseFileDiff($diff, $collected);
-            $diffs[] = $diff;
-        }
-
-        return $diffs;
-    }
-
-    /**
-     * @param Diff  $diff
-     * @param array $lines
-     */
-    private function parseFileDiff(Diff $diff, array $lines)
-    {
-        $chunks = array();
-
-        foreach ($lines as $line) {
-            if (preg_match('/^@@\s+-(?P<start>\d+)(?:,\s*(?P<startrange>\d+))?\s+\+(?P<end>\d+)(?:,\s*(?P<endrange>\d+))?\s+@@/', $line, $match)) {
-                $chunk = new Chunk(
-                    $match['start'],
-                    isset($match['startrange']) ? max(1, $match['startrange']) : 1,
-                    $match['end'],
-                    isset($match['endrange']) ? max(1, $match['endrange']) : 1
-                );
-
-                $chunks[]  = $chunk;
-                $diffLines = array();
-                continue;
-            }
-
-            if (preg_match('/^(?P<type>[+ -])?(?P<line>.*)/', $line, $match)) {
-                $type = Line::UNCHANGED;
-
-                if ($match['type'] == '+') {
-                    $type = Line::ADDED;
-                } elseif ($match['type'] == '-') {
-                    $type = Line::REMOVED;
-                }
-
-                $diffLines[] = new Line($type, $match['line']);
-
-                if (isset($chunk)) {
-                    $chunk->setLines($diffLines);
-                }
-            }
-        }
-
-        $diff->setChunks($chunks);
-    }
-}
-Environment
-
-Copyright (c) 2014-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-/**
- */
-class Console
-{
-    const STDIN  = 0;
-    const STDOUT = 1;
-    const STDERR = 2;
-
-    /**
-     * Returns true if STDOUT supports colorization.
-     *
-     * This code has been copied and adapted from
-     * Symfony\Component\Console\Output\OutputStream.
-     *
-     * @return bool
-     */
-    public function hasColorSupport()
-    {
-        if (DIRECTORY_SEPARATOR == '\\') {
-            return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI') || 'xterm' === getenv('TERM');
-        }
-
-        if (!defined('STDOUT')) {
-            return false;
-        }
-
-        return $this->isInteractive(STDOUT);
-    }
-
-    /**
-     * Returns the number of columns of the terminal.
-     *
-     * @return int
-     */
-    public function getNumberOfColumns()
-    {
-        if (DIRECTORY_SEPARATOR == '\\') {
-            $columns = 80;
-
-            if (preg_match('/^(\d+)x\d+ \(\d+x(\d+)\)$/', trim(getenv('ANSICON')), $matches)) {
-                $columns = $matches[1];
-            } elseif (function_exists('proc_open')) {
-                $process = proc_open(
-                    'mode CON',
-                    array(
-                        1 => array('pipe', 'w'),
-                        2 => array('pipe', 'w')
-                    ),
-                    $pipes,
-                    null,
-                    null,
-                    array('suppress_errors' => true)
-                );
-
-                if (is_resource($process)) {
-                    $info = stream_get_contents($pipes[1]);
-
-                    fclose($pipes[1]);
-                    fclose($pipes[2]);
-                    proc_close($process);
-
-                    if (preg_match('/--------+\r?\n.+?(\d+)\r?\n.+?(\d+)\r?\n/', $info, $matches)) {
-                        $columns = $matches[2];
-                    }
-                }
-            }
-
-            return $columns - 1;
-        }
-
-        if (!$this->isInteractive(self::STDIN)) {
-            return 80;
-        }
-
-        if (function_exists('shell_exec') && preg_match('#\d+ (\d+)#', shell_exec('stty size'), $match) === 1) {
-            if ((int) $match[1] > 0) {
-                return (int) $match[1];
-            }
-        }
-
-        if (function_exists('shell_exec') && preg_match('#columns = (\d+);#', shell_exec('stty'), $match) === 1) {
-            if ((int) $match[1] > 0) {
-                return (int) $match[1];
-            }
-        }
-
-        return 80;
-    }
-
-    /**
-     * Returns if the file descriptor is an interactive terminal or not.
-     *
-     * @param int|resource $fileDescriptor
-     *
-     * @return bool
-     */
-    public function isInteractive($fileDescriptor = self::STDOUT)
-    {
-        return function_exists('posix_isatty') && @posix_isatty($fileDescriptor);
-    }
-}
-<?php
-/*
- * This file is part of the Environment package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Environment;
-
-/**
- * Utility class for HHVM/PHP environment handling.
- */
-class Runtime
-{
-    /**
-     * @var string
-     */
-    private static $binary;
-
-    /**
-     * Returns true when Xdebug is supported or
-     * the runtime used is PHPDBG (PHP >= 7.0).
-     *
-     * @return bool
-     */
-    public function canCollectCodeCoverage()
-    {
-        return $this->hasXdebug() || $this->hasPHPDBGCodeCoverage();
-    }
-
-    /**
-     * Returns the path to the binary of the current runtime.
-     * Appends ' --php' to the path when the runtime is HHVM.
-     *
-     * @return string
-     */
-    public function getBinary()
-    {
-        // HHVM
-        if (self::$binary === null && $this->isHHVM()) {
-            if ((self::$binary = getenv('PHP_BINARY')) === false) {
-                self::$binary = PHP_BINARY;
-            }
-
-            self::$binary = escapeshellarg(self::$binary) . ' --php';
-        }
-
-        // PHP >= 5.4.0
-        if (self::$binary === null && defined('PHP_BINARY')) {
-            self::$binary = escapeshellarg(PHP_BINARY);
-        }
-
-        // PHP < 5.4.0
-        if (self::$binary === null) {
-            if (PHP_SAPI == 'cli' && isset($_SERVER['_'])) {
-                if (strpos($_SERVER['_'], 'phpunit') !== false) {
-                    $file = file($_SERVER['_']);
-
-                    if (strpos($file[0], ' ') !== false) {
-                        $tmp          = explode(' ', $file[0]);
-                        self::$binary = escapeshellarg(trim($tmp[1]));
-                    } else {
-                        self::$binary = escapeshellarg(ltrim(trim($file[0]), '#!'));
-                    }
-                } elseif (strpos(basename($_SERVER['_']), 'php') !== false) {
-                    self::$binary = escapeshellarg($_SERVER['_']);
-                }
-            }
-        }
-
-        if (self::$binary === null) {
-            $possibleBinaryLocations = array(
-                PHP_BINDIR . '/php',
-                PHP_BINDIR . '/php-cli.exe',
-                PHP_BINDIR . '/php.exe'
-            );
-
-            foreach ($possibleBinaryLocations as $binary) {
-                if (is_readable($binary)) {
-                    self::$binary = escapeshellarg($binary);
-                    break;
-                }
-            }
-        }
-
-        if (self::$binary === null) {
-            self::$binary = 'php';
-        }
-
-        return self::$binary;
-    }
-
-    /**
-     * @return string
-     */
-    public function getNameWithVersion()
-    {
-        return $this->getName() . ' ' . $this->getVersion();
-    }
-
-    /**
-     * @return string
-     */
-    public function getName()
-    {
-        if ($this->isHHVM()) {
-            return 'HHVM';
-        } elseif ($this->isPHPDBG()) {
-            return 'PHPDBG';
-        } else {
-            return 'PHP';
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getVendorUrl()
-    {
-        if ($this->isHHVM()) {
-            return 'http://hhvm.com/';
-        } else {
-            return 'https://secure.php.net/';
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getVersion()
-    {
-        if ($this->isHHVM()) {
-            return HHVM_VERSION;
-        } else {
-            return PHP_VERSION;
-        }
-    }
-
-    /**
-     * Returns true when the runtime used is PHP and Xdebug is loaded.
-     *
-     * @return bool
-     */
-    public function hasXdebug()
-    {
-        return ($this->isPHP() || $this->isHHVM()) && extension_loaded('xdebug');
-    }
-
-    /**
-     * Returns true when the runtime used is HHVM.
-     *
-     * @return bool
-     */
-    public function isHHVM()
-    {
-        return defined('HHVM_VERSION');
-    }
-
-    /**
-     * Returns true when the runtime used is PHP without the PHPDBG SAPI.
-     *
-     * @return bool
-     */
-    public function isPHP()
-    {
-        return !$this->isHHVM() && !$this->isPHPDBG();
-    }
-
-    /**
-     * Returns true when the runtime used is PHP with the PHPDBG SAPI.
-     *
-     * @return bool
-     */
-    public function isPHPDBG()
-    {
-        return PHP_SAPI === 'phpdbg' && !$this->isHHVM();
-    }
-
-    /**
-     * Returns true when the runtime used is PHP with the PHPDBG SAPI
-     * and the phpdbg_*_oplog() functions are available (PHP >= 7.0).
-     *
-     * @return bool
-     */
-    public function hasPHPDBGCodeCoverage()
-    {
-        return $this->isPHPDBG() && function_exists('phpdbg_start_oplog');
-    }
-}
-Exporter
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Exporter package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\Exporter;
-
-use SebastianBergmann\RecursionContext\Context;
-
-/**
- * A nifty utility for visualizing PHP variables.
- *
- * <code>
- * <?php
- * use SebastianBergmann\Exporter\Exporter;
- *
- * $exporter = new Exporter;
- * print $exporter->export(new Exception);
- * </code>
- */
-class Exporter
-{
-    /**
-     * Exports a value as a string
-     *
-     * The output of this method is similar to the output of print_r(), but
-     * improved in various aspects:
-     *
-     *  - NULL is rendered as "null" (instead of "")
-     *  - TRUE is rendered as "true" (instead of "1")
-     *  - FALSE is rendered as "false" (instead of "")
-     *  - Strings are always quoted with single quotes
-     *  - Carriage returns and newlines are normalized to \n
-     *  - Recursion and repeated rendering is treated properly
-     *
-     * @param  mixed  $value
-     * @param  int    $indentation The indentation level of the 2nd+ line
-     * @return string
-     */
-    public function export($value, $indentation = 0)
-    {
-        return $this->recursiveExport($value, $indentation);
-    }
-
-    /**
-     * @param  mixed   $data
-     * @param  Context $context
-     * @return string
-     */
-    public function shortenedRecursiveExport(&$data, Context $context = null)
-    {
-        $result   = array();
-        $exporter = new self();
-
-        if (!$context) {
-            $context = new Context;
-        }
-
-        $context->add($data);
-
-        foreach ($data as $key => $value) {
-            if (is_array($value)) {
-                if ($context->contains($data[$key]) !== false) {
-                    $result[] = '*RECURSION*';
-                }
-
-                else {
-                    $result[] = sprintf(
-                        'array(%s)',
-                        $this->shortenedRecursiveExport($data[$key], $context)
-                    );
-                }
-            }
-
-            else {
-                $result[] = $exporter->shortenedExport($value);
-            }
-        }
-
-        return implode(', ', $result);
-    }
-
-    /**
-     * Exports a value into a single-line string
-     *
-     * The output of this method is similar to the output of
-     * SebastianBergmann\Exporter\Exporter::export. This method guarantees
-     * thought that the result contains now newlines.
-     *
-     * Newlines are replaced by the visible string '\n'. Contents of arrays
-     * and objects (if any) are replaced by '...'.
-     *
-     * @param  mixed  $value
-     * @return string
-     * @see    SebastianBergmann\Exporter\Exporter::export
-     */
-    public function shortenedExport($value)
-    {
-        if (is_string($value)) {
-            $string = $this->export($value);
-
-            if (strlen($string) > 40) {
-                $string = substr($string, 0, 30) . '...' . substr($string, -7);
-            }
-
-            return str_replace("\n", '\n', $string);
-        }
-
-        if (is_object($value)) {
-            return sprintf(
-                '%s Object (%s)',
-                get_class($value),
-                count($this->toArray($value)) > 0 ? '...' : ''
-            );
-        }
-
-        if (is_array($value)) {
-            return sprintf(
-                'Array (%s)',
-                count($value) > 0 ? '...' : ''
-            );
-        }
-
-        return $this->export($value);
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  mixed $value
-     * @return array
-     */
-    public function toArray($value)
-    {
-        if (!is_object($value)) {
-            return (array) $value;
-        }
-
-        $array = array();
-
-        foreach ((array) $value as $key => $val) {
-            // properties are transformed to keys in the following way:
-            // private   $property => "\0Classname\0property"
-            // protected $property => "\0*\0property"
-            // public    $property => "property"
-            if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) {
-                $key = $matches[1];
-            }
-
-            // See https://github.com/php/php-src/commit/5721132
-            if ($key === "\0gcdata") {
-                continue;
-            }
-
-            $array[$key] = $val;
-        }
-
-        // Some internal classes like SplObjectStorage don't work with the
-        // above (fast) mechanism nor with reflection in Zend.
-        // Format the output similarly to print_r() in this case
-        if ($value instanceof \SplObjectStorage) {
-            // However, the fast method does work in HHVM, and exposes the
-            // internal implementation. Hide it again.
-            if (property_exists('\SplObjectStorage', '__storage')) {
-                unset($array['__storage']);
-            } elseif (property_exists('\SplObjectStorage', 'storage')) {
-                unset($array['storage']);
-            }
-
-            if (property_exists('\SplObjectStorage', '__key')) {
-                unset($array['__key']);
-            }
-
-            foreach ($value as $key => $val) {
-                $array[spl_object_hash($val)] = array(
-                    'obj' => $val,
-                    'inf' => $value->getInfo(),
-                );
-            }
-        }
-
-        return $array;
-    }
-
-    /**
-     * Recursive implementation of export
-     *
-     * @param  mixed                                       $value       The value to export
-     * @param  int                                         $indentation The indentation level of the 2nd+ line
-     * @param  \SebastianBergmann\RecursionContext\Context $processed   Previously processed objects
-     * @return string
-     * @see    SebastianBergmann\Exporter\Exporter::export
-     */
-    protected function recursiveExport(&$value, $indentation, $processed = null)
-    {
-        if ($value === null) {
-            return 'null';
-        }
-
-        if ($value === true) {
-            return 'true';
-        }
-
-        if ($value === false) {
-            return 'false';
-        }
-
-        if (is_float($value) && floatval(intval($value)) === $value) {
-            return "$value.0";
-        }
-
-        if (is_resource($value)) {
-            return sprintf(
-                'resource(%d) of type (%s)',
-                $value,
-                get_resource_type($value)
-            );
-        }
-
-        if (is_string($value)) {
-            // Match for most non printable chars somewhat taking multibyte chars into account
-            if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) {
-                return 'Binary String: 0x' . bin2hex($value);
-            }
-
-            return "'" .
-            str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) .
-            "'";
-        }
-
-        $whitespace = str_repeat(' ', 4 * $indentation);
-
-        if (!$processed) {
-            $processed = new Context;
-        }
-
-        if (is_array($value)) {
-            if (($key = $processed->contains($value)) !== false) {
-                return 'Array &' . $key;
-            }
-
-            $key    = $processed->add($value);
-            $values = '';
-
-            if (count($value) > 0) {
-                foreach ($value as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        $this->recursiveExport($k, $indentation),
-                        $this->recursiveExport($value[$k], $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('Array &%s (%s)', $key, $values);
-        }
-
-        if (is_object($value)) {
-            $class = get_class($value);
-
-            if ($hash = $processed->contains($value)) {
-                return sprintf('%s Object &%s', $class, $hash);
-            }
-
-            $hash   = $processed->add($value);
-            $values = '';
-            $array  = $this->toArray($value);
-
-            if (count($array) > 0) {
-                foreach ($array as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        $this->recursiveExport($k, $indentation),
-                        $this->recursiveExport($v, $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('%s Object &%s (%s)', $class, $hash, $values);
-        }
-
-        return var_export($value, true);
-    }
-}
-Recursion Context
-
-Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- * A context containing previously processed arrays and objects
- * when recursively processing a value.
- */
-final class Context
-{
-    /**
-     * @var array[]
-     */
-    private $arrays;
-
-    /**
-     * @var \SplObjectStorage
-     */
-    private $objects;
-
-    /**
-     * Initialises the context
-     */
-    public function __construct()
-    {
-        $this->arrays  = array();
-        $this->objects = new \SplObjectStorage;
-    }
-
-    /**
-     * Adds a value to the context.
-     *
-     * @param  array|object             $value The value to add.
-     * @return int|string               The ID of the stored value, either as
-     *                                        a string or integer.
-     * @throws InvalidArgumentException Thrown if $value is not an array or
-     *                                        object
-     */
-    public function add(&$value)
-    {
-        if (is_array($value)) {
-            return $this->addArray($value);
-        }
-
-        else if (is_object($value)) {
-            return $this->addObject($value);
-        }
-
-        throw new InvalidArgumentException(
-            'Only arrays and objects are supported'
-        );
-    }
-
-    /**
-     * Checks if the given value exists within the context.
-     *
-     * @param  array|object             $value The value to check.
-     * @return int|string|false         The string or integer ID of the stored
-     *                                        value if it has already been seen, or
-     *                                        false if the value is not stored.
-     * @throws InvalidArgumentException Thrown if $value is not an array or
-     *                                        object
-     */
-    public function contains(&$value)
-    {
-        if (is_array($value)) {
-            return $this->containsArray($value);
-        }
-
-        else if (is_object($value)) {
-            return $this->containsObject($value);
-        }
-
-        throw new InvalidArgumentException(
-            'Only arrays and objects are supported'
-        );
-    }
-
-    /**
-     * @param  array    $array
-     * @return bool|int
-     */
-    private function addArray(array &$array)
-    {
-        $key = $this->containsArray($array);
-
-        if ($key !== false) {
-            return $key;
-        }
-
-        $this->arrays[] = &$array;
-
-        return count($this->arrays) - 1;
-    }
-
-    /**
-     * @param  object $object
-     * @return string
-     */
-    private function addObject($object)
-    {
-        if (!$this->objects->contains($object)) {
-            $this->objects->attach($object);
-        }
-
-        return spl_object_hash($object);
-    }
-
-    /**
-     * @param  array     $array
-     * @return int|false
-     */
-    private function containsArray(array &$array)
-    {
-        $keys = array_keys($this->arrays, $array, true);
-        $hash = '_Key_' . microtime(true);
-
-        foreach ($keys as $key) {
-            $this->arrays[$key][$hash] = $hash;
-
-            if (isset($array[$hash]) && $array[$hash] === $hash) {
-                unset($this->arrays[$key][$hash]);
-
-                return $key;
-            }
-
-            unset($this->arrays[$key][$hash]);
-        }
-
-        return false;
-    }
-
-    /**
-     * @param  object       $value
-     * @return string|false
-     */
-    private function containsObject($value)
-    {
-        if ($this->objects->contains($value)) {
-            return spl_object_hash($value);
-        }
-
-        return false;
-    }
-}
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- */
-interface Exception
-{
-}
-<?php
-/*
- * This file is part of the Recursion Context package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\RecursionContext;
-
-/**
- */
-final class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
-Resource Operations
-
-Copyright (c) 2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of resource-operations.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\ResourceOperations;
-
-class ResourceOperations
-{
-    /**
-     * @return string[]
-     */
-    public static function getFunctions()
-    {
-        return [
-            'Directory::close',
-            'Directory::read',
-            'Directory::rewind',
-            'HttpResponse::getRequestBodyStream',
-            'HttpResponse::getStream',
-            'MongoGridFSCursor::__construct',
-            'MongoGridFSFile::getResource',
-            'MysqlndUhConnection::stmtInit',
-            'MysqlndUhConnection::storeResult',
-            'MysqlndUhConnection::useResult',
-            'PDF_new',
-            'PDO::pgsqlLOBOpen',
-            'RarEntry::getStream',
-            'SQLite3::openBlob',
-            'XMLWriter::openMemory',
-            'XMLWriter::openURI',
-            'ZipArchive::getStream',
-            'bbcode_create',
-            'bzopen',
-            'crack_opendict',
-            'cubrid_connect',
-            'cubrid_connect_with_url',
-            'cubrid_get_query_timeout',
-            'cubrid_lob2_bind',
-            'cubrid_lob2_close',
-            'cubrid_lob2_export',
-            'cubrid_lob2_import',
-            'cubrid_lob2_new',
-            'cubrid_lob2_read',
-            'cubrid_lob2_seek',
-            'cubrid_lob2_seek64',
-            'cubrid_lob2_size',
-            'cubrid_lob2_size64',
-            'cubrid_lob2_tell',
-            'cubrid_lob2_tell64',
-            'cubrid_lob2_write',
-            'cubrid_pconnect',
-            'cubrid_pconnect_with_url',
-            'cubrid_prepare',
-            'cubrid_query',
-            'cubrid_set_query_timeout',
-            'cubrid_unbuffered_query',
-            'curl_copy_handle',
-            'curl_getinfo',
-            'curl_init',
-            'curl_multi_add_handle',
-            'curl_multi_close',
-            'curl_multi_exec',
-            'curl_multi_getcontent',
-            'curl_multi_info_read',
-            'curl_multi_init',
-            'curl_multi_remove_handle',
-            'curl_multi_select',
-            'curl_multi_setopt',
-            'curl_pause',
-            'curl_reset',
-            'curl_setopt',
-            'curl_setopt_array',
-            'curl_share_close',
-            'curl_share_init',
-            'curl_share_setopt',
-            'curl_unescape',
-            'cyrus_connect',
-            'db2_column_privileges',
-            'db2_columns',
-            'db2_connect',
-            'db2_exec',
-            'db2_foreign_keys',
-            'db2_next_result',
-            'db2_pconnect',
-            'db2_prepare',
-            'db2_primary_keys',
-            'db2_procedure_columns',
-            'db2_procedures',
-            'db2_special_columns',
-            'db2_statistics',
-            'db2_table_privileges',
-            'db2_tables',
-            'dba_fetch',
-            'dba_fetch 1',
-            'dba_open',
-            'dba_popen',
-            'dbplus_aql',
-            'dbplus_open',
-            'dbplus_rcreate',
-            'dbplus_ropen',
-            'dbplus_rquery',
-            'dbplus_sql',
-            'deflate_init',
-            'dio_open',
-            'eio_busy',
-            'eio_cancel',
-            'eio_chmod',
-            'eio_chown',
-            'eio_close',
-            'eio_custom',
-            'eio_dup2',
-            'eio_fallocate',
-            'eio_fchmod',
-            'eio_fchown',
-            'eio_fdatasync',
-            'eio_fstat',
-            'eio_fstatvfs',
-            'eio_fsync',
-            'eio_ftruncate',
-            'eio_futime',
-            'eio_get_last_error',
-            'eio_grp',
-            'eio_grp_add',
-            'eio_grp_cancel',
-            'eio_grp_limit',
-            'eio_link',
-            'eio_lstat',
-            'eio_mkdir',
-            'eio_mknod',
-            'eio_nop',
-            'eio_open',
-            'eio_read',
-            'eio_readahead',
-            'eio_readdir',
-            'eio_readlink',
-            'eio_realpath',
-            'eio_rename',
-            'eio_rmdir',
-            'eio_seek',
-            'eio_sendfile',
-            'eio_stat',
-            'eio_statvfs',
-            'eio_symlink',
-            'eio_sync',
-            'eio_sync_file_range',
-            'eio_syncfs',
-            'eio_truncate',
-            'eio_unlink',
-            'eio_utime',
-            'eio_write',
-            'enchant_broker_free_dict',
-            'enchant_broker_init',
-            'enchant_broker_request_dict',
-            'enchant_broker_request_pwl_dict',
-            'event_base_new',
-            'event_base_reinit',
-            'event_buffer_new',
-            'event_new',
-            'event_priority_set',
-            'event_timer_set',
-            'expect_popen',
-            'fam_monitor_collection',
-            'fam_monitor_directory',
-            'fam_monitor_file',
-            'fam_open',
-            'fann_cascadetrain_on_data',
-            'fann_cascadetrain_on_file',
-            'fann_clear_scaling_params',
-            'fann_copy',
-            'fann_create_from_file',
-            'fann_create_shortcut_array',
-            'fann_create_standard',
-            'fann_create_standard_array',
-            'fann_create_train',
-            'fann_create_train_from_callback',
-            'fann_descale_input',
-            'fann_descale_output',
-            'fann_descale_train',
-            'fann_destroy',
-            'fann_destroy_train',
-            'fann_duplicate_train_data',
-            'fann_get_MSE',
-            'fann_get_activation_function',
-            'fann_get_activation_steepness',
-            'fann_get_bias_array',
-            'fann_get_bit_fail',
-            'fann_get_bit_fail_limit',
-            'fann_get_cascade_activation_functions',
-            'fann_get_cascade_activation_functions_count',
-            'fann_get_cascade_activation_steepnesses',
-            'fann_get_cascade_activation_steepnesses_count',
-            'fann_get_cascade_candidate_change_fraction',
-            'fann_get_cascade_candidate_limit',
-            'fann_get_cascade_candidate_stagnation_epochs',
-            'fann_get_cascade_max_cand_epochs',
-            'fann_get_cascade_max_out_epochs',
-            'fann_get_cascade_min_cand_epochs',
-            'fann_get_cascade_min_out_epochs',
-            'fann_get_cascade_num_candidate_groups',
-            'fann_get_cascade_num_candidates',
-            'fann_get_cascade_output_change_fraction',
-            'fann_get_cascade_output_stagnation_epochs',
-            'fann_get_cascade_weight_multiplier',
-            'fann_get_connection_array',
-            'fann_get_connection_rate',
-            'fann_get_errno',
-            'fann_get_errstr',
-            'fann_get_layer_array',
-            'fann_get_learning_momentum',
-            'fann_get_learning_rate',
-            'fann_get_network_type',
-            'fann_get_num_input',
-            'fann_get_num_layers',
-            'fann_get_num_output',
-            'fann_get_quickprop_decay',
-            'fann_get_quickprop_mu',
-            'fann_get_rprop_decrease_factor',
-            'fann_get_rprop_delta_max',
-            'fann_get_rprop_delta_min',
-            'fann_get_rprop_delta_zero',
-            'fann_get_rprop_increase_factor',
-            'fann_get_sarprop_step_error_shift',
-            'fann_get_sarprop_step_error_threshold_factor',
-            'fann_get_sarprop_temperature',
-            'fann_get_sarprop_weight_decay_shift',
-            'fann_get_total_connections',
-            'fann_get_total_neurons',
-            'fann_get_train_error_function',
-            'fann_get_train_stop_function',
-            'fann_get_training_algorithm',
-            'fann_init_weights',
-            'fann_length_train_data',
-            'fann_merge_train_data',
-            'fann_num_input_train_data',
-            'fann_num_output_train_data',
-            'fann_randomize_weights',
-            'fann_read_train_from_file',
-            'fann_reset_errno',
-            'fann_reset_errstr',
-            'fann_run',
-            'fann_save',
-            'fann_save_train',
-            'fann_scale_input',
-            'fann_scale_input_train_data',
-            'fann_scale_output',
-            'fann_scale_output_train_data',
-            'fann_scale_train',
-            'fann_scale_train_data',
-            'fann_set_activation_function',
-            'fann_set_activation_function_hidden',
-            'fann_set_activation_function_layer',
-            'fann_set_activation_function_output',
-            'fann_set_activation_steepness',
-            'fann_set_activation_steepness_hidden',
-            'fann_set_activation_steepness_layer',
-            'fann_set_activation_steepness_output',
-            'fann_set_bit_fail_limit',
-            'fann_set_callback',
-            'fann_set_cascade_activation_functions',
-            'fann_set_cascade_activation_steepnesses',
-            'fann_set_cascade_candidate_change_fraction',
-            'fann_set_cascade_candidate_limit',
-            'fann_set_cascade_candidate_stagnation_epochs',
-            'fann_set_cascade_max_cand_epochs',
-            'fann_set_cascade_max_out_epochs',
-            'fann_set_cascade_min_cand_epochs',
-            'fann_set_cascade_min_out_epochs',
-            'fann_set_cascade_num_candidate_groups',
-            'fann_set_cascade_output_change_fraction',
-            'fann_set_cascade_output_stagnation_epochs',
-            'fann_set_cascade_weight_multiplier',
-            'fann_set_error_log',
-            'fann_set_input_scaling_params',
-            'fann_set_learning_momentum',
-            'fann_set_learning_rate',
-            'fann_set_output_scaling_params',
-            'fann_set_quickprop_decay',
-            'fann_set_quickprop_mu',
-            'fann_set_rprop_decrease_factor',
-            'fann_set_rprop_delta_max',
-            'fann_set_rprop_delta_min',
-            'fann_set_rprop_delta_zero',
-            'fann_set_rprop_increase_factor',
-            'fann_set_sarprop_step_error_shift',
-            'fann_set_sarprop_step_error_threshold_factor',
-            'fann_set_sarprop_temperature',
-            'fann_set_sarprop_weight_decay_shift',
-            'fann_set_scaling_params',
-            'fann_set_train_error_function',
-            'fann_set_train_stop_function',
-            'fann_set_training_algorithm',
-            'fann_set_weight',
-            'fann_set_weight_array',
-            'fann_shuffle_train_data',
-            'fann_subset_train_data',
-            'fann_test',
-            'fann_test_data',
-            'fann_train',
-            'fann_train_epoch',
-            'fann_train_on_data',
-            'fann_train_on_file',
-            'fbsql_connect',
-            'fbsql_db_query',
-            'fbsql_list_dbs',
-            'fbsql_list_fields',
-            'fbsql_list_tables',
-            'fbsql_pconnect',
-            'fbsql_query',
-            'fdf_create',
-            'fdf_open',
-            'fdf_open_string',
-            'finfo::buffer',
-            'finfo_buffer',
-            'finfo_close',
-            'finfo_file',
-            'finfo_open',
-            'finfo_set_flags',
-            'fopen',
-            'fsockopen',
-            'ftp_alloc',
-            'ftp_cdup',
-            'ftp_chdir',
-            'ftp_chmod',
-            'ftp_close',
-            'ftp_connect',
-            'ftp_delete',
-            'ftp_exec',
-            'ftp_fget',
-            'ftp_fput',
-            'ftp_get',
-            'ftp_get_option',
-            'ftp_login',
-            'ftp_mdtm',
-            'ftp_mkdir',
-            'ftp_nb_continue',
-            'ftp_nb_fget',
-            'ftp_nb_fput',
-            'ftp_nb_get',
-            'ftp_nb_put',
-            'ftp_nlist',
-            'ftp_pasv',
-            'ftp_put',
-            'ftp_pwd',
-            'ftp_raw',
-            'ftp_rawlist',
-            'ftp_rename',
-            'ftp_rmdir',
-            'ftp_set_option',
-            'ftp_site',
-            'ftp_size',
-            'ftp_ssl_connect',
-            'ftp_systype',
-            'gnupg_init',
-            'gupnp_context_new',
-            'gupnp_control_point_new',
-            'gupnp_device_info_get_service',
-            'gupnp_root_device_new',
-            'gzopen',
-            'hash_copy',
-            'hash_final',
-            'hash_init',
-            'hash_update',
-            'hash_update_file',
-            'hash_update_stream',
-            'http_get_request_body_stream',
-            'ibase_blob_create',
-            'ibase_blob_open',
-            'ibase_blob_open 1',
-            'ibase_connect',
-            'ibase_pconnect',
-            'ibase_prepare',
-            'ibase_service_attach',
-            'ibase_set_event_handler',
-            'ibase_set_event_handler 1',
-            'ibase_trans',
-            'ifx_connect',
-            'ifx_pconnect',
-            'ifx_prepare',
-            'ifx_query',
-            'imageaffine',
-            'imageconvolution',
-            'imagecreate',
-            'imagecreatefromgd',
-            'imagecreatefromgd2',
-            'imagecreatefromgd2part',
-            'imagecreatefromgif',
-            'imagecreatefromjpeg',
-            'imagecreatefrompng',
-            'imagecreatefromstring',
-            'imagecreatefromwbmp',
-            'imagecreatefromwebp',
-            'imagecreatefromxbm',
-            'imagecreatefromxpm',
-            'imagecreatetruecolor',
-            'imagegrabscreen',
-            'imagegrabwindow',
-            'imagepalettetotruecolor',
-            'imagepsloadfont',
-            'imagerotate',
-            'imagescale',
-            'imap_open',
-            'inflate_init',
-            'ingres_connect',
-            'ingres_pconnect',
-            'inotify_init',
-            'kadm5_init_with_password',
-            'ldap_connect',
-            'ldap_first_entry',
-            'ldap_first_reference',
-            'ldap_list',
-            'ldap_next_entry',
-            'ldap_next_reference',
-            'ldap_read',
-            'ldap_search',
-            'm_initconn',
-            'mailparse_msg_create',
-            'mailparse_msg_get_part',
-            'mailparse_msg_parse_file',
-            'maxdb::use_result',
-            'maxdb_connect',
-            'maxdb_embedded_connect',
-            'maxdb_init',
-            'maxdb_stmt::result_metadata',
-            'maxdb_stmt_result_metadata',
-            'maxdb_use_result',
-            'mcrypt_module_open',
-            'msg_get_queue',
-            'msql_connect',
-            'msql_db_query',
-            'msql_list_dbs',
-            'msql_list_fields',
-            'msql_list_tables',
-            'msql_pconnect',
-            'msql_query',
-            'mssql_connect',
-            'mssql_init',
-            'mssql_pconnect',
-            'mysql_connect',
-            'mysql_db_query',
-            'mysql_list_dbs',
-            'mysql_list_fields',
-            'mysql_list_processes',
-            'mysql_list_tables',
-            'mysql_pconnect',
-            'mysql_query',
-            'mysql_unbuffered_query',
-            'mysqlnd_uh_convert_to_mysqlnd',
-            'ncurses_new_panel',
-            'ncurses_newpad',
-            'ncurses_newwin',
-            'ncurses_panel_above',
-            'ncurses_panel_below',
-            'ncurses_panel_window',
-            'newt_button',
-            'newt_button_bar',
-            'newt_checkbox',
-            'newt_checkbox_tree',
-            'newt_checkbox_tree_multi',
-            'newt_compact_button',
-            'newt_create_grid',
-            'newt_entry',
-            'newt_form',
-            'newt_form_get_current',
-            'newt_grid_basic_window',
-            'newt_grid_h_close_stacked',
-            'newt_grid_h_stacked',
-            'newt_grid_simple_window',
-            'newt_grid_v_close_stacked',
-            'newt_grid_v_stacked',
-            'newt_label',
-            'newt_listbox',
-            'newt_listitem',
-            'newt_radio_get_current',
-            'newt_radiobutton',
-            'newt_run_form',
-            'newt_scale',
-            'newt_textbox',
-            'newt_textbox_reflowed',
-            'newt_vertical_scrollbar',
-            'oci_connect',
-            'oci_get_implicit_resultset',
-            'oci_new_connect',
-            'oci_new_cursor',
-            'oci_parse',
-            'oci_pconnect',
-            'odbc_columnprivileges',
-            'odbc_columns',
-            'odbc_connect',
-            'odbc_exec',
-            'odbc_foreignkeys',
-            'odbc_gettypeinfo',
-            'odbc_pconnect',
-            'odbc_prepare',
-            'odbc_primarykeys',
-            'odbc_procedurecolumns',
-            'odbc_procedures',
-            'odbc_specialcolumns',
-            'odbc_statistics',
-            'odbc_tableprivileges',
-            'odbc_tables',
-            'openal_buffer_create',
-            'openal_context_create',
-            'openal_device_open',
-            'openal_source_create',
-            'openal_stream',
-            'openssl_csr_new',
-            'openssl_csr_sign',
-            'openssl_pkey_get_private',
-            'openssl_pkey_get_public',
-            'openssl_pkey_new',
-            'openssl_x509_read',
-            'pfsockopen',
-            'pg_cancel_query',
-            'pg_client_encoding',
-            'pg_close',
-            'pg_connect',
-            'pg_connect_poll',
-            'pg_connection_busy',
-            'pg_connection_reset',
-            'pg_connection_status',
-            'pg_consume_input',
-            'pg_copy_from',
-            'pg_copy_to',
-            'pg_dbname',
-            'pg_end_copy',
-            'pg_escape_bytea',
-            'pg_escape_identifier',
-            'pg_escape_identifier 1',
-            'pg_escape_literal',
-            'pg_escape_string',
-            'pg_execute',
-            'pg_execute 1',
-            'pg_flush',
-            'pg_free_result',
-            'pg_get_notify',
-            'pg_get_pid',
-            'pg_get_result',
-            'pg_host',
-            'pg_last_error',
-            'pg_last_notice',
-            'pg_lo_create',
-            'pg_lo_export',
-            'pg_lo_import',
-            'pg_lo_open',
-            'pg_lo_unlink',
-            'pg_options',
-            'pg_parameter_status',
-            'pg_pconnect',
-            'pg_ping',
-            'pg_port',
-            'pg_prepare',
-            'pg_prepare 1',
-            'pg_put_line',
-            'pg_query',
-            'pg_query 1',
-            'pg_query_params',
-            'pg_query_params 1',
-            'pg_send_execute',
-            'pg_send_prepare',
-            'pg_send_query',
-            'pg_send_query_params',
-            'pg_set_client_encoding',
-            'pg_set_client_encoding 1',
-            'pg_set_error_verbosity',
-            'pg_socket',
-            'pg_trace',
-            'pg_transaction_status',
-            'pg_tty',
-            'pg_untrace',
-            'pg_version',
-            'php_user_filter::filter',
-            'popen',
-            'proc_open',
-            'ps_new',
-            'px_new',
-            'radius_acct_open',
-            'radius_auth_open',
-            'radius_salt_encrypt_attr',
-            'rpm_open',
-            'sem_get',
-            'shm_attach',
-            'socket_accept',
-            'socket_create',
-            'socket_create_listen',
-            'socket_recvmsg',
-            'socket_sendmsg',
-            'sqlite_open',
-            'sqlite_popen',
-            'sqlsrv_begin_transaction',
-            'sqlsrv_cancel',
-            'sqlsrv_client_info',
-            'sqlsrv_close',
-            'sqlsrv_commit',
-            'sqlsrv_connect',
-            'sqlsrv_execute',
-            'sqlsrv_fetch',
-            'sqlsrv_fetch_array',
-            'sqlsrv_fetch_object',
-            'sqlsrv_field_metadata',
-            'sqlsrv_free_stmt',
-            'sqlsrv_get_field',
-            'sqlsrv_has_rows',
-            'sqlsrv_next_result',
-            'sqlsrv_num_fields',
-            'sqlsrv_num_rows',
-            'sqlsrv_prepare',
-            'sqlsrv_query',
-            'sqlsrv_rollback',
-            'sqlsrv_rows_affected',
-            'sqlsrv_send_stream_data',
-            'sqlsrv_server_info',
-            'ssh2_auth_agent',
-            'ssh2_connect',
-            'ssh2_exec',
-            'ssh2_fetch_stream',
-            'ssh2_publickey_init',
-            'ssh2_sftp',
-            'ssh2_sftp_chmod',
-            'ssh2_shell',
-            'ssh2_tunnel',
-            'stomp_connect',
-            'streamWrapper::stream_cast',
-            'stream_bucket_new',
-            'stream_context_create',
-            'stream_context_get_default',
-            'stream_context_set_default',
-            'stream_filter_append',
-            'stream_filter_prepend',
-            'stream_socket_accept',
-            'stream_socket_client',
-            'stream_socket_server',
-            'svn_fs_apply_text',
-            'svn_fs_begin_txn2',
-            'svn_fs_file_contents',
-            'svn_fs_revision_root',
-            'svn_fs_txn_root',
-            'svn_repos_create',
-            'svn_repos_fs',
-            'svn_repos_fs_begin_txn_for_commit',
-            'svn_repos_open',
-            'sybase_connect',
-            'sybase_pconnect',
-            'sybase_unbuffered_query',
-            'tmpfile',
-            'udm_alloc_agent',
-            'udm_alloc_agent_array',
-            'udm_find',
-            'unlink',
-            'w32api_init_dtype',
-            'wddx_packet_start',
-            'xml_parser_create',
-            'xml_parser_create_ns',
-            'xml_parser_free',
-            'xml_parser_get_option',
-            'xml_parser_set_option',
-            'xmlrpc_server_create',
-            'xmlwriter_open_memory',
-            'xmlwriter_open_uri',
-            'xslt_create',
-            'zip_open',
-            'zip_read',
-        ];
-    }
-}
-GlobalState
-
-Copyright (c) 2001-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use ReflectionClass;
-
-/**
- * A blacklist for global state elements that should not be snapshotted.
- */
-class Blacklist
-{
-    /**
-     * @var array
-     */
-    private $globalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $classes = array();
-
-    /**
-     * @var array
-     */
-    private $classNamePrefixes = array();
-
-    /**
-     * @var array
-     */
-    private $parentClasses = array();
-
-    /**
-     * @var array
-     */
-    private $interfaces = array();
-
-    /**
-     * @var array
-     */
-    private $staticAttributes = array();
-
-    /**
-     * @param string $variableName
-     */
-    public function addGlobalVariable($variableName)
-    {
-        $this->globalVariables[$variableName] = true;
-    }
-
-    /**
-     * @param string $className
-     */
-    public function addClass($className)
-    {
-        $this->classes[] = $className;
-    }
-
-    /**
-     * @param string $className
-     */
-    public function addSubclassesOf($className)
-    {
-        $this->parentClasses[] = $className;
-    }
-
-    /**
-     * @param string $interfaceName
-     */
-    public function addImplementorsOf($interfaceName)
-    {
-        $this->interfaces[] = $interfaceName;
-    }
-
-    /**
-     * @param string $classNamePrefix
-     */
-    public function addClassNamePrefix($classNamePrefix)
-    {
-        $this->classNamePrefixes[] = $classNamePrefix;
-    }
-
-    /**
-     * @param string $className
-     * @param string $attributeName
-     */
-    public function addStaticAttribute($className, $attributeName)
-    {
-        if (!isset($this->staticAttributes[$className])) {
-            $this->staticAttributes[$className] = array();
-        }
-
-        $this->staticAttributes[$className][$attributeName] = true;
-    }
-
-    /**
-     * @param  string $variableName
-     * @return bool
-     */
-    public function isGlobalVariableBlacklisted($variableName)
-    {
-        return isset($this->globalVariables[$variableName]);
-    }
-
-    /**
-     * @param  string $className
-     * @param  string $attributeName
-     * @return bool
-     */
-    public function isStaticAttributeBlacklisted($className, $attributeName)
-    {
-        if (in_array($className, $this->classes)) {
-            return true;
-        }
-
-        foreach ($this->classNamePrefixes as $prefix) {
-            if (strpos($className, $prefix) === 0) {
-                return true;
-            }
-        }
-
-        $class = new ReflectionClass($className);
-
-        foreach ($this->parentClasses as $type) {
-            if ($class->isSubclassOf($type)) {
-                return true;
-            }
-        }
-
-        foreach ($this->interfaces as $type) {
-            if ($class->implementsInterface($type)) {
-                return true;
-            }
-        }
-
-        if (isset($this->staticAttributes[$className][$attributeName])) {
-            return true;
-        }
-
-        return false;
-    }
-}
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-/**
- * Exports parts of a Snapshot as PHP code.
- */
-class CodeExporter
-{
-    /**
-     * @param  Snapshot $snapshot
-     * @return string
-     */
-    public function constants(Snapshot $snapshot)
-    {
-        $result = '';
-
-        foreach ($snapshot->constants() as $name => $value) {
-            $result .= sprintf(
-                'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n",
-                $name,
-                $name,
-                $this->exportVariable($value)
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param  Snapshot $snapshot
-     * @return string
-     */
-    public function iniSettings(Snapshot $snapshot)
-    {
-        $result = '';
-
-        foreach ($snapshot->iniSettings() as $key => $value) {
-            $result .= sprintf(
-                '@ini_set(%s, %s);' . "\n",
-                $this->exportVariable($key),
-                $this->exportVariable($value)
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param  mixed  $variable
-     * @return string
-     */
-    private function exportVariable($variable)
-    {
-        if (is_scalar($variable) || is_null($variable) ||
-            (is_array($variable) && $this->arrayOnlyContainsScalars($variable))) {
-            return var_export($variable, true);
-        }
-
-        return 'unserialize(' . var_export(serialize($variable), true) . ')';
-    }
-
-    /**
-     * @param  array $array
-     * @return bool
-     */
-    private function arrayOnlyContainsScalars(array $array)
-    {
-        $result = true;
-
-        foreach ($array as $element) {
-            if (is_array($element)) {
-                $result = self::arrayOnlyContainsScalars($element);
-            } elseif (!is_scalar($element) && !is_null($element)) {
-                $result = false;
-            }
-
-            if ($result === false) {
-                break;
-            }
-        }
-
-        return $result;
-    }
-}
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-/**
- */
-interface Exception
-{
-}
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use ReflectionProperty;
-
-/**
- * Restorer of snapshots of global state.
- */
-class Restorer
-{
-    /**
-     * Deletes function definitions that are not defined in a snapshot.
-     *
-     * @param  Snapshot         $snapshot
-     * @throws RuntimeException when the uopz_delete() function is not available
-     * @see    https://github.com/krakjoe/uopz
-     */
-    public function restoreFunctions(Snapshot $snapshot)
-    {
-        if (!function_exists('uopz_delete')) {
-            throw new RuntimeException('The uopz_delete() function is required for this operation');
-        }
-
-        $functions = get_defined_functions();
-
-        foreach (array_diff($functions['user'], $snapshot->functions()) as $function) {
-            uopz_delete($function);
-        }
-    }
-
-    /**
-     * Restores all global and super-global variables from a snapshot.
-     *
-     * @param Snapshot $snapshot
-     */
-    public function restoreGlobalVariables(Snapshot $snapshot)
-    {
-        $superGlobalArrays = $snapshot->superGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            $this->restoreSuperGlobalArray($snapshot, $superGlobalArray);
-        }
-
-        $globalVariables = $snapshot->globalVariables();
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if ($key != 'GLOBALS' &&
-                !in_array($key, $superGlobalArrays) &&
-                !$snapshot->blacklist()->isGlobalVariableBlacklisted($key)) {
-                if (isset($globalVariables[$key])) {
-                    $GLOBALS[$key] = $globalVariables[$key];
-                } else {
-                    unset($GLOBALS[$key]);
-                }
-            }
-        }
-    }
-
-    /**
-     * Restores all static attributes in user-defined classes from this snapshot.
-     *
-     * @param Snapshot $snapshot
-     */
-    public function restoreStaticAttributes(Snapshot $snapshot)
-    {
-        $current    = new Snapshot($snapshot->blacklist(), false, false, false, false, true, false, false, false, false);
-        $newClasses = array_diff($current->classes(), $snapshot->classes());
-        unset($current);
-
-        foreach ($snapshot->staticAttributes() as $className => $staticAttributes) {
-            foreach ($staticAttributes as $name => $value) {
-                $reflector = new ReflectionProperty($className, $name);
-                $reflector->setAccessible(true);
-                $reflector->setValue($value);
-            }
-        }
-
-        foreach ($newClasses as $className) {
-            $class    = new \ReflectionClass($className);
-            $defaults = $class->getDefaultProperties();
-
-            foreach ($class->getProperties() as $attribute) {
-                if (!$attribute->isStatic()) {
-                    continue;
-                }
-
-                $name = $attribute->getName();
-
-                if ($snapshot->blacklist()->isStaticAttributeBlacklisted($className, $name)) {
-                    continue;
-                }
-
-                if (!isset($defaults[$name])) {
-                    continue;
-                }
-
-                $attribute->setAccessible(true);
-                $attribute->setValue($defaults[$name]);
-            }
-        }
-    }
-
-    /**
-     * Restores a super-global variable array from this snapshot.
-     *
-     * @param Snapshot $snapshot
-     * @param $superGlobalArray
-     */
-    private function restoreSuperGlobalArray(Snapshot $snapshot, $superGlobalArray)
-    {
-        $superGlobalVariables = $snapshot->superGlobalVariables();
-
-        if (isset($GLOBALS[$superGlobalArray]) &&
-            is_array($GLOBALS[$superGlobalArray]) &&
-            isset($superGlobalVariables[$superGlobalArray])) {
-            $keys = array_keys(
-                array_merge(
-                    $GLOBALS[$superGlobalArray],
-                    $superGlobalVariables[$superGlobalArray]
-                )
-            );
-
-            foreach ($keys as $key) {
-                if (isset($superGlobalVariables[$superGlobalArray][$key])) {
-                    $GLOBALS[$superGlobalArray][$key] = $superGlobalVariables[$superGlobalArray][$key];
-                } else {
-                    unset($GLOBALS[$superGlobalArray][$key]);
-                }
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-/**
- */
-class RuntimeException extends \RuntimeException implements Exception
-{
-}
-<?php
-/*
- * This file is part of the GlobalState package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\GlobalState;
-
-use ReflectionClass;
-use Serializable;
-
-/**
- * A snapshot of global state.
- */
-class Snapshot
-{
-    /**
-     * @var Blacklist
-     */
-    private $blacklist;
-
-    /**
-     * @var array
-     */
-    private $globalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $superGlobalArrays = array();
-
-    /**
-     * @var array
-     */
-    private $superGlobalVariables = array();
-
-    /**
-     * @var array
-     */
-    private $staticAttributes = array();
-
-    /**
-     * @var array
-     */
-    private $iniSettings = array();
-
-    /**
-     * @var array
-     */
-    private $includedFiles = array();
-
-    /**
-     * @var array
-     */
-    private $constants = array();
-
-    /**
-     * @var array
-     */
-    private $functions = array();
-
-    /**
-     * @var array
-     */
-    private $interfaces = array();
-
-    /**
-     * @var array
-     */
-    private $classes = array();
-
-    /**
-     * @var array
-     */
-    private $traits = array();
-
-    /**
-     * Creates a snapshot of the current global state.
-     *
-     * @param Blacklist $blacklist
-     * @param bool      $includeGlobalVariables
-     * @param bool      $includeStaticAttributes
-     * @param bool      $includeConstants
-     * @param bool      $includeFunctions
-     * @param bool      $includeClasses
-     * @param bool      $includeInterfaces
-     * @param bool      $includeTraits
-     * @param bool      $includeIniSettings
-     * @param bool      $includeIncludedFiles
-     */
-    public function __construct(Blacklist $blacklist = null, $includeGlobalVariables = true, $includeStaticAttributes = true, $includeConstants = true, $includeFunctions = true, $includeClasses = true, $includeInterfaces = true, $includeTraits = true, $includeIniSettings = true, $includeIncludedFiles = true)
-    {
-        if ($blacklist === null) {
-            $blacklist = new Blacklist;
-        }
-
-        $this->blacklist = $blacklist;
-
-        if ($includeConstants) {
-            $this->snapshotConstants();
-        }
-
-        if ($includeFunctions) {
-            $this->snapshotFunctions();
-        }
-
-        if ($includeClasses || $includeStaticAttributes) {
-            $this->snapshotClasses();
-        }
-
-        if ($includeInterfaces) {
-            $this->snapshotInterfaces();
-        }
-
-        if ($includeGlobalVariables) {
-            $this->setupSuperGlobalArrays();
-            $this->snapshotGlobals();
-        }
-
-        if ($includeStaticAttributes) {
-            $this->snapshotStaticAttributes();
-        }
-
-        if ($includeIniSettings) {
-            $this->iniSettings = ini_get_all(null, false);
-        }
-
-        if ($includeIncludedFiles) {
-            $this->includedFiles = get_included_files();
-        }
-
-        if (function_exists('get_declared_traits')) {
-            $this->traits = get_declared_traits();
-        }
-    }
-
-    /**
-     * @return Blacklist
-     */
-    public function blacklist()
-    {
-        return $this->blacklist;
-    }
-
-    /**
-     * @return array
-     */
-    public function globalVariables()
-    {
-        return $this->globalVariables;
-    }
-
-    /**
-     * @return array
-     */
-    public function superGlobalVariables()
-    {
-        return $this->superGlobalVariables;
-    }
-
-    /**
-     * Returns a list of all super-global variable arrays.
-     *
-     * @return array
-     */
-    public function superGlobalArrays()
-    {
-        return $this->superGlobalArrays;
-    }
-
-    /**
-     * @return array
-     */
-    public function staticAttributes()
-    {
-        return $this->staticAttributes;
-    }
-
-    /**
-     * @return array
-     */
-    public function iniSettings()
-    {
-        return $this->iniSettings;
-    }
-
-    /**
-     * @return array
-     */
-    public function includedFiles()
-    {
-        return $this->includedFiles;
-    }
-
-    /**
-     * @return array
-     */
-    public function constants()
-    {
-        return $this->constants;
-    }
-
-    /**
-     * @return array
-     */
-    public function functions()
-    {
-        return $this->functions;
-    }
-
-    /**
-     * @return array
-     */
-    public function interfaces()
-    {
-        return $this->interfaces;
-    }
-
-    /**
-     * @return array
-     */
-    public function classes()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * @return array
-     */
-    public function traits()
-    {
-        return $this->traits;
-    }
-
-    /**
-     * Creates a snapshot user-defined constants.
-     */
-    private function snapshotConstants()
-    {
-        $constants = get_defined_constants(true);
-
-        if (isset($constants['user'])) {
-            $this->constants = $constants['user'];
-        }
-    }
-
-    /**
-     * Creates a snapshot user-defined functions.
-     */
-    private function snapshotFunctions()
-    {
-        $functions = get_defined_functions();
-
-        $this->functions = $functions['user'];
-    }
-
-    /**
-     * Creates a snapshot user-defined classes.
-     */
-    private function snapshotClasses()
-    {
-        foreach (array_reverse(get_declared_classes()) as $className) {
-            $class = new ReflectionClass($className);
-
-            if (!$class->isUserDefined()) {
-                break;
-            }
-
-            $this->classes[] = $className;
-        }
-
-        $this->classes = array_reverse($this->classes);
-    }
-
-    /**
-     * Creates a snapshot user-defined interfaces.
-     */
-    private function snapshotInterfaces()
-    {
-        foreach (array_reverse(get_declared_interfaces()) as $interfaceName) {
-            $class = new ReflectionClass($interfaceName);
-
-            if (!$class->isUserDefined()) {
-                break;
-            }
-
-            $this->interfaces[] = $interfaceName;
-        }
-
-        $this->interfaces = array_reverse($this->interfaces);
-    }
-
-    /**
-     * Creates a snapshot of all global and super-global variables.
-     */
-    private function snapshotGlobals()
-    {
-        $superGlobalArrays = $this->superGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            $this->snapshotSuperGlobalArray($superGlobalArray);
-        }
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if ($key != 'GLOBALS' &&
-                !in_array($key, $superGlobalArrays) &&
-                $this->canBeSerialized($GLOBALS[$key]) &&
-                !$this->blacklist->isGlobalVariableBlacklisted($key)) {
-                $this->globalVariables[$key] = unserialize(serialize($GLOBALS[$key]));
-            }
-        }
-    }
-
-    /**
-     * Creates a snapshot a super-global variable array.
-     *
-     * @param $superGlobalArray
-     */
-    private function snapshotSuperGlobalArray($superGlobalArray)
-    {
-        $this->superGlobalVariables[$superGlobalArray] = array();
-
-        if (isset($GLOBALS[$superGlobalArray]) && is_array($GLOBALS[$superGlobalArray])) {
-            foreach ($GLOBALS[$superGlobalArray] as $key => $value) {
-                $this->superGlobalVariables[$superGlobalArray][$key] = unserialize(serialize($value));
-            }
-        }
-    }
-
-    /**
-     * Creates a snapshot of all static attributes in user-defined classes.
-     */
-    private function snapshotStaticAttributes()
-    {
-        foreach ($this->classes as $className) {
-            $class    = new ReflectionClass($className);
-            $snapshot = array();
-
-            foreach ($class->getProperties() as $attribute) {
-                if ($attribute->isStatic()) {
-                    $name = $attribute->getName();
-
-                    if ($this->blacklist->isStaticAttributeBlacklisted($className, $name)) {
-                        continue;
-                    }
-
-                    $attribute->setAccessible(true);
-                    $value = $attribute->getValue();
-
-                    if ($this->canBeSerialized($value)) {
-                        $snapshot[$name] = unserialize(serialize($value));
-                    }
-                }
-            }
-
-            if (!empty($snapshot)) {
-                $this->staticAttributes[$className] = $snapshot;
-            }
-        }
-    }
-
-    /**
-     * Returns a list of all super-global variable arrays.
-     *
-     * @return array
-     */
-    private function setupSuperGlobalArrays()
-    {
-        $this->superGlobalArrays = array(
-            '_ENV',
-            '_POST',
-            '_GET',
-            '_COOKIE',
-            '_SERVER',
-            '_FILES',
-            '_REQUEST'
-        );
-
-        if (ini_get('register_long_arrays') == '1') {
-            $this->superGlobalArrays = array_merge(
-                $this->superGlobalArrays,
-                array(
-                    'HTTP_ENV_VARS',
-                    'HTTP_POST_VARS',
-                    'HTTP_GET_VARS',
-                    'HTTP_COOKIE_VARS',
-                    'HTTP_SERVER_VARS',
-                    'HTTP_POST_FILES'
-                )
-            );
-        }
-    }
-
-    /**
-     * @param  mixed $variable
-     * @return bool
-     * @todo   Implement this properly
-     */
-    private function canBeSerialized($variable)
-    {
-        if (!is_object($variable)) {
-            return !is_resource($variable);
-        }
-
-        if ($variable instanceof \stdClass) {
-            return true;
-        }
-
-        $class = new ReflectionClass($variable);
-
-        do {
-            if ($class->isInternal()) {
-                return $variable instanceof Serializable;
-            }
-        } while ($class = $class->getParentClass());
-
-        return true;
-    }
-}
-Object Enumerator
-
-Copyright (c) 2016, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of Object Enumerator.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\ObjectEnumerator;
-
-use SebastianBergmann\RecursionContext\Context;
-
-/**
- * Traverses array structures and object graphs
- * to enumerate all referenced objects.
- */
-class Enumerator
-{
-    /**
-     * Returns an array of all objects referenced either
-     * directly or indirectly by a variable.
-     *
-     * @param array|object $variable
-     *
-     * @return object[]
-     */
-    public function enumerate($variable)
-    {
-        if (!is_array($variable) && !is_object($variable)) {
-            throw new InvalidArgumentException;
-        }
-
-        if (isset(func_get_args()[1])) {
-            if (!func_get_args()[1] instanceof Context) {
-                throw new InvalidArgumentException;
-            }
-
-            $processed = func_get_args()[1];
-        } else {
-            $processed = new Context;
-        }
-
-        $objects = [];
-
-        if ($processed->contains($variable)) {
-            return $objects;
-        }
-
-        $processed->add($variable);
-
-        if (is_array($variable)) {
-            foreach ($variable as $element) {
-                if (!is_array($element) && !is_object($element)) {
-                    continue;
-                }
-
-                $objects = array_merge(
-                    $objects,
-                    $this->enumerate($element, $processed)
-                );
-            }
-        } else {
-            $objects[] = $variable;
-            $reflector = new \ReflectionObject($variable);
-
-            foreach ($reflector->getProperties() as $attribute) {
-                $attribute->setAccessible(true);
-
-                $value = $attribute->getValue($variable);
-
-                if (!is_array($value) && !is_object($value)) {
-                    continue;
-                }
-
-                $objects = array_merge(
-                    $objects,
-                    $this->enumerate($value, $processed)
-                );
-            }
-        }
-
-        return $objects;
-    }
-}
-<?php
-/*
- * This file is part of Object Enumerator.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\ObjectEnumerator;
-
-interface Exception
-{
-}
-<?php
-/*
- * This file is part of Object Enumerator.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann\ObjectEnumerator;
-
-class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
-Version
-
-Copyright (c) 2013-2015, Sebastian Bergmann <sebastian@phpunit.de>.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
- * Neither the name of Sebastian Bergmann nor the names of his
-   contributors may be used to endorse or promote products derived
-   from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-<?php
-/*
- * This file is part of the Version package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace SebastianBergmann;
-
-/**
- * @since Class available since Release 1.0.0
- */
-class Version
-{
-    /**
-     * @var string
-     */
-    private $path;
-
-    /**
-     * @var string
-     */
-    private $release;
-
-    /**
-     * @var string
-     */
-    private $version;
-
-    /**
-     * @param string $release
-     * @param string $path
-     */
-    public function __construct($release, $path)
-    {
-        $this->release = $release;
-        $this->path    = $path;
-    }
-
-    /**
-     * @return string
-     */
-    public function getVersion()
-    {
-        if ($this->version === null) {
-            if (count(explode('.', $this->release)) == 3) {
-                $this->version = $this->release;
-            } else {
-                $this->version = $this->release . '-dev';
-            }
-
-            $git = $this->getGitInformation($this->path);
-
-            if ($git) {
-                if (count(explode('.', $this->release)) == 3) {
-                    $this->version = $git;
-                } else {
-                    $git = explode('-', $git);
-
-                    $this->version = $this->release . '-' . end($git);
-                }
-            }
-        }
-
-        return $this->version;
-    }
-
-    /**
-     * @param string $path
-     *
-     * @return bool|string
-     */
-    private function getGitInformation($path)
-    {
-        if (!is_dir($path . DIRECTORY_SEPARATOR . '.git')) {
-            return false;
-        }
-
-        $process = proc_open(
-            'git describe --tags',
-            [
-                1 => ['pipe', 'w'],
-                2 => ['pipe', 'w'],
-            ],
-            $pipes,
-            $path
-        );
-
-        if (!is_resource($process)) {
-            return false;
-        }
-
-        $result = trim(stream_get_contents($pipes[1]));
-
-        fclose($pipes[1]);
-        fclose($pipes[2]);
-
-        $returnCode = proc_close($process);
-
-        if ($returnCode !== 0) {
-            return false;
-        }
-
-        return $result;
-    }
-}
-Copyright (c) 2014 Doctrine Project
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-/**
- * Base exception marker interface for the instantiator component
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface ExceptionInterface
-{
-}
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-use InvalidArgumentException as BaseInvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Exception for invalid arguments provided to the instantiator
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
-{
-    /**
-     * @param string $className
-     *
-     * @return self
-     */
-    public static function fromNonExistingClass($className)
-    {
-        if (interface_exists($className)) {
-            return new self(sprintf('The provided type "%s" is an interface, and can not be instantiated', $className));
-        }
-
-        if (PHP_VERSION_ID >= 50400 && trait_exists($className)) {
-            return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className));
-        }
-
-        return new self(sprintf('The provided class "%s" does not exist', $className));
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return self
-     */
-    public static function fromAbstractClass(ReflectionClass $reflectionClass)
-    {
-        return new self(sprintf(
-            'The provided class "%s" is abstract, and can not be instantiated',
-            $reflectionClass->getName()
-        ));
-    }
-}
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator\Exception;
-
-use Exception;
-use ReflectionClass;
-use UnexpectedValueException as BaseUnexpectedValueException;
-
-/**
- * Exception for given parameters causing invalid/unexpected state on instantiation
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-class UnexpectedValueException extends BaseUnexpectedValueException implements ExceptionInterface
-{
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param Exception       $exception
-     *
-     * @return self
-     */
-    public static function fromSerializationTriggeredException(ReflectionClass $reflectionClass, Exception $exception)
-    {
-        return new self(
-            sprintf(
-                'An exception was raised while trying to instantiate an instance of "%s" via un-serialization',
-                $reflectionClass->getName()
-            ),
-            0,
-            $exception
-        );
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param string          $errorString
-     * @param int             $errorCode
-     * @param string          $errorFile
-     * @param int             $errorLine
-     *
-     * @return UnexpectedValueException
-     */
-    public static function fromUncleanUnSerialization(
-        ReflectionClass $reflectionClass,
-        $errorString,
-        $errorCode,
-        $errorFile,
-        $errorLine
-    ) {
-        return new self(
-            sprintf(
-                'Could not produce an instance of "%s" via un-serialization, since an error was triggered '
-                . 'in file "%s" at line "%d"',
-                $reflectionClass->getName(),
-                $errorFile,
-                $errorLine
-            ),
-            0,
-            new Exception($errorString, $errorCode)
-        );
-    }
-}
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator;
-
-use Closure;
-use Doctrine\Instantiator\Exception\InvalidArgumentException;
-use Doctrine\Instantiator\Exception\UnexpectedValueException;
-use Exception;
-use ReflectionClass;
-
-/**
- * {@inheritDoc}
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-final class Instantiator implements InstantiatorInterface
-{
-    /**
-     * Markers used internally by PHP to define whether {@see \unserialize} should invoke
-     * the method {@see \Serializable::unserialize()} when dealing with classes implementing
-     * the {@see \Serializable} interface.
-     */
-    const SERIALIZATION_FORMAT_USE_UNSERIALIZER   = 'C';
-    const SERIALIZATION_FORMAT_AVOID_UNSERIALIZER = 'O';
-
-    /**
-     * @var \Closure[] of {@see \Closure} instances used to instantiate specific classes
-     */
-    private static $cachedInstantiators = array();
-
-    /**
-     * @var object[] of objects that can directly be cloned
-     */
-    private static $cachedCloneables = array();
-
-    /**
-     * {@inheritDoc}
-     */
-    public function instantiate($className)
-    {
-        if (isset(self::$cachedCloneables[$className])) {
-            return clone self::$cachedCloneables[$className];
-        }
-
-        if (isset(self::$cachedInstantiators[$className])) {
-            $factory = self::$cachedInstantiators[$className];
-
-            return $factory();
-        }
-
-        return $this->buildAndCacheFromFactory($className);
-    }
-
-    /**
-     * Builds the requested object and caches it in static properties for performance
-     *
-     * @param string $className
-     *
-     * @return object
-     */
-    private function buildAndCacheFromFactory($className)
-    {
-        $factory  = self::$cachedInstantiators[$className] = $this->buildFactory($className);
-        $instance = $factory();
-
-        if ($this->isSafeToClone(new ReflectionClass($instance))) {
-            self::$cachedCloneables[$className] = clone $instance;
-        }
-
-        return $instance;
-    }
-
-    /**
-     * Builds a {@see \Closure} capable of instantiating the given $className without
-     * invoking its constructor.
-     *
-     * @param string $className
-     *
-     * @return Closure
-     */
-    private function buildFactory($className)
-    {
-        $reflectionClass = $this->getReflectionClass($className);
-
-        if ($this->isInstantiableViaReflection($reflectionClass)) {
-            return function () use ($reflectionClass) {
-                return $reflectionClass->newInstanceWithoutConstructor();
-            };
-        }
-
-        $serializedString = sprintf(
-            '%s:%d:"%s":0:{}',
-            $this->getSerializationFormat($reflectionClass),
-            strlen($className),
-            $className
-        );
-
-        $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString);
-
-        return function () use ($serializedString) {
-            return unserialize($serializedString);
-        };
-    }
-
-    /**
-     * @param string $className
-     *
-     * @return ReflectionClass
-     *
-     * @throws InvalidArgumentException
-     */
-    private function getReflectionClass($className)
-    {
-        if (! class_exists($className)) {
-            throw InvalidArgumentException::fromNonExistingClass($className);
-        }
-
-        $reflection = new ReflectionClass($className);
-
-        if ($reflection->isAbstract()) {
-            throw InvalidArgumentException::fromAbstractClass($reflection);
-        }
-
-        return $reflection;
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param string          $serializedString
-     *
-     * @throws UnexpectedValueException
-     *
-     * @return void
-     */
-    private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, $serializedString)
-    {
-        set_error_handler(function ($code, $message, $file, $line) use ($reflectionClass, & $error) {
-            $error = UnexpectedValueException::fromUncleanUnSerialization(
-                $reflectionClass,
-                $message,
-                $code,
-                $file,
-                $line
-            );
-        });
-
-        $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString);
-
-        restore_error_handler();
-
-        if ($error) {
-            throw $error;
-        }
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     * @param string          $serializedString
-     *
-     * @throws UnexpectedValueException
-     *
-     * @return void
-     */
-    private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, $serializedString)
-    {
-        try {
-            unserialize($serializedString);
-        } catch (Exception $exception) {
-            restore_error_handler();
-
-            throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception);
-        }
-    }
-
-    /**
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return bool
-     */
-    private function isInstantiableViaReflection(ReflectionClass $reflectionClass)
-    {
-        if (\PHP_VERSION_ID >= 50600) {
-            return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal());
-        }
-
-        return \PHP_VERSION_ID >= 50400 && ! $this->hasInternalAncestors($reflectionClass);
-    }
-
-    /**
-     * Verifies whether the given class is to be considered internal
-     *
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return bool
-     */
-    private function hasInternalAncestors(ReflectionClass $reflectionClass)
-    {
-        do {
-            if ($reflectionClass->isInternal()) {
-                return true;
-            }
-        } while ($reflectionClass = $reflectionClass->getParentClass());
-
-        return false;
-    }
-
-    /**
-     * Verifies if the given PHP version implements the `Serializable` interface serialization
-     * with an incompatible serialization format. If that's the case, use serialization marker
-     * "C" instead of "O".
-     *
-     * @link http://news.php.net/php.internals/74654
-     *
-     * @param ReflectionClass $reflectionClass
-     *
-     * @return string the serialization format marker, either self::SERIALIZATION_FORMAT_USE_UNSERIALIZER
-     *                or self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER
-     */
-    private function getSerializationFormat(ReflectionClass $reflectionClass)
-    {
-        if ($this->isPhpVersionWithBrokenSerializationFormat()
-            && $reflectionClass->implementsInterface('Serializable')
-        ) {
-            return self::SERIALIZATION_FORMAT_USE_UNSERIALIZER;
-        }
-
-        return self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER;
-    }
-
-    /**
-     * Checks whether the current PHP runtime uses an incompatible serialization format
-     *
-     * @return bool
-     */
-    private function isPhpVersionWithBrokenSerializationFormat()
-    {
-        return PHP_VERSION_ID === 50429 || PHP_VERSION_ID === 50513;
-    }
-
-    /**
-     * Checks if a class is cloneable
-     *
-     * @param ReflectionClass $reflection
-     *
-     * @return bool
-     */
-    private function isSafeToClone(ReflectionClass $reflection)
-    {
-        if (method_exists($reflection, 'isCloneable') && ! $reflection->isCloneable()) {
-            return false;
-        }
-
-        // not cloneable if it implements `__clone`, as we want to avoid calling it
-        return ! $reflection->hasMethod('__clone');
-    }
-}
-<?php
-/*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the MIT license. For more information, see
- * <http://www.doctrine-project.org>.
- */
-
-namespace Doctrine\Instantiator;
-
-/**
- * Instantiator provides utility methods to build objects without invoking their constructors
- *
- * @author Marco Pivetta <ocramius@gmail.com>
- */
-interface InstantiatorInterface
-{
-    /**
-     * @param string $className
-     *
-     * @return object
-     *
-     * @throws \Doctrine\Instantiator\Exception\ExceptionInterface
-     */
-    public function instantiate($className);
-}
-Copyright (c) 2004-2016 Fabien Potencier
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-/**
- * Dumper dumps PHP variables to YAML strings.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Dumper
-{
-    /**
-     * The amount of spaces to use for indentation of nested nodes.
-     *
-     * @var int
-     */
-    protected $indentation;
-
-    /**
-     * @param int $indentation
-     */
-    public function __construct($indentation = 4)
-    {
-        if ($indentation < 1) {
-            throw new \InvalidArgumentException('The indentation must be greater than zero.');
-        }
-
-        $this->indentation = $indentation;
-    }
-
-    /**
-     * Sets the indentation.
-     *
-     * @param int $num The amount of spaces to use for indentation of nested nodes.
-     */
-    public function setIndentation($num)
-    {
-        @trigger_error('The '.__METHOD__.' method is deprecated since version 3.1 and will be removed in 4.0. Pass the indentation to the constructor instead.', E_USER_DEPRECATED);
-
-        $this->indentation = (int) $num;
-    }
-
-    /**
-     * Dumps a PHP value to YAML.
-     *
-     * @param mixed $input  The PHP value
-     * @param int   $inline The level where you switch to inline YAML
-     * @param int   $indent The level of indentation (used internally)
-     * @param int   $flags  A bit field of Yaml::DUMP_* constants to customize the dumped YAML string
-     *
-     * @return string The YAML representation of the PHP value
-     */
-    public function dump($input, $inline = 0, $indent = 0, $flags = 0)
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 5) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::DUMP_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(4)) {
-                $flags |= Yaml::DUMP_OBJECT;
-            }
-        }
-
-        $output = '';
-        $prefix = $indent ? str_repeat(' ', $indent) : '';
-
-        if ($inline <= 0 || !is_array($input) || empty($input)) {
-            $output .= $prefix.Inline::dump($input, $flags);
-        } else {
-            $isAHash = Inline::isHash($input);
-
-            foreach ($input as $key => $value) {
-                if ($inline > 1 && Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && is_string($value) && false !== strpos($value, "\n")) {
-                    $output .= sprintf("%s%s%s |\n", $prefix, $isAHash ? Inline::dump($key, $flags).':' : '-', '');
-
-                    foreach (preg_split('/\n|\r\n/', $value) as $row) {
-                        $output .= sprintf("%s%s%s\n", $prefix, str_repeat(' ', $this->indentation), $row);
-                    }
-
-                    continue;
-                }
-
-                $willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value);
-
-                $output .= sprintf('%s%s%s%s',
-                    $prefix,
-                    $isAHash ? Inline::dump($key, $flags).':' : '-',
-                    $willBeInlined ? ' ' : "\n",
-                    $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation, $flags)
-                ).($willBeInlined ? "\n" : '');
-            }
-        }
-
-        return $output;
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-/**
- * Escaper encapsulates escaping rules for single and double-quoted
- * YAML strings.
- *
- * @author Matthew Lewinski <matthew@lewinski.org>
- *
- * @internal
- */
-class Escaper
-{
-    // Characters that would cause a dumped string to require double quoting.
-    const REGEX_CHARACTER_TO_ESCAPE = "[\\x00-\\x1f]|\xc2\x85|\xc2\xa0|\xe2\x80\xa8|\xe2\x80\xa9";
-
-    // Mapping arrays for escaping a double quoted string. The backslash is
-    // first to ensure proper escaping because str_replace operates iteratively
-    // on the input arrays. This ordering of the characters avoids the use of strtr,
-    // which performs more slowly.
-    private static $escapees = array('\\', '\\\\', '\\"', '"',
-                                     "\x00",  "\x01",  "\x02",  "\x03",  "\x04",  "\x05",  "\x06",  "\x07",
-                                     "\x08",  "\x09",  "\x0a",  "\x0b",  "\x0c",  "\x0d",  "\x0e",  "\x0f",
-                                     "\x10",  "\x11",  "\x12",  "\x13",  "\x14",  "\x15",  "\x16",  "\x17",
-                                     "\x18",  "\x19",  "\x1a",  "\x1b",  "\x1c",  "\x1d",  "\x1e",  "\x1f",
-                                     "\xc2\x85", "\xc2\xa0", "\xe2\x80\xa8", "\xe2\x80\xa9");
-    private static $escaped = array('\\\\', '\\"', '\\\\', '\\"',
-                                     '\\0',   '\\x01', '\\x02', '\\x03', '\\x04', '\\x05', '\\x06', '\\a',
-                                     '\\b',   '\\t',   '\\n',   '\\v',   '\\f',   '\\r',   '\\x0e', '\\x0f',
-                                     '\\x10', '\\x11', '\\x12', '\\x13', '\\x14', '\\x15', '\\x16', '\\x17',
-                                     '\\x18', '\\x19', '\\x1a', '\\e',   '\\x1c', '\\x1d', '\\x1e', '\\x1f',
-                                     '\\N', '\\_', '\\L', '\\P');
-
-    /**
-     * Determines if a PHP value would require double quoting in YAML.
-     *
-     * @param string $value A PHP value
-     *
-     * @return bool True if the value would require double quotes.
-     */
-    public static function requiresDoubleQuoting($value)
-    {
-        return preg_match('/'.self::REGEX_CHARACTER_TO_ESCAPE.'/u', $value);
-    }
-
-    /**
-     * Escapes and surrounds a PHP value with double quotes.
-     *
-     * @param string $value A PHP value
-     *
-     * @return string The quoted, escaped string
-     */
-    public static function escapeWithDoubleQuotes($value)
-    {
-        return sprintf('"%s"', str_replace(self::$escapees, self::$escaped, $value));
-    }
-
-    /**
-     * Determines if a PHP value would require single quoting in YAML.
-     *
-     * @param string $value A PHP value
-     *
-     * @return bool True if the value would require single quotes.
-     */
-    public static function requiresSingleQuoting($value)
-    {
-        // Determines if a PHP value is entirely composed of a value that would
-        // require single quoting in YAML.
-        if (in_array(strtolower($value), array('null', '~', 'true', 'false', 'y', 'n', 'yes', 'no', 'on', 'off'))) {
-            return true;
-        }
-
-        // Determines if the PHP value contains any single characters that would
-        // cause it to require single quoting in YAML.
-        return preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ \- ? | < > = ! % @ ` ]/x', $value);
-    }
-
-    /**
-     * Escapes and surrounds a PHP value with single quotes.
-     *
-     * @param string $value A PHP value
-     *
-     * @return string The quoted, escaped string
-     */
-    public static function escapeWithSingleQuotes($value)
-    {
-        return sprintf("'%s'", str_replace('\'', '\'\'', $value));
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during dumping.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class DumpException extends RuntimeException
-{
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception interface for all exceptions thrown by the component.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface ExceptionInterface
-{
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during parsing.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class ParseException extends RuntimeException
-{
-    private $parsedFile;
-    private $parsedLine;
-    private $snippet;
-    private $rawMessage;
-
-    /**
-     * Constructor.
-     *
-     * @param string     $message    The error message
-     * @param int        $parsedLine The line where the error occurred
-     * @param int        $snippet    The snippet of code near the problem
-     * @param string     $parsedFile The file name where the error occurred
-     * @param \Exception $previous   The previous exception
-     */
-    public function __construct($message, $parsedLine = -1, $snippet = null, $parsedFile = null, \Exception $previous = null)
-    {
-        $this->parsedFile = $parsedFile;
-        $this->parsedLine = $parsedLine;
-        $this->snippet = $snippet;
-        $this->rawMessage = $message;
-
-        $this->updateRepr();
-
-        parent::__construct($this->message, 0, $previous);
-    }
-
-    /**
-     * Gets the snippet of code near the error.
-     *
-     * @return string The snippet of code
-     */
-    public function getSnippet()
-    {
-        return $this->snippet;
-    }
-
-    /**
-     * Sets the snippet of code near the error.
-     *
-     * @param string $snippet The code snippet
-     */
-    public function setSnippet($snippet)
-    {
-        $this->snippet = $snippet;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the filename where the error occurred.
-     *
-     * This method returns null if a string is parsed.
-     *
-     * @return string The filename
-     */
-    public function getParsedFile()
-    {
-        return $this->parsedFile;
-    }
-
-    /**
-     * Sets the filename where the error occurred.
-     *
-     * @param string $parsedFile The filename
-     */
-    public function setParsedFile($parsedFile)
-    {
-        $this->parsedFile = $parsedFile;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the line where the error occurred.
-     *
-     * @return int The file line
-     */
-    public function getParsedLine()
-    {
-        return $this->parsedLine;
-    }
-
-    /**
-     * Sets the line where the error occurred.
-     *
-     * @param int $parsedLine The file line
-     */
-    public function setParsedLine($parsedLine)
-    {
-        $this->parsedLine = $parsedLine;
-
-        $this->updateRepr();
-    }
-
-    private function updateRepr()
-    {
-        $this->message = $this->rawMessage;
-
-        $dot = false;
-        if ('.' === substr($this->message, -1)) {
-            $this->message = substr($this->message, 0, -1);
-            $dot = true;
-        }
-
-        if (null !== $this->parsedFile) {
-            $this->message .= sprintf(' in %s', json_encode($this->parsedFile, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
-        }
-
-        if ($this->parsedLine >= 0) {
-            $this->message .= sprintf(' at line %d', $this->parsedLine);
-        }
-
-        if ($this->snippet) {
-            $this->message .= sprintf(' (near "%s")', $this->snippet);
-        }
-
-        if ($dot) {
-            $this->message .= '.';
-        }
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Exception;
-
-/**
- * Exception class thrown when an error occurs during parsing.
- *
- * @author Romain Neutron <imprec@gmail.com>
- */
-class RuntimeException extends \RuntimeException implements ExceptionInterface
-{
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-use Symfony\Component\Yaml\Exception\DumpException;
-
-/**
- * Inline implements a YAML parser/dumper for the YAML inline syntax.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- *
- * @internal
- */
-class Inline
-{
-    const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|\'([^\']*(?:\'\'[^\']*)*)\')';
-
-    private static $exceptionOnInvalidType = false;
-    private static $objectSupport = false;
-    private static $objectForMap = false;
-
-    /**
-     * Converts a YAML string to a PHP array.
-     *
-     * @param string $value      A YAML string
-     * @param int    $flags      A bit field of PARSE_* constants to customize the YAML parser behavior
-     * @param array  $references Mapping of variable names to values
-     *
-     * @return array A PHP array representing the YAML string
-     *
-     * @throws ParseException
-     */
-    public static function parse($value, $flags = 0, $references = array())
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 3 && !is_array($references)) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if ($references) {
-                $flags |= Yaml::PARSE_OBJECT;
-            }
-
-            if (func_num_args() >= 4) {
-                @trigger_error('Passing a boolean flag to toggle object for map support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT_FOR_MAP flag instead.', E_USER_DEPRECATED);
-
-                if (func_get_arg(3)) {
-                    $flags |= Yaml::PARSE_OBJECT_FOR_MAP;
-                }
-            }
-
-            if (func_num_args() >= 5) {
-                $references = func_get_arg(4);
-            } else {
-                $references = array();
-            }
-        }
-
-        self::$exceptionOnInvalidType = (bool) (Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE & $flags);
-        self::$objectSupport = (bool) (Yaml::PARSE_OBJECT & $flags);
-        self::$objectForMap = (bool) (Yaml::PARSE_OBJECT_FOR_MAP & $flags);
-
-        $value = trim($value);
-
-        if ('' === $value) {
-            return '';
-        }
-
-        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('ASCII');
-        }
-
-        $i = 0;
-        switch ($value[0]) {
-            case '[':
-                $result = self::parseSequence($value, $flags, $i, $references);
-                ++$i;
-                break;
-            case '{':
-                $result = self::parseMapping($value, $flags, $i, $references);
-                ++$i;
-                break;
-            default:
-                $result = self::parseScalar($value, $flags, null, array('"', "'"), $i, true, $references);
-        }
-
-        // some comments are allowed at the end
-        if (preg_replace('/\s+#.*$/A', '', substr($value, $i))) {
-            throw new ParseException(sprintf('Unexpected characters near "%s".', substr($value, $i)));
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        return $result;
-    }
-
-    /**
-     * Dumps a given PHP variable to a YAML string.
-     *
-     * @param mixed $value The PHP variable to convert
-     * @param int   $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string
-     *
-     * @return string The YAML string representing the PHP array
-     *
-     * @throws DumpException When trying to dump PHP resource
-     */
-    public static function dump($value, $flags = 0)
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 3) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::DUMP_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(2)) {
-                $flags |= Yaml::DUMP_OBJECT;
-            }
-        }
-
-        switch (true) {
-            case is_resource($value):
-                if (Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE & $flags) {
-                    throw new DumpException(sprintf('Unable to dump PHP resources in a YAML file ("%s").', get_resource_type($value)));
-                }
-
-                return 'null';
-            case $value instanceof \DateTimeInterface:
-                return $value->format('c');
-            case is_object($value):
-                if (Yaml::DUMP_OBJECT & $flags) {
-                    return '!php/object:'.serialize($value);
-                }
-
-                if (Yaml::DUMP_OBJECT_AS_MAP & $flags && ($value instanceof \stdClass || $value instanceof \ArrayObject)) {
-                    return self::dumpArray((array) $value, $flags);
-                }
-
-                if (Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE & $flags) {
-                    throw new DumpException('Object support when dumping a YAML file has been disabled.');
-                }
-
-                return 'null';
-            case is_array($value):
-                return self::dumpArray($value, $flags);
-            case null === $value:
-                return 'null';
-            case true === $value:
-                return 'true';
-            case false === $value:
-                return 'false';
-            case ctype_digit($value):
-                return is_string($value) ? "'$value'" : (int) $value;
-            case is_numeric($value):
-                $locale = setlocale(LC_NUMERIC, 0);
-                if (false !== $locale) {
-                    setlocale(LC_NUMERIC, 'C');
-                }
-                if (is_float($value)) {
-                    $repr = (string) $value;
-                    if (is_infinite($value)) {
-                        $repr = str_ireplace('INF', '.Inf', $repr);
-                    } elseif (floor($value) == $value && $repr == $value) {
-                        // Preserve float data type since storing a whole number will result in integer value.
-                        $repr = '!!float '.$repr;
-                    }
-                } else {
-                    $repr = is_string($value) ? "'$value'" : (string) $value;
-                }
-                if (false !== $locale) {
-                    setlocale(LC_NUMERIC, $locale);
-                }
-
-                return $repr;
-            case '' == $value:
-                return "''";
-            case self::isBinaryString($value):
-                return '!!binary '.base64_encode($value);
-            case Escaper::requiresDoubleQuoting($value):
-                return Escaper::escapeWithDoubleQuotes($value);
-            case Escaper::requiresSingleQuoting($value):
-            case preg_match(self::getHexRegex(), $value):
-            case preg_match(self::getTimestampRegex(), $value):
-                return Escaper::escapeWithSingleQuotes($value);
-            default:
-                return $value;
-        }
-    }
-
-    /**
-     * Check if given array is hash or just normal indexed array.
-     *
-     * @internal
-     *
-     * @param array $value The PHP array to check
-     *
-     * @return bool true if value is hash array, false otherwise
-     */
-    public static function isHash(array $value)
-    {
-        $expectedKey = 0;
-
-        foreach ($value as $key => $val) {
-            if ($key !== $expectedKey++) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Dumps a PHP array to a YAML string.
-     *
-     * @param array $value The PHP array to dump
-     * @param int   $flags A bit field of Yaml::DUMP_* constants to customize the dumped YAML string
-     *
-     * @return string The YAML string representing the PHP array
-     */
-    private static function dumpArray($value, $flags)
-    {
-        // array
-        if ($value && !self::isHash($value)) {
-            $output = array();
-            foreach ($value as $val) {
-                $output[] = self::dump($val, $flags);
-            }
-
-            return sprintf('[%s]', implode(', ', $output));
-        }
-
-        // hash
-        $output = array();
-        foreach ($value as $key => $val) {
-            $output[] = sprintf('%s: %s', self::dump($key, $flags), self::dump($val, $flags));
-        }
-
-        return sprintf('{ %s }', implode(', ', $output));
-    }
-
-    /**
-     * Parses a scalar to a YAML string.
-     *
-     * @param string $scalar
-     * @param int    $flags
-     * @param string $delimiters
-     * @param array  $stringDelimiters
-     * @param int    &$i
-     * @param bool   $evaluate
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     *
-     * @internal
-     */
-    public static function parseScalar($scalar, $flags = 0, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true, $references = array())
-    {
-        if (in_array($scalar[$i], $stringDelimiters)) {
-            // quoted scalar
-            $output = self::parseQuotedScalar($scalar, $i);
-
-            if (null !== $delimiters) {
-                $tmp = ltrim(substr($scalar, $i), ' ');
-                if (!in_array($tmp[0], $delimiters)) {
-                    throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)));
-                }
-            }
-        } else {
-            // "normal" string
-            if (!$delimiters) {
-                $output = substr($scalar, $i);
-                $i += strlen($output);
-
-                // remove comments
-                if (preg_match('/[ \t]+#/', $output, $match, PREG_OFFSET_CAPTURE)) {
-                    $output = substr($output, 0, $match[0][1]);
-                }
-            } elseif (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) {
-                $output = $match[1];
-                $i += strlen($output);
-            } else {
-                throw new ParseException(sprintf('Malformed inline YAML string (%s).', $scalar));
-            }
-
-            // a non-quoted string cannot start with @ or ` (reserved) nor with a scalar indicator (| or >)
-            if ($output && ('@' === $output[0] || '`' === $output[0] || '|' === $output[0] || '>' === $output[0])) {
-                throw new ParseException(sprintf('The reserved indicator "%s" cannot start a plain scalar; you need to quote the scalar.', $output[0]));
-            }
-
-            if ($output && '%' === $output[0]) {
-                @trigger_error('Not quoting a scalar starting with the "%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.', E_USER_DEPRECATED);
-            }
-
-            if ($evaluate) {
-                $output = self::evaluateScalar($output, $flags, $references);
-            }
-        }
-
-        return $output;
-    }
-
-    /**
-     * Parses a quoted scalar to YAML.
-     *
-     * @param string $scalar
-     * @param int    &$i
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseQuotedScalar($scalar, &$i)
-    {
-        if (!preg_match('/'.self::REGEX_QUOTED_STRING.'/Au', substr($scalar, $i), $match)) {
-            throw new ParseException(sprintf('Malformed inline YAML string (%s).', substr($scalar, $i)));
-        }
-
-        $output = substr($match[0], 1, strlen($match[0]) - 2);
-
-        $unescaper = new Unescaper();
-        if ('"' == $scalar[$i]) {
-            $output = $unescaper->unescapeDoubleQuotedString($output);
-        } else {
-            $output = $unescaper->unescapeSingleQuotedString($output);
-        }
-
-        $i += strlen($match[0]);
-
-        return $output;
-    }
-
-    /**
-     * Parses a sequence to a YAML string.
-     *
-     * @param string $sequence
-     * @param int    $flags
-     * @param int    &$i
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseSequence($sequence, $flags, &$i = 0, $references = array())
-    {
-        $output = array();
-        $len = strlen($sequence);
-        ++$i;
-
-        // [foo, bar, ...]
-        while ($i < $len) {
-            switch ($sequence[$i]) {
-                case '[':
-                    // nested sequence
-                    $output[] = self::parseSequence($sequence, $flags, $i, $references);
-                    break;
-                case '{':
-                    // nested mapping
-                    $output[] = self::parseMapping($sequence, $flags, $i, $references);
-                    break;
-                case ']':
-                    return $output;
-                case ',':
-                case ' ':
-                    break;
-                default:
-                    $isQuoted = in_array($sequence[$i], array('"', "'"));
-                    $value = self::parseScalar($sequence, $flags, array(',', ']'), array('"', "'"), $i, true, $references);
-
-                    // the value can be an array if a reference has been resolved to an array var
-                    if (!is_array($value) && !$isQuoted && false !== strpos($value, ': ')) {
-                        // embedded mapping?
-                        try {
-                            $pos = 0;
-                            $value = self::parseMapping('{'.$value.'}', $flags, $pos, $references);
-                        } catch (\InvalidArgumentException $e) {
-                            // no, it's not
-                        }
-                    }
-
-                    $output[] = $value;
-
-                    --$i;
-            }
-
-            ++$i;
-        }
-
-        throw new ParseException(sprintf('Malformed inline YAML string %s', $sequence));
-    }
-
-    /**
-     * Parses a mapping to a YAML string.
-     *
-     * @param string $mapping
-     * @param int    $flags
-     * @param int    &$i
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When malformed inline YAML string is parsed
-     */
-    private static function parseMapping($mapping, $flags, &$i = 0, $references = array())
-    {
-        $output = array();
-        $len = strlen($mapping);
-        ++$i;
-
-        // {foo: bar, bar:foo, ...}
-        while ($i < $len) {
-            switch ($mapping[$i]) {
-                case ' ':
-                case ',':
-                    ++$i;
-                    continue 2;
-                case '}':
-                    if (self::$objectForMap) {
-                        return (object) $output;
-                    }
-
-                    return $output;
-            }
-
-            // key
-            $key = self::parseScalar($mapping, $flags, array(':', ' '), array('"', "'"), $i, false);
-
-            // value
-            $done = false;
-
-            while ($i < $len) {
-                switch ($mapping[$i]) {
-                    case '[':
-                        // nested sequence
-                        $value = self::parseSequence($mapping, $flags, $i, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        break;
-                    case '{':
-                        // nested mapping
-                        $value = self::parseMapping($mapping, $flags, $i, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        break;
-                    case ':':
-                    case ' ':
-                        break;
-                    default:
-                        $value = self::parseScalar($mapping, $flags, array(',', '}'), array('"', "'"), $i, true, $references);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // Parser cannot abort this mapping earlier, since lines
-                        // are processed sequentially.
-                        if (!isset($output[$key])) {
-                            $output[$key] = $value;
-                        }
-                        $done = true;
-                        --$i;
-                }
-
-                ++$i;
-
-                if ($done) {
-                    continue 2;
-                }
-            }
-        }
-
-        throw new ParseException(sprintf('Malformed inline YAML string %s', $mapping));
-    }
-
-    /**
-     * Evaluates scalars and replaces magic values.
-     *
-     * @param string $scalar
-     * @param int    $flags
-     * @param array  $references
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException when object parsing support was disabled and the parser detected a PHP object or when a reference could not be resolved
-     */
-    private static function evaluateScalar($scalar, $flags, $references = array())
-    {
-        $scalar = trim($scalar);
-        $scalarLower = strtolower($scalar);
-
-        if (0 === strpos($scalar, '*')) {
-            if (false !== $pos = strpos($scalar, '#')) {
-                $value = substr($scalar, 1, $pos - 2);
-            } else {
-                $value = substr($scalar, 1);
-            }
-
-            // an unquoted *
-            if (false === $value || '' === $value) {
-                throw new ParseException('A reference must contain at least one character.');
-            }
-
-            if (!array_key_exists($value, $references)) {
-                throw new ParseException(sprintf('Reference "%s" does not exist.', $value));
-            }
-
-            return $references[$value];
-        }
-
-        switch (true) {
-            case 'null' === $scalarLower:
-            case '' === $scalar:
-            case '~' === $scalar:
-                return;
-            case 'true' === $scalarLower:
-                return true;
-            case 'false' === $scalarLower:
-                return false;
-            // Optimise for returning strings.
-            case $scalar[0] === '+' || $scalar[0] === '-' || $scalar[0] === '.' || $scalar[0] === '!' || is_numeric($scalar[0]):
-                switch (true) {
-                    case 0 === strpos($scalar, '!str'):
-                        return (string) substr($scalar, 5);
-                    case 0 === strpos($scalar, '! '):
-                        return (int) self::parseScalar(substr($scalar, 2), $flags);
-                    case 0 === strpos($scalar, '!php/object:'):
-                        if (self::$objectSupport) {
-                            return unserialize(substr($scalar, 12));
-                        }
-
-                        if (self::$exceptionOnInvalidType) {
-                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
-                        }
-
-                        return;
-                    case 0 === strpos($scalar, '!!php/object:'):
-                        if (self::$objectSupport) {
-                            @trigger_error('The !!php/object tag to indicate dumped PHP objects is deprecated since version 3.1 and will be removed in 4.0. Use the !php/object tag instead.', E_USER_DEPRECATED);
-
-                            return unserialize(substr($scalar, 13));
-                        }
-
-                        if (self::$exceptionOnInvalidType) {
-                            throw new ParseException('Object support when parsing a YAML file has been disabled.');
-                        }
-
-                        return;
-                    case 0 === strpos($scalar, '!!float '):
-                        return (float) substr($scalar, 8);
-                    case ctype_digit($scalar):
-                        $raw = $scalar;
-                        $cast = (int) $scalar;
-
-                        return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw);
-                    case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)):
-                        $raw = $scalar;
-                        $cast = (int) $scalar;
-
-                        return '0' == $scalar[1] ? octdec($scalar) : (((string) $raw === (string) $cast) ? $cast : $raw);
-                    case is_numeric($scalar):
-                    case preg_match(self::getHexRegex(), $scalar):
-                        return '0x' === $scalar[0].$scalar[1] ? hexdec($scalar) : (float) $scalar;
-                    case '.inf' === $scalarLower:
-                    case '.nan' === $scalarLower:
-                        return -log(0);
-                    case '-.inf' === $scalarLower:
-                        return log(0);
-                    case 0 === strpos($scalar, '!!binary '):
-                        return self::evaluateBinaryScalar(substr($scalar, 9));
-                    case preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar):
-                        return (float) str_replace(',', '', $scalar);
-                    case preg_match(self::getTimestampRegex(), $scalar):
-                        if (Yaml::PARSE_DATETIME & $flags) {
-                            return new \DateTime($scalar, new \DateTimeZone('UTC'));
-                        }
-
-                        $timeZone = date_default_timezone_get();
-                        date_default_timezone_set('UTC');
-                        $time = strtotime($scalar);
-                        date_default_timezone_set($timeZone);
-
-                        return $time;
-                }
-            default:
-                return (string) $scalar;
-        }
-    }
-
-    /**
-     * @param string $scalar
-     *
-     * @return string
-     *
-     * @internal
-     */
-    public static function evaluateBinaryScalar($scalar)
-    {
-        $parsedBinaryData = self::parseScalar(preg_replace('/\s/', '', $scalar));
-
-        if (0 !== (strlen($parsedBinaryData) % 4)) {
-            throw new ParseException(sprintf('The normalized base64 encoded data (data without whitespace characters) length must be a multiple of four (%d bytes given).', strlen($parsedBinaryData)));
-        }
-
-        if (!preg_match('#^[A-Z0-9+/]+={0,2}$#i', $parsedBinaryData)) {
-            throw new ParseException(sprintf('The base64 encoded data (%s) contains invalid characters.', $parsedBinaryData));
-        }
-
-        return base64_decode($parsedBinaryData, true);
-    }
-
-    private static function isBinaryString($value)
-    {
-        return !preg_match('//u', $value) || preg_match('/[^\x09-\x0d\x20-\xff]/', $value);
-    }
-
-    /**
-     * Gets a regex that matches a YAML date.
-     *
-     * @return string The regular expression
-     *
-     * @see http://www.yaml.org/spec/1.2/spec.html#id2761573
-     */
-    private static function getTimestampRegex()
-    {
-        return <<<EOF
-        ~^
-        (?P<year>[0-9][0-9][0-9][0-9])
-        -(?P<month>[0-9][0-9]?)
-        -(?P<day>[0-9][0-9]?)
-        (?:(?:[Tt]|[ \t]+)
-        (?P<hour>[0-9][0-9]?)
-        :(?P<minute>[0-9][0-9])
-        :(?P<second>[0-9][0-9])
-        (?:\.(?P<fraction>[0-9]*))?
-        (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
-        (?::(?P<tz_minute>[0-9][0-9]))?))?)?
-        $~x
-EOF;
-    }
-
-    /**
-     * Gets a regex that matches a YAML number in hexadecimal notation.
-     *
-     * @return string
-     */
-    private static function getHexRegex()
-    {
-        return '~^0x[0-9a-f]++$~i';
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-/**
- * Parser parses YAML strings to convert them to PHP arrays.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Parser
-{
-    const TAG_PATTERN = '((?P<tag>![\w!.\/:-]+) +)?';
-    const BLOCK_SCALAR_HEADER_PATTERN = '(?P<separator>\||>)(?P<modifiers>\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P<comments> +#.*)?';
-
-    private $offset = 0;
-    private $totalNumberOfLines;
-    private $lines = array();
-    private $currentLineNb = -1;
-    private $currentLine = '';
-    private $refs = array();
-    private $skippedLineNumbers = array();
-    private $locallySkippedLineNumbers = array();
-
-    /**
-     * Constructor.
-     *
-     * @param int      $offset             The offset of YAML document (used for line numbers in error messages)
-     * @param int|null $totalNumberOfLines The overall number of lines being parsed
-     * @param int[]    $skippedLineNumbers Number of comment lines that have been skipped by the parser
-     */
-    public function __construct($offset = 0, $totalNumberOfLines = null, array $skippedLineNumbers = array())
-    {
-        $this->offset = $offset;
-        $this->totalNumberOfLines = $totalNumberOfLines;
-        $this->skippedLineNumbers = $skippedLineNumbers;
-    }
-
-    /**
-     * Parses a YAML string to a PHP value.
-     *
-     * @param string $value A YAML string
-     * @param int    $flags A bit field of PARSE_* constants to customize the YAML parser behavior
-     *
-     * @return mixed A PHP value
-     *
-     * @throws ParseException If the YAML is not valid
-     */
-    public function parse($value, $flags = 0)
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 3) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(2)) {
-                $flags |= Yaml::PARSE_OBJECT;
-            }
-        }
-
-        if (func_num_args() >= 4) {
-            @trigger_error('Passing a boolean flag to toggle object for map support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT_FOR_MAP flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(3)) {
-                $flags |= Yaml::PARSE_OBJECT_FOR_MAP;
-            }
-        }
-
-        if (!preg_match('//u', $value)) {
-            throw new ParseException('The YAML value does not appear to be valid UTF-8.');
-        }
-        $this->currentLineNb = -1;
-        $this->currentLine = '';
-        $value = $this->cleanup($value);
-        $this->lines = explode("\n", $value);
-
-        if (null === $this->totalNumberOfLines) {
-            $this->totalNumberOfLines = count($this->lines);
-        }
-
-        if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('UTF-8');
-        }
-
-        $data = array();
-        $context = null;
-        $allowOverwrite = false;
-        while ($this->moveToNextLine()) {
-            if ($this->isCurrentLineEmpty()) {
-                continue;
-            }
-
-            // tab?
-            if ("\t" === $this->currentLine[0]) {
-                throw new ParseException('A YAML file cannot contain tabs as indentation.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-
-            $isRef = $mergeNode = false;
-            if (preg_match('#^\-((?P<leadspaces>\s+)(?P<value>.+?))?\s*$#u', $this->currentLine, $values)) {
-                if ($context && 'mapping' == $context) {
-                    throw new ParseException('You cannot define a sequence item when in a mapping', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                }
-                $context = 'sequence';
-
-                if (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
-                    $isRef = $matches['ref'];
-                    $values['value'] = $matches['value'];
-                }
-
-                // array
-                if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
-                    $data[] = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(null, true), $flags);
-                } else {
-                    if (isset($values['leadspaces'])
-                        && preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\{\[].*?) *\:(\s+(?P<value>.+?))?\s*$#u', $values['value'], $matches)
-                    ) {
-                        // this is a compact notation element, add to next block and parse
-                        $block = $values['value'];
-                        if ($this->isNextLineIndented()) {
-                            $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + strlen($values['leadspaces']) + 1);
-                        }
-
-                        $data[] = $this->parseBlock($this->getRealCurrentLineNb(), $block, $flags);
-                    } else {
-                        $data[] = $this->parseValue($values['value'], $flags, $context);
-                    }
-                }
-                if ($isRef) {
-                    $this->refs[$isRef] = end($data);
-                }
-            } elseif (preg_match('#^(?P<key>'.Inline::REGEX_QUOTED_STRING.'|[^ \'"\[\{].*?) *\:(\s+(?P<value>.+?))?\s*$#u', $this->currentLine, $values) && (false === strpos($values['key'], ' #') || in_array($values['key'][0], array('"', "'")))) {
-                if ($context && 'sequence' == $context) {
-                    throw new ParseException('You cannot define a mapping item when in a sequence', $this->currentLineNb + 1, $this->currentLine);
-                }
-                $context = 'mapping';
-
-                // force correct settings
-                Inline::parse(null, $flags, $this->refs);
-                try {
-                    $key = Inline::parseScalar($values['key']);
-                } catch (ParseException $e) {
-                    $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-                    $e->setSnippet($this->currentLine);
-
-                    throw $e;
-                }
-
-                // Convert float keys to strings, to avoid being converted to integers by PHP
-                if (is_float($key)) {
-                    $key = (string) $key;
-                }
-
-                if ('<<' === $key) {
-                    $mergeNode = true;
-                    $allowOverwrite = true;
-                    if (isset($values['value']) && 0 === strpos($values['value'], '*')) {
-                        $refName = substr($values['value'], 1);
-                        if (!array_key_exists($refName, $this->refs)) {
-                            throw new ParseException(sprintf('Reference "%s" does not exist.', $refName), $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        $refValue = $this->refs[$refName];
-
-                        if (!is_array($refValue)) {
-                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        foreach ($refValue as $key => $value) {
-                            if (!isset($data[$key])) {
-                                $data[$key] = $value;
-                            }
-                        }
-                    } else {
-                        if (isset($values['value']) && $values['value'] !== '') {
-                            $value = $values['value'];
-                        } else {
-                            $value = $this->getNextEmbedBlock();
-                        }
-                        $parsed = $this->parseBlock($this->getRealCurrentLineNb() + 1, $value, $flags);
-
-                        if (!is_array($parsed)) {
-                            throw new ParseException('YAML merge keys used with a scalar value instead of an array.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-                        }
-
-                        if (isset($parsed[0])) {
-                            // If the value associated with the merge key is a sequence, then this sequence is expected to contain mapping nodes
-                            // and each of these nodes is merged in turn according to its order in the sequence. Keys in mapping nodes earlier
-                            // in the sequence override keys specified in later mapping nodes.
-                            foreach ($parsed as $parsedItem) {
-                                if (!is_array($parsedItem)) {
-                                    throw new ParseException('Merge items must be arrays.', $this->getRealCurrentLineNb() + 1, $parsedItem);
-                                }
-
-                                foreach ($parsedItem as $key => $value) {
-                                    if (!isset($data[$key])) {
-                                        $data[$key] = $value;
-                                    }
-                                }
-                            }
-                        } else {
-                            // If the value associated with the key is a single mapping node, each of its key/value pairs is inserted into the
-                            // current mapping, unless the key already exists in it.
-                            foreach ($parsed as $key => $value) {
-                                if (!isset($data[$key])) {
-                                    $data[$key] = $value;
-                                }
-                            }
-                        }
-                    }
-                } elseif (isset($values['value']) && preg_match('#^&(?P<ref>[^ ]+) *(?P<value>.*)#u', $values['value'], $matches)) {
-                    $isRef = $matches['ref'];
-                    $values['value'] = $matches['value'];
-                }
-
-                if ($mergeNode) {
-                    // Merge keys
-                } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
-                    // hash
-                    // if next line is less indented or equal, then it means that the current value is null
-                    if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
-                        // Spec: Keys MUST be unique; first one wins.
-                        // But overwriting is allowed when a merge node is used in current block.
-                        if ($allowOverwrite || !isset($data[$key])) {
-                            $data[$key] = null;
-                        }
-                    } else {
-                        $value = $this->parseBlock($this->getRealCurrentLineNb() + 1, $this->getNextEmbedBlock(), $flags);
-                        // Spec: Keys MUST be unique; first one wins.
-                        // But overwriting is allowed when a merge node is used in current block.
-                        if ($allowOverwrite || !isset($data[$key])) {
-                            $data[$key] = $value;
-                        }
-                    }
-                } else {
-                    $value = $this->parseValue($values['value'], $flags, $context);
-                    // Spec: Keys MUST be unique; first one wins.
-                    // But overwriting is allowed when a merge node is used in current block.
-                    if ($allowOverwrite || !isset($data[$key])) {
-                        $data[$key] = $value;
-                    }
-                }
-                if ($isRef) {
-                    $this->refs[$isRef] = $data[$key];
-                }
-            } else {
-                // multiple documents are not supported
-                if ('---' === $this->currentLine) {
-                    throw new ParseException('Multiple documents are not supported.', $this->currentLineNb + 1, $this->currentLine);
-                }
-
-                // 1-liner optionally followed by newline(s)
-                if (is_string($value) && $this->lines[0] === trim($value)) {
-                    try {
-                        $value = Inline::parse($this->lines[0], $flags, $this->refs);
-                    } catch (ParseException $e) {
-                        $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-                        $e->setSnippet($this->currentLine);
-
-                        throw $e;
-                    }
-
-                    if (is_array($value)) {
-                        $first = reset($value);
-                        if (is_string($first) && 0 === strpos($first, '*')) {
-                            $data = array();
-                            foreach ($value as $alias) {
-                                $data[] = $this->refs[substr($alias, 1)];
-                            }
-                            $value = $data;
-                        }
-                    }
-
-                    if (isset($mbEncoding)) {
-                        mb_internal_encoding($mbEncoding);
-                    }
-
-                    return $value;
-                }
-
-                switch (preg_last_error()) {
-                    case PREG_INTERNAL_ERROR:
-                        $error = 'Internal PCRE error.';
-                        break;
-                    case PREG_BACKTRACK_LIMIT_ERROR:
-                        $error = 'pcre.backtrack_limit reached.';
-                        break;
-                    case PREG_RECURSION_LIMIT_ERROR:
-                        $error = 'pcre.recursion_limit reached.';
-                        break;
-                    case PREG_BAD_UTF8_ERROR:
-                        $error = 'Malformed UTF-8 data.';
-                        break;
-                    case PREG_BAD_UTF8_OFFSET_ERROR:
-                        $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point.';
-                        break;
-                    default:
-                        $error = 'Unable to parse.';
-                }
-
-                throw new ParseException($error, $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        if (Yaml::PARSE_OBJECT_FOR_MAP & $flags && !is_object($data) && 'mapping' === $context) {
-            $object = new \stdClass();
-
-            foreach ($data as $key => $value) {
-                $object->$key = $value;
-            }
-
-            $data = $object;
-        }
-
-        return empty($data) ? null : $data;
-    }
-
-    private function parseBlock($offset, $yaml, $flags)
-    {
-        $skippedLineNumbers = $this->skippedLineNumbers;
-
-        foreach ($this->locallySkippedLineNumbers as $lineNumber) {
-            if ($lineNumber < $offset) {
-                continue;
-            }
-
-            $skippedLineNumbers[] = $lineNumber;
-        }
-
-        $parser = new self($offset, $this->totalNumberOfLines, $skippedLineNumbers);
-        $parser->refs = &$this->refs;
-
-        return $parser->parse($yaml, $flags);
-    }
-
-    /**
-     * Returns the current line number (takes the offset into account).
-     *
-     * @return int The current line number
-     */
-    private function getRealCurrentLineNb()
-    {
-        $realCurrentLineNumber = $this->currentLineNb + $this->offset;
-
-        foreach ($this->skippedLineNumbers as $skippedLineNumber) {
-            if ($skippedLineNumber > $realCurrentLineNumber) {
-                break;
-            }
-
-            ++$realCurrentLineNumber;
-        }
-
-        return $realCurrentLineNumber;
-    }
-
-    /**
-     * Returns the current line indentation.
-     *
-     * @return int The current line indentation
-     */
-    private function getCurrentLineIndentation()
-    {
-        return strlen($this->currentLine) - strlen(ltrim($this->currentLine, ' '));
-    }
-
-    /**
-     * Returns the next embed block of YAML.
-     *
-     * @param int  $indentation The indent level at which the block is to be read, or null for default
-     * @param bool $inSequence  True if the enclosing data structure is a sequence
-     *
-     * @return string A YAML string
-     *
-     * @throws ParseException When indentation problem are detected
-     */
-    private function getNextEmbedBlock($indentation = null, $inSequence = false)
-    {
-        $oldLineIndentation = $this->getCurrentLineIndentation();
-        $blockScalarIndentations = array();
-
-        if ($this->isBlockScalarHeader()) {
-            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
-        }
-
-        if (!$this->moveToNextLine()) {
-            return;
-        }
-
-        if (null === $indentation) {
-            $newIndent = $this->getCurrentLineIndentation();
-
-            $unindentedEmbedBlock = $this->isStringUnIndentedCollectionItem();
-
-            if (!$this->isCurrentLineEmpty() && 0 === $newIndent && !$unindentedEmbedBlock) {
-                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-        } else {
-            $newIndent = $indentation;
-        }
-
-        $data = array();
-        if ($this->getCurrentLineIndentation() >= $newIndent) {
-            $data[] = substr($this->currentLine, $newIndent);
-        } else {
-            $this->moveToPreviousLine();
-
-            return;
-        }
-
-        if ($inSequence && $oldLineIndentation === $newIndent && isset($data[0][0]) && '-' === $data[0][0]) {
-            // the previous line contained a dash but no item content, this line is a sequence item with the same indentation
-            // and therefore no nested list or mapping
-            $this->moveToPreviousLine();
-
-            return;
-        }
-
-        $isItUnindentedCollection = $this->isStringUnIndentedCollectionItem();
-
-        if (empty($blockScalarIndentations) && $this->isBlockScalarHeader()) {
-            $blockScalarIndentations[] = $this->getCurrentLineIndentation();
-        }
-
-        $previousLineIndentation = $this->getCurrentLineIndentation();
-
-        while ($this->moveToNextLine()) {
-            $indent = $this->getCurrentLineIndentation();
-
-            // terminate all block scalars that are more indented than the current line
-            if (!empty($blockScalarIndentations) && $indent < $previousLineIndentation && trim($this->currentLine) !== '') {
-                foreach ($blockScalarIndentations as $key => $blockScalarIndentation) {
-                    if ($blockScalarIndentation >= $this->getCurrentLineIndentation()) {
-                        unset($blockScalarIndentations[$key]);
-                    }
-                }
-            }
-
-            if (empty($blockScalarIndentations) && !$this->isCurrentLineComment() && $this->isBlockScalarHeader()) {
-                $blockScalarIndentations[] = $this->getCurrentLineIndentation();
-            }
-
-            $previousLineIndentation = $indent;
-
-            if ($isItUnindentedCollection && !$this->isStringUnIndentedCollectionItem() && $newIndent === $indent) {
-                $this->moveToPreviousLine();
-                break;
-            }
-
-            if ($this->isCurrentLineBlank()) {
-                $data[] = substr($this->currentLine, $newIndent);
-                continue;
-            }
-
-            // we ignore "comment" lines only when we are not inside a scalar block
-            if (empty($blockScalarIndentations) && $this->isCurrentLineComment()) {
-                // remember ignored comment lines (they are used later in nested
-                // parser calls to determine real line numbers)
-                //
-                // CAUTION: beware to not populate the global property here as it
-                // will otherwise influence the getRealCurrentLineNb() call here
-                // for consecutive comment lines and subsequent embedded blocks
-                $this->locallySkippedLineNumbers[] = $this->getRealCurrentLineNb();
-
-                continue;
-            }
-
-            if ($indent >= $newIndent) {
-                $data[] = substr($this->currentLine, $newIndent);
-            } elseif (0 == $indent) {
-                $this->moveToPreviousLine();
-
-                break;
-            } else {
-                throw new ParseException('Indentation problem.', $this->getRealCurrentLineNb() + 1, $this->currentLine);
-            }
-        }
-
-        return implode("\n", $data);
-    }
-
-    /**
-     * Moves the parser to the next line.
-     *
-     * @return bool
-     */
-    private function moveToNextLine()
-    {
-        if ($this->currentLineNb >= count($this->lines) - 1) {
-            return false;
-        }
-
-        $this->currentLine = $this->lines[++$this->currentLineNb];
-
-        return true;
-    }
-
-    /**
-     * Moves the parser to the previous line.
-     *
-     * @return bool
-     */
-    private function moveToPreviousLine()
-    {
-        if ($this->currentLineNb < 1) {
-            return false;
-        }
-
-        $this->currentLine = $this->lines[--$this->currentLineNb];
-
-        return true;
-    }
-
-    /**
-     * Parses a YAML value.
-     *
-     * @param string $value   A YAML value
-     * @param int    $flags   A bit field of PARSE_* constants to customize the YAML parser behavior
-     * @param string $context The parser context (either sequence or mapping)
-     *
-     * @return mixed A PHP value
-     *
-     * @throws ParseException When reference does not exist
-     */
-    private function parseValue($value, $flags, $context)
-    {
-        if (0 === strpos($value, '*')) {
-            if (false !== $pos = strpos($value, '#')) {
-                $value = substr($value, 1, $pos - 2);
-            } else {
-                $value = substr($value, 1);
-            }
-
-            if (!array_key_exists($value, $this->refs)) {
-                throw new ParseException(sprintf('Reference "%s" does not exist.', $value), $this->currentLineNb + 1, $this->currentLine);
-            }
-
-            return $this->refs[$value];
-        }
-
-        if (preg_match('/^'.self::TAG_PATTERN.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) {
-            $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';
-
-            $data = $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers));
-
-            if (isset($matches['tag']) && '!!binary' === $matches['tag']) {
-                return Inline::evaluateBinaryScalar($data);
-            }
-
-            return $data;
-        }
-
-        try {
-            $parsedValue = Inline::parse($value, $flags, $this->refs);
-
-            if ('mapping' === $context && is_string($parsedValue) && '"' !== $value[0] && "'" !== $value[0] && '[' !== $value[0] && '{' !== $value[0] && '!' !== $value[0] && false !== strpos($parsedValue, ': ')) {
-                throw new ParseException('A colon cannot be used in an unquoted mapping value.');
-            }
-
-            return $parsedValue;
-        } catch (ParseException $e) {
-            $e->setParsedLine($this->getRealCurrentLineNb() + 1);
-            $e->setSnippet($this->currentLine);
-
-            throw $e;
-        }
-    }
-
-    /**
-     * Parses a block scalar.
-     *
-     * @param string $style       The style indicator that was used to begin this block scalar (| or >)
-     * @param string $chomping    The chomping indicator that was used to begin this block scalar (+ or -)
-     * @param int    $indentation The indentation indicator that was used to begin this block scalar
-     *
-     * @return string The text value
-     */
-    private function parseBlockScalar($style, $chomping = '', $indentation = 0)
-    {
-        $notEOF = $this->moveToNextLine();
-        if (!$notEOF) {
-            return '';
-        }
-
-        $isCurrentLineBlank = $this->isCurrentLineBlank();
-        $blockLines = array();
-
-        // leading blank lines are consumed before determining indentation
-        while ($notEOF && $isCurrentLineBlank) {
-            // newline only if not EOF
-            if ($notEOF = $this->moveToNextLine()) {
-                $blockLines[] = '';
-                $isCurrentLineBlank = $this->isCurrentLineBlank();
-            }
-        }
-
-        // determine indentation if not specified
-        if (0 === $indentation) {
-            if (preg_match('/^ +/', $this->currentLine, $matches)) {
-                $indentation = strlen($matches[0]);
-            }
-        }
-
-        if ($indentation > 0) {
-            $pattern = sprintf('/^ {%d}(.*)$/', $indentation);
-
-            while (
-                $notEOF && (
-                    $isCurrentLineBlank ||
-                    preg_match($pattern, $this->currentLine, $matches)
-                )
-            ) {
-                if ($isCurrentLineBlank && strlen($this->currentLine) > $indentation) {
-                    $blockLines[] = substr($this->currentLine, $indentation);
-                } elseif ($isCurrentLineBlank) {
-                    $blockLines[] = '';
-                } else {
-                    $blockLines[] = $matches[1];
-                }
-
-                // newline only if not EOF
-                if ($notEOF = $this->moveToNextLine()) {
-                    $isCurrentLineBlank = $this->isCurrentLineBlank();
-                }
-            }
-        } elseif ($notEOF) {
-            $blockLines[] = '';
-        }
-
-        if ($notEOF) {
-            $blockLines[] = '';
-            $this->moveToPreviousLine();
-        } elseif (!$notEOF && !$this->isCurrentLineLastLineInDocument()) {
-            $blockLines[] = '';
-        }
-
-        // folded style
-        if ('>' === $style) {
-            $text = '';
-            $previousLineIndented = false;
-            $previousLineBlank = false;
-
-            for ($i = 0; $i < count($blockLines); ++$i) {
-                if ('' === $blockLines[$i]) {
-                    $text .= "\n";
-                    $previousLineIndented = false;
-                    $previousLineBlank = true;
-                } elseif (' ' === $blockLines[$i][0]) {
-                    $text .= "\n".$blockLines[$i];
-                    $previousLineIndented = true;
-                    $previousLineBlank = false;
-                } elseif ($previousLineIndented) {
-                    $text .= "\n".$blockLines[$i];
-                    $previousLineIndented = false;
-                    $previousLineBlank = false;
-                } elseif ($previousLineBlank || 0 === $i) {
-                    $text .= $blockLines[$i];
-                    $previousLineIndented = false;
-                    $previousLineBlank = false;
-                } else {
-                    $text .= ' '.$blockLines[$i];
-                    $previousLineIndented = false;
-                    $previousLineBlank = false;
-                }
-            }
-        } else {
-            $text = implode("\n", $blockLines);
-        }
-
-        // deal with trailing newlines
-        if ('' === $chomping) {
-            $text = preg_replace('/\n+$/', "\n", $text);
-        } elseif ('-' === $chomping) {
-            $text = preg_replace('/\n+$/', '', $text);
-        }
-
-        return $text;
-    }
-
-    /**
-     * Returns true if the next line is indented.
-     *
-     * @return bool Returns true if the next line is indented, false otherwise
-     */
-    private function isNextLineIndented()
-    {
-        $currentIndentation = $this->getCurrentLineIndentation();
-        $EOF = !$this->moveToNextLine();
-
-        while (!$EOF && $this->isCurrentLineEmpty()) {
-            $EOF = !$this->moveToNextLine();
-        }
-
-        if ($EOF) {
-            return false;
-        }
-
-        $ret = false;
-        if ($this->getCurrentLineIndentation() > $currentIndentation) {
-            $ret = true;
-        }
-
-        $this->moveToPreviousLine();
-
-        return $ret;
-    }
-
-    /**
-     * Returns true if the current line is blank or if it is a comment line.
-     *
-     * @return bool Returns true if the current line is empty or if it is a comment line, false otherwise
-     */
-    private function isCurrentLineEmpty()
-    {
-        return $this->isCurrentLineBlank() || $this->isCurrentLineComment();
-    }
-
-    /**
-     * Returns true if the current line is blank.
-     *
-     * @return bool Returns true if the current line is blank, false otherwise
-     */
-    private function isCurrentLineBlank()
-    {
-        return '' == trim($this->currentLine, ' ');
-    }
-
-    /**
-     * Returns true if the current line is a comment line.
-     *
-     * @return bool Returns true if the current line is a comment line, false otherwise
-     */
-    private function isCurrentLineComment()
-    {
-        //checking explicitly the first char of the trim is faster than loops or strpos
-        $ltrimmedLine = ltrim($this->currentLine, ' ');
-
-        return '' !== $ltrimmedLine && $ltrimmedLine[0] === '#';
-    }
-
-    private function isCurrentLineLastLineInDocument()
-    {
-        return ($this->offset + $this->currentLineNb) >= ($this->totalNumberOfLines - 1);
-    }
-
-    /**
-     * Cleanups a YAML string to be parsed.
-     *
-     * @param string $value The input YAML string
-     *
-     * @return string A cleaned up YAML string
-     */
-    private function cleanup($value)
-    {
-        $value = str_replace(array("\r\n", "\r"), "\n", $value);
-
-        // strip YAML header
-        $count = 0;
-        $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#u', '', $value, -1, $count);
-        $this->offset += $count;
-
-        // remove leading comments
-        $trimmedValue = preg_replace('#^(\#.*?\n)+#s', '', $value, -1, $count);
-        if ($count == 1) {
-            // items have been removed, update the offset
-            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
-            $value = $trimmedValue;
-        }
-
-        // remove start of the document marker (---)
-        $trimmedValue = preg_replace('#^\-\-\-.*?\n#s', '', $value, -1, $count);
-        if ($count == 1) {
-            // items have been removed, update the offset
-            $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n");
-            $value = $trimmedValue;
-
-            // remove end of the document marker (...)
-            $value = preg_replace('#\.\.\.\s*$#', '', $value);
-        }
-
-        return $value;
-    }
-
-    /**
-     * Returns true if the next line starts unindented collection.
-     *
-     * @return bool Returns true if the next line starts unindented collection, false otherwise
-     */
-    private function isNextLineUnIndentedCollection()
-    {
-        $currentIndentation = $this->getCurrentLineIndentation();
-        $notEOF = $this->moveToNextLine();
-
-        while ($notEOF && $this->isCurrentLineEmpty()) {
-            $notEOF = $this->moveToNextLine();
-        }
-
-        if (false === $notEOF) {
-            return false;
-        }
-
-        $ret = false;
-        if (
-            $this->getCurrentLineIndentation() == $currentIndentation
-            &&
-            $this->isStringUnIndentedCollectionItem()
-        ) {
-            $ret = true;
-        }
-
-        $this->moveToPreviousLine();
-
-        return $ret;
-    }
-
-    /**
-     * Returns true if the string is un-indented collection item.
-     *
-     * @return bool Returns true if the string is un-indented collection item, false otherwise
-     */
-    private function isStringUnIndentedCollectionItem()
-    {
-        return '-' === rtrim($this->currentLine) || 0 === strpos($this->currentLine, '- ');
-    }
-
-    /**
-     * Tests whether or not the current line is the header of a block scalar.
-     *
-     * @return bool
-     */
-    private function isBlockScalarHeader()
-    {
-        return (bool) preg_match('~'.self::BLOCK_SCALAR_HEADER_PATTERN.'$~', $this->currentLine);
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-/**
- * Unescaper encapsulates unescaping rules for single and double-quoted
- * YAML strings.
- *
- * @author Matthew Lewinski <matthew@lewinski.org>
- *
- * @internal
- */
-class Unescaper
-{
-    /**
-     * Regex fragment that matches an escaped character in a double quoted string.
-     */
-    const REGEX_ESCAPED_CHARACTER = '\\\\(x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|.)';
-
-    /**
-     * Unescapes a single quoted string.
-     *
-     * @param string $value A single quoted string.
-     *
-     * @return string The unescaped string.
-     */
-    public function unescapeSingleQuotedString($value)
-    {
-        return str_replace('\'\'', '\'', $value);
-    }
-
-    /**
-     * Unescapes a double quoted string.
-     *
-     * @param string $value A double quoted string.
-     *
-     * @return string The unescaped string.
-     */
-    public function unescapeDoubleQuotedString($value)
-    {
-        $callback = function ($match) {
-            return $this->unescapeCharacter($match[0]);
-        };
-
-        // evaluate the string
-        return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value);
-    }
-
-    /**
-     * Unescapes a character that was found in a double-quoted string.
-     *
-     * @param string $value An escaped character
-     *
-     * @return string The unescaped character
-     */
-    private function unescapeCharacter($value)
-    {
-        switch ($value[1]) {
-            case '0':
-                return "\x0";
-            case 'a':
-                return "\x7";
-            case 'b':
-                return "\x8";
-            case 't':
-                return "\t";
-            case "\t":
-                return "\t";
-            case 'n':
-                return "\n";
-            case 'v':
-                return "\xB";
-            case 'f':
-                return "\xC";
-            case 'r':
-                return "\r";
-            case 'e':
-                return "\x1B";
-            case ' ':
-                return ' ';
-            case '"':
-                return '"';
-            case '/':
-                return '/';
-            case '\\':
-                return '\\';
-            case 'N':
-                // U+0085 NEXT LINE
-                return "\xC2\x85";
-            case '_':
-                // U+00A0 NO-BREAK SPACE
-                return "\xC2\xA0";
-            case 'L':
-                // U+2028 LINE SEPARATOR
-                return "\xE2\x80\xA8";
-            case 'P':
-                // U+2029 PARAGRAPH SEPARATOR
-                return "\xE2\x80\xA9";
-            case 'x':
-                return self::utf8chr(hexdec(substr($value, 2, 2)));
-            case 'u':
-                return self::utf8chr(hexdec(substr($value, 2, 4)));
-            case 'U':
-                return self::utf8chr(hexdec(substr($value, 2, 8)));
-            default:
-                throw new ParseException(sprintf('Found unknown escape character "%s".', $value));
-        }
-    }
-
-    /**
-     * Get the UTF-8 character for the given code point.
-     *
-     * @param int $c The unicode code point
-     *
-     * @return string The corresponding UTF-8 character
-     */
-    private static function utf8chr($c)
-    {
-        if (0x80 > $c %= 0x200000) {
-            return chr($c);
-        }
-        if (0x800 > $c) {
-            return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
-        }
-        if (0x10000 > $c) {
-            return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
-        }
-
-        return chr(0xF0 | $c >> 18).chr(0x80 | $c >> 12 & 0x3F).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
-    }
-}
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml;
-
-use Symfony\Component\Yaml\Exception\ParseException;
-
-/**
- * Yaml offers convenience methods to load and dump YAML.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Yaml
-{
-    const DUMP_OBJECT = 1;
-    const PARSE_EXCEPTION_ON_INVALID_TYPE = 2;
-    const PARSE_OBJECT = 4;
-    const PARSE_OBJECT_FOR_MAP = 8;
-    const DUMP_EXCEPTION_ON_INVALID_TYPE = 16;
-    const PARSE_DATETIME = 32;
-    const DUMP_OBJECT_AS_MAP = 64;
-    const DUMP_MULTI_LINE_LITERAL_BLOCK = 128;
-
-    /**
-     * Parses YAML into a PHP value.
-     *
-     *  Usage:
-     *  <code>
-     *   $array = Yaml::parse(file_get_contents('config.yml'));
-     *   print_r($array);
-     *  </code>
-     *
-     * @param string $input A string containing YAML
-     * @param int    $flags A bit field of PARSE_* constants to customize the YAML parser behavior
-     *
-     * @return mixed The YAML converted to a PHP value
-     *
-     * @throws ParseException If the YAML is not valid
-     */
-    public static function parse($input, $flags = 0)
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the PARSE_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = self::PARSE_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 3) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the PARSE_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(2)) {
-                $flags |= self::PARSE_OBJECT;
-            }
-        }
-
-        if (func_num_args() >= 4) {
-            @trigger_error('Passing a boolean flag to toggle object for map support is deprecated since version 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT_FOR_MAP flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(3)) {
-                $flags |= self::PARSE_OBJECT_FOR_MAP;
-            }
-        }
-
-        $yaml = new Parser();
-
-        return $yaml->parse($input, $flags);
-    }
-
-    /**
-     * Dumps a PHP array to a YAML string.
-     *
-     * The dump method, when supplied with an array, will do its best
-     * to convert the array into friendly YAML.
-     *
-     * @param array $array  PHP array
-     * @param int   $inline The level where you switch to inline YAML
-     * @param int   $indent The amount of spaces to use for indentation of nested nodes.
-     * @param int   $flags  A bit field of DUMP_* constants to customize the dumped YAML string
-     *
-     * @return string A YAML string representing the original PHP array
-     */
-    public static function dump($array, $inline = 2, $indent = 4, $flags = 0)
-    {
-        if (is_bool($flags)) {
-            @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since version 3.1 and will be removed in 4.0. Use the DUMP_EXCEPTION_ON_INVALID_TYPE flag instead.', E_USER_DEPRECATED);
-
-            if ($flags) {
-                $flags = self::DUMP_EXCEPTION_ON_INVALID_TYPE;
-            } else {
-                $flags = 0;
-            }
-        }
-
-        if (func_num_args() >= 5) {
-            @trigger_error('Passing a boolean flag to toggle object support is deprecated since version 3.1 and will be removed in 4.0. Use the DUMP_OBJECT flag instead.', E_USER_DEPRECATED);
-
-            if (func_get_arg(4)) {
-                $flags |= self::DUMP_OBJECT;
-            }
-        }
-
-        $yaml = new Dumper($indent);
-
-        return $yaml->dump($array, $inline, 0, $flags);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Can be used as a foundation for new DatabaseTesters.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_AbstractTester implements PHPUnit_Extensions_Database_ITester
-{
-    /**
-     * @var PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    protected $setUpOperation;
-
-    /**
-     * @var PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    protected $tearDownOperation;
-
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected $dataSet;
-
-    /**
-     * @var string
-     */
-    protected $schema;
-
-    /**
-     * Creates a new database tester.
-     */
-    public function __construct()
-    {
-        $this->setUpOperation    = PHPUnit_Extensions_Database_Operation_Factory::CLEAN_INSERT();
-        $this->tearDownOperation = PHPUnit_Extensions_Database_Operation_Factory::NONE();
-    }
-
-    /**
-     * Closes the specified connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     */
-    public function closeConnection(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $connection->close();
-    }
-
-    /**
-     * Returns the test dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    public function getDataSet()
-    {
-        return $this->dataSet;
-    }
-
-    /**
-     * TestCases must call this method inside setUp().
-     */
-    public function onSetUp()
-    {
-        $this->getSetUpOperation()->execute($this->getConnection(), $this->getDataSet());
-    }
-
-    /**
-     * TestCases must call this method inside tearDown().
-     */
-    public function onTearDown()
-    {
-        $this->getTearDownOperation()->execute($this->getConnection(), $this->getDataSet());
-    }
-
-    /**
-     * Sets the test dataset to use.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
-     */
-    public function setDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        $this->dataSet = $dataSet;
-    }
-
-    /**
-     * Sets the schema value.
-     *
-     * @param string $schema
-     */
-    public function setSchema($schema)
-    {
-        $this->schema = $schema;
-    }
-
-    /**
-     * Sets the DatabaseOperation to call when starting the test.
-     *
-     * @param PHPUnit_Extensions_Database_Operation_DatabaseOperation $setUpOperation
-     */
-    public function setSetUpOperation(PHPUnit_Extensions_Database_Operation_IDatabaseOperation $setUpOperation)
-    {
-        $this->setUpOperation = $setUpOperation;
-    }
-
-    /**
-     * Sets the DatabaseOperation to call when ending the test.
-     *
-     * @param PHPUnit_Extensions_Database_Operation_DatabaseOperation $tearDownOperation
-     */
-    public function setTearDownOperation(PHPUnit_Extensions_Database_Operation_IDatabaseOperation $tearDownOperation)
-    {
-        $this->tearDownOperation = $tearDownOperation;
-    }
-
-    /**
-     * Returns the schema value
-     *
-     * @return string
-     */
-    protected function getSchema()
-    {
-        return $this->schema;
-    }
-
-    /**
-     * Returns the database operation that will be called when starting the test.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
-     */
-    protected function getSetUpOperation()
-    {
-        return $this->setUpOperation;
-    }
-
-    /**
-     * Returns the database operation that will be called when ending the test.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
-     */
-    protected function getTearDownOperation()
-    {
-        return $this->tearDownOperation;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Asserts whether or not two dbunit datasets are equal.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Constraint_DataSetIsEqual extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected $value;
-
-    /**
-     * @var string
-     */
-    protected $failure_reason;
-
-    /**
-     * Creates a new constraint.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $value
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_IDataSet $value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns TRUE if the
-     * constraint is met, FALSE otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if (!$other instanceof PHPUnit_Extensions_Database_DataSet_IDataSet) {
-            throw new InvalidArgumentException(
-              'PHPUnit_Extensions_Database_DataSet_IDataSet expected'
-            );
-        }
-
-        return $this->value->matches($other);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $other->__toString() . ' ' . $this->toString();
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-          'is equal to expected %s', $this->value->__toString()
-        );
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Asserts whether or not two dbunit tables are equal.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Constraint_TableIsEqual extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    protected $value;
-
-    /**
-     * @var string
-     */
-    protected $failure_reason;
-
-    /**
-     * Creates a new constraint.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $value
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITable $value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns TRUE if the
-     * constraint is met, FALSE otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if (!$other instanceof PHPUnit_Extensions_Database_DataSet_ITable) {
-            throw new InvalidArgumentException(
-              'PHPUnit_Extensions_Database_DataSet_ITable expected'
-            );
-        }
-
-        return $this->value->matches($other);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param  mixed  $other Evaluated value or object.
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $other->__toString() . ' ' . $this->toString();
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-          'is equal to expected %s', $this->value->__toString()
-        );
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Asserts the row count in a table
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Constraint_TableRowCount extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int
-     */
-    protected $value;
-
-    /**
-     * @var string
-     */
-    protected $tableName;
-
-    /**
-     * Creates a new constraint.
-     *
-     * @param $tableName
-     * @param $value
-     */
-    public function __construct($tableName, $value)
-    {
-        parent::__construct();
-        $this->tableName = $tableName;
-        $this->value     = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns TRUE if the
-     * constraint is met, FALSE otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param  mixed $other Value or object to evaluate.
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other == $this->value;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf('is equal to expected row count %d', $this->value);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides access to a database instance as a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_DataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * An array of ITable objects.
-     *
-     * @var array
-     */
-    protected $tables = [];
-
-    /**
-     * The database connection this dataset is using.
-     *
-     * @var PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    protected $databaseConnection;
-
-    /**
-     * Creates a new dataset using the given database connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
-     */
-    public function __construct(PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection)
-    {
-        $this->databaseConnection = $databaseConnection;
-    }
-
-    /**
-     * Creates the query necessary to pull all of the data from a table.
-     *
-     * @param  PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData
-     * @return unknown
-     */
-    public static function buildTableSelect(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection = NULL)
-    {
-        if ($tableMetaData->getTableName() == '') {
-            $e = new Exception('Empty Table Name');
-            echo $e->getTraceAsString();
-            throw $e;
-        }
-
-        $columns = $tableMetaData->getColumns();
-        if ($databaseConnection) {
-            $columns = array_map([$databaseConnection, 'quoteSchemaObject'], $columns);
-        }
-        $columnList = implode(', ', $columns);
-
-        if ($databaseConnection) {
-            $tableName = $databaseConnection->quoteSchemaObject($tableMetaData->getTableName());
-        } else {
-            $tableName = $tableMetaData->getTableName();
-        }
-
-        $primaryKeys = $tableMetaData->getPrimaryKeys();
-        if ($databaseConnection) {
-            $primaryKeys = array_map([$databaseConnection, 'quoteSchemaObject'], $primaryKeys);
-        }
-        if (count($primaryKeys)) {
-            $orderBy = 'ORDER BY ' . implode(' ASC, ', $primaryKeys) . ' ASC';
-        } else {
-            $orderBy = '';
-        }
-
-        return "SELECT {$columnList} FROM {$tableName} {$orderBy}";
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                         $reverse
-     * @return PHPUnit_Extensions_Database_DB_TableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DB_TableIterator($this->getTableNames(), $this, $reverse);
-    }
-
-    /**
-     * Returns a table object for the given table.
-     *
-     * @param  string                               $tableName
-     * @return PHPUnit_Extensions_Database_DB_Table
-     */
-    public function getTable($tableName)
-    {
-        if (!in_array($tableName, $this->getTableNames())) {
-            throw new InvalidArgumentException("$tableName is not a table in the current database.");
-        }
-
-        if (empty($this->tables[$tableName])) {
-            $this->tables[$tableName] = new PHPUnit_Extensions_Database_DB_Table($this->getTableMetaData($tableName), $this->databaseConnection);
-        }
-
-        return $this->tables[$tableName];
-    }
-
-    /**
-     * Returns a table meta data object for the given table.
-     *
-     * @param  string                                                   $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData
-     */
-    public function getTableMetaData($tableName)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $this->databaseConnection->getMetaData()->getTableColumns($tableName), $this->databaseConnection->getMetaData()->getTablePrimaryKeys($tableName));
-    }
-
-    /**
-     * Returns a list of table names for the database
-     *
-     * @return Array
-     */
-    public function getTableNames()
-    {
-        return $this->databaseConnection->getMetaData()->getTableNames();
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for communicating with a database.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection implements PHPUnit_Extensions_Database_DB_IDatabaseConnection
-{
-    /**
-     * @var PDO
-     */
-    protected $connection;
-
-    /**
-     * The metadata object used to retrieve table meta data from the database.
-     *
-     * @var PHPUnit_Extensions_Database_DB_IMetaData
-     */
-    protected $metaData;
-
-    /**
-     * Creates a new database connection
-     *
-     * @param PDO    $connection
-     * @param string $schema     - The name of the database schema you will be testing against.
-     */
-    public function __construct(PDO $connection, $schema = '')
-    {
-        $this->connection = $connection;
-        $this->metaData   = PHPUnit_Extensions_Database_DB_MetaData::createMetaData($connection, $schema);
-        $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
-    }
-
-    /**
-     * Close this connection.
-     */
-    public function close()
-    {
-        unset($this->connection);
-    }
-
-    /**
-     * Returns a database metadata object that can be used to retrieve table
-     * meta data from the database.
-     *
-     * @return PHPUnit_Extensions_Database_DB_IMetaData
-     */
-    public function getMetaData()
-    {
-        return $this->metaData;
-    }
-
-    /**
-     * Returns the schema for the connection.
-     *
-     * @return string
-     */
-    public function getSchema()
-    {
-        return $this->getMetaData()->getSchema();
-    }
-
-    /**
-     * Creates a dataset containing the specified table names. If no table
-     * names are specified then it will created a dataset over the entire
-     * database.
-     *
-     * @param  array                                        $tableNames
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     * @todo Implement the filtered data set.
-     */
-    public function createDataSet(array $tableNames = NULL)
-    {
-        if (empty($tableNames)) {
-            return new PHPUnit_Extensions_Database_DB_DataSet($this);
-        } else {
-            return new PHPUnit_Extensions_Database_DB_FilteredDataSet($this, $tableNames);
-        }
-    }
-
-    /**
-     * Creates a table with the result of the specified SQL statement.
-     *
-     * @param  string                               $resultName
-     * @param  string                               $sql
-     * @return PHPUnit_Extensions_Database_DB_Table
-     */
-    public function createQueryTable($resultName, $sql)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_QueryTable($resultName, $sql, $this);
-    }
-
-    /**
-     * Returns this connection database configuration
-     *
-     * @return PHPUnit_Extensions_Database_Database_DatabaseConfig
-     */
-    public function getConfig()
-    {
-    }
-
-    /**
-     * Returns a PDO Connection
-     *
-     * @return PDO
-     */
-    public function getConnection()
-    {
-        return $this->connection;
-    }
-
-    /**
-     * Returns the number of rows in the given table. You can specify an
-     * optional where clause to return a subset of the table.
-     *
-     * @param  string $tableName
-     * @param  string $whereClause
-     * @return int
-     */
-    public function getRowCount($tableName, $whereClause = NULL)
-    {
-        $query = 'SELECT COUNT(*) FROM ' . $this->quoteSchemaObject($tableName);
-
-        if (isset($whereClause)) {
-            $query .= " WHERE {$whereClause}";
-        }
-
-        return (int) $this->connection->query($query)->fetchColumn();
-    }
-
-    /**
-     * Returns a quoted schema object. (table name, column name, etc)
-     *
-     * @param  string $object
-     * @return string
-     */
-    public function quoteSchemaObject($object)
-    {
-        return $this->getMetaData()->quoteSchemaObject($object);
-    }
-
-    /**
-     * Returns the command used to truncate a table.
-     *
-     * @return string
-     */
-    public function getTruncateCommand()
-    {
-        return $this->getMetaData()->getTruncateCommand();
-    }
-
-    /**
-     * Returns true if the connection allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading()
-    {
-        return $this->getMetaData()->allowsCascading();
-    }
-
-    /**
-     * Disables primary keys if connection does not allow setting them otherwise
-     *
-     * @param string $tableName
-     */
-    public function disablePrimaryKeys($tableName)
-    {
-        $this->getMetaData()->disablePrimaryKeys($tableName);
-    }
-
-    /**
-     * Reenables primary keys after they have been disabled
-     *
-     * @param string $tableName
-     */
-    public function enablePrimaryKeys($tableName)
-    {
-        $this->getMetaData()->enablePrimaryKeys($tableName);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides access to a database instance as a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_FilteredDataSet extends PHPUnit_Extensions_Database_DB_DataSet
-{
-    /**
-     * @var Array
-     */
-    protected $tableNames;
-
-    /**
-     * Creates a new dataset using the given database connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
-     */
-    public function __construct(PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection, Array $tableNames)
-    {
-        parent::__construct($databaseConnection);
-        $this->tableNames = $tableNames;
-    }
-
-    /**
-     * Returns a list of table names for the database
-     *
-     * @return Array
-     */
-    public function getTableNames()
-    {
-        return $this->tableNames;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for communicating with a database.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DB_IDatabaseConnection
-{
-    /**
-     * Close this connection.
-     */
-    public function close();
-
-    /**
-     * Creates a dataset containing the specified table names. If no table
-     * names are specified then it will created a dataset over the entire
-     * database.
-     *
-     * @param  array                                        $tableNames
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    public function createDataSet(Array $tableNames = NULL);
-
-    /**
-     * Creates a table with the result of the specified SQL statement.
-     *
-     * @param  string                                     $resultName
-     * @param  string                                     $sql
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function createQueryTable($resultName, $sql);
-
-    /**
-     * Returns a PDO Connection
-     *
-     * @return PDO
-     */
-    public function getConnection();
-
-    /**
-     * Returns a database metadata object that can be used to retrieve table
-     * meta data from the database.
-     *
-     * @return PHPUnit_Extensions_Database_DB_IMetaData
-     */
-    public function getMetaData();
-
-    /**
-     * Returns the number of rows in the given table. You can specify an
-     * optional where clause to return a subset of the table.
-     *
-     * @param string $tableName
-     * @param string $whereClause
-     * @param int
-     */
-    public function getRowCount($tableName, $whereClause = NULL);
-
-    /**
-     * Returns the schema for the connection.
-     *
-     * @return string
-     */
-    public function getSchema();
-
-    /**
-     * Returns a quoted schema object. (table name, column name, etc)
-     *
-     * @param  string $object
-     * @return string
-     */
-    public function quoteSchemaObject($object);
-
-    /**
-     * Returns the command used to truncate a table.
-     *
-     * @return string
-     */
-    public function getTruncateCommand();
-
-    /**
-     * Returns true if the connection allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading();
-
-    /**
-     * Disables primary keys if connection does not allow setting them otherwise
-     *
-     * @param string $tableName
-     */
-    public function disablePrimaryKeys($tableName);
-
-    /**
-     * Reenables primary keys after they have been disabled
-     *
-     * @param string $tableName
-     */
-    public function enablePrimaryKeys($tableName);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for retreiving metadata from a database.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DB_IMetaData
-{
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames();
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName);
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName);
-
-    /**
-     * Returns the name of the default schema.
-     *
-     * @return string
-     */
-    public function getSchema();
-
-    /**
-     * Returns a quoted schema object. (table name, column name, etc)
-     *
-     * @param  string $object
-     * @return string
-     */
-    public function quoteSchemaObject($object);
-
-    /**
-     * Returns true if the rdbms allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading();
-
-    /**
-     * Disables primary keys if rdbms does not allow setting them otherwise
-     *
-     * @param string $tableName
-     */
-    public function disablePrimaryKeys($tableName);
-
-    /**
-     * Reenables primary keys after they have been disabled
-     *
-     * @param string $tableName
-     */
-    public function enablePrimaryKeys($tableName);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic constructor for all meta data classes and a factory for
- * generating the appropriate meta data class.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_DB_MetaData implements PHPUnit_Extensions_Database_DB_IMetaData
-{
-    protected static $metaDataClassMap = [
-        'pgsql'    => 'PHPUnit_Extensions_Database_DB_MetaData_PgSQL',
-        'mysql'    => 'PHPUnit_Extensions_Database_DB_MetaData_MySQL',
-        'oci'      => 'PHPUnit_Extensions_Database_DB_MetaData_Oci',
-        'sqlite'   => 'PHPUnit_Extensions_Database_DB_MetaData_Sqlite',
-        'sqlite2'  => 'PHPUnit_Extensions_Database_DB_MetaData_Sqlite',
-        'sqlsrv'   => 'PHPUnit_Extensions_Database_DB_MetaData_SqlSrv',
-        'firebird' => 'PHPUnit_Extensions_Database_DB_MetaData_Firebird',
-        'dblib'    => 'PHPUnit_Extensions_Database_DB_MetaData_Dblib'
-    ];
-
-    /**
-     * The PDO connection used to retreive database meta data
-     *
-     * @var PDO
-     */
-    protected $pdo;
-
-    /**
-     * The default schema name for the meta data object.
-     *
-     * @var string
-     */
-    protected $schema;
-
-    /**
-     * The character used to quote schema objects.
-     */
-    protected $schemaObjectQuoteChar = '"';
-
-    /**
-     * The command used to perform a TRUNCATE operation.
-     */
-    protected $truncateCommand = 'TRUNCATE';
-
-    /**
-     * Creates a new database meta data object using the given pdo connection
-     * and schema name.
-     *
-     * @param PDO    $pdo
-     * @param string $schema
-     */
-    public final function __construct(PDO $pdo, $schema = '')
-    {
-        $this->pdo    = $pdo;
-        $this->schema = $schema;
-    }
-
-    /**
-     * Creates a meta data object based on the driver of given $pdo object and
-     * $schema name.
-     *
-     * @param  PDO                                     $pdo
-     * @param  string                                  $schema
-     * @return PHPUnit_Extensions_Database_DB_MetaData
-     */
-    public static function createMetaData(PDO $pdo, $schema = '')
-    {
-        $driverName = $pdo->getAttribute(PDO::ATTR_DRIVER_NAME);
-        if (isset(self::$metaDataClassMap[$driverName])) {
-            $className = self::$metaDataClassMap[$driverName];
-
-            if ($className instanceof ReflectionClass) {
-                return $className->newInstance($pdo, $schema);
-            } else {
-                return self::registerClassWithDriver($className, $driverName)->newInstance($pdo, $schema);
-            }
-        } else {
-            throw new PHPUnit_Extensions_Database_Exception("Could not find a meta data driver for {$driverName} pdo driver.");
-        }
-    }
-
-    /**
-     * Validates and registers the given $className with the given $pdoDriver.
-     * It should be noted that this function will not attempt to include /
-     * require the file. The $pdoDriver can be determined by the value of the
-     * PDO::ATTR_DRIVER_NAME attribute for a pdo object.
-     *
-     * A reflection of the $className is returned.
-     *
-     * @param  string          $className
-     * @param  string          $pdoDriver
-     * @return ReflectionClass
-     */
-    public static function registerClassWithDriver($className, $pdoDriver)
-    {
-        if (!class_exists($className)) {
-            throw new PHPUnit_Extensions_Database_Exception("Specified class for {$pdoDriver} driver ({$className}) does not exist.");
-        }
-
-        $reflection = new ReflectionClass($className);
-        if ($reflection->isSubclassOf('PHPUnit_Extensions_Database_DB_MetaData')) {
-            return self::$metaDataClassMap[$pdoDriver] = $reflection;
-        } else {
-            throw new PHPUnit_Extensions_Database_Exception("Specified class for {$pdoDriver} driver ({$className}) does not extend PHPUnit_Extensions_Database_DB_MetaData.");
-        }
-    }
-
-    /**
-     * Returns the schema for the connection.
-     *
-     * @return string
-     */
-    public function getSchema()
-    {
-        return $this->schema;
-    }
-
-    /**
-     * Returns a quoted schema object. (table name, column name, etc)
-     *
-     * @param  string $object
-     * @return string
-     */
-    public function quoteSchemaObject($object)
-    {
-        $parts       = explode('.', $object);
-        $quotedParts = [];
-
-        foreach ($parts as $part) {
-            $quotedParts[] = $this->schemaObjectQuoteChar .
-                str_replace($this->schemaObjectQuoteChar, $this->schemaObjectQuoteChar . $this->schemaObjectQuoteChar, $part) .
-                $this->schemaObjectQuoteChar;
-        }
-
-        return implode('.', $quotedParts);
-    }
-
-    /**
-     * Seperates the schema and the table from a fully qualified table name.
-     *
-     * Returns an associative array containing the 'schema' and the 'table'.
-     *
-     * @param  string $fullTableName
-     * @return array
-     */
-    public function splitTableName($fullTableName)
-    {
-        if (($dot = strpos($fullTableName, '.')) !== FALSE) {
-            return [
-                'schema' => substr($fullTableName, 0, $dot),
-                'table'  => substr($fullTableName, $dot + 1)
-            ];
-        } else {
-            return [
-                'schema' => NULL,
-                'table'  => $fullTableName
-            ];
-        }
-    }
-
-    /**
-     * Returns the command for the database to truncate a table.
-     *
-     * @return string
-     */
-    public function getTruncateCommand()
-    {
-        return $this->truncateCommand;
-    }
-
-    /**
-     * Returns true if the rdbms allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading()
-    {
-        return FALSE;
-    }
-
-    /**
-     * Disables primary keys if the rdbms does not allow setting them otherwise
-     *
-     * @param string $tableName
-     */
-    public function disablePrimaryKeys($tableName)
-    {
-        return;
-    }
-
-    /**
-     * Reenables primary keys after they have been disabled
-     *
-     * @param string $tableName
-     */
-    public function enablePrimaryKeys($tableName)
-    {
-        return;
-    }
-}
-<?php
-/**
- * Provides functionality to retrieve meta data from an Dblib (SQL Server) database.
- */
-class PHPUnit_Extensions_Database_DB_MetaData_Dblib extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    /**
-     * No character used to quote schema objects.
-     * @var string
-     */
-    protected $schemaObjectQuoteChar = '';
-
-    /**
-     * The command used to perform a TRUNCATE operation.
-     * @var string
-     */
-    protected $truncateCommand = 'TRUNCATE TABLE';
-
-    /**
-     * @var array
-     */
-    protected $columns = [];
-
-    /**
-     * @var array
-     */
-    protected $keys = [];
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $tableNames = [];
-
-        $query = 'SELECT name
-                    FROM sys.tables
-                   ORDER BY name';
-
-        $result = $this->pdo->query($query);
-
-        while ($tableName = $result->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-   }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a sql server database.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $query = "SELECT name
-			FROM sys.columns
-		   WHERE object_id = OBJECT_ID('" . $tableName . "')
-		   ORDER BY column_id";
-
-        $result = $this->pdo->query($query);
-
-        while ($columnName = $result->fetchColumn(0)) {
-            $this->columns[$tableName][] = $columnName;
-        }
-
-        $keyQuery = "SELECT COL_NAME(ic.OBJECT_ID,ic.column_id) AS ColumnName
-			FROM    sys.indexes AS i INNER JOIN 
-				sys.index_columns AS ic ON  i.OBJECT_ID = ic.OBJECT_ID
-						        AND i.index_id = ic.index_id
-			WHERE   i.is_primary_key = 1 AND OBJECT_NAME(ic.OBJECT_ID) = '" . $tableName . "'";
-
-        $result = $this->pdo->query($keyQuery);
-
-        while ($columnName = $result->fetchColumn(0)) {
-            $this->keys[$tableName][] = $columnName;
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from a Firebird database.
- *
- * @version    Release: 1.1.2
- * @since
- */
-class PHPUnit_Extensions_Database_DB_MetaData_Firebird extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    /**
-     * The command used to perform a TRUNCATE operation.
-     * @var string
-     */
-    protected $truncateCommand = 'DELETE FROM';
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query = "
-            SELECT DISTINCT
-                TABLE_NAME
-            FROM INFORMATION_SCHEMA.TABLES
-            WHERE
-                TABLE_TYPE='BASE TABLE' AND
-                TABLE_SCHEMA = ?
-            ORDER BY TABLE_NAME
-        ";
-
-        $query =  "
-            select
-              RDB$RELATION_NAME as TABLE_NAME
-            from RDB$RELATIONS
-            where
-              ((RDB$RELATION_TYPE = 0) or
-               (RDB$RELATION_TYPE is null)) and
-              (RDB$SYSTEM_FLAG = 0)
-            order by (RDB$RELATION_NAME)
-        ";
-
-        $statement = $this->pdo->prepare($query);
-        $statement->execute([$this->getSchema()]);
-
-        $tableNames = [];
-        while ($tableName = $statement->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a database table.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $this->columns[$tableName] = [];
-        $this->keys[$tableName]    = [];
-
-        $columnQuery = '
-            SELECT DISTINCT
-                COLUMN_NAME, ORDINAL_POSITION
-            FROM INFORMATION_SCHEMA.COLUMNS
-            WHERE
-                TABLE_NAME = ? AND
-                TABLE_SCHEMA = ?
-            ORDER BY ORDINAL_POSITION
-        ';
-
-        $columnQuery = "
-            select
-              rf.RDB\$FIELD_NAME as COLUMN_NAME,
-              rf.RDB\$FIELD_POSITION as ORDINAL_POSITION
-            from RDB\$RELATION_FIELDS as rf
-            where
-              upper(RDB\$RELATION_NAME) = upper(?)
-            order by
-              ORDINAL_POSITION
-
-        ";
-
-        $columnStatement = $this->pdo->prepare($columnQuery);
-        $columnStatement->execute([$tableName]);
-
-        while ($columName = $columnStatement->fetchColumn(0)) {
-            $this->columns[$tableName][] = $columName;
-        }
-
-        $keyQuery = "
-            SELECT
-                KCU.COLUMN_NAME,
-                KCU.ORDINAL_POSITION
-            FROM
-                INFORMATION_SCHEMA.KEY_COLUMN_USAGE as KCU
-            LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS as TC
-                ON TC.TABLE_NAME = KCU.TABLE_NAME
-            WHERE
-                TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
-                TC.TABLE_NAME = ? AND
-                TC.TABLE_SCHEMA = ?
-            ORDER BY
-                KCU.ORDINAL_POSITION ASC
-        ";
-
-        $keyQuery = "
-            select
-              idseg.rdb\$field_name as COLUMN_NAME,
-              idseg.rdb\$field_position as ORDINAL_POSITION,
-              rc.rdb\$relation_name as tablename,
-              rc.rdb\$constraint_name as pk_name
-            from
-              RDB\$RELATION_CONSTRAINTS AS rc
-                left join
-              rdb\$index_segments as idseg on
-                (rc.rdb\$index_name = idseg.rdb\$index_name)
-            where
-              rc.RDB\$CONSTRAINT_TYPE = 'PRIMARY KEY'
-              and upper(rc.RDB\$RELATION_NAME) = upper(?)
-            order by
-              rc.rdb\$constraint_name, idseg.rdb\$field_position
-        ";
-
-        $keyStatement = $this->pdo->prepare($keyQuery);
-        $keyStatement->execute([$tableName]);
-
-        while ($columName = $keyStatement->fetchColumn(0)) {
-            $this->keys[$tableName][] = $columName;
-        }
-    }
-
-    /**
-     * Returns the schema for the connection.
-     *
-     * @return string
-     */
-    public function getSchema()
-    {
-        if (empty($this->schema)) {
-            return 'public';
-        } else {
-            return $this->schema;
-        }
-    }
-
-    /**
-     * Returns true if the rdbms allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading()
-    {
-        return false;
-    }
-
-    /**
-     * Returns a quoted schema object. (table name, column name, etc)
-     *
-     * @param  string $object
-     * @return string
-     */
-    public function quoteSchemaObject($object) {
-        return $object; //firebird does not allow object quoting
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from a database with information_schema support.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_MetaData_InformationSchema extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    protected $columns = [];
-
-    protected $keys = [];
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query = "
-            SELECT DISTINCT
-                TABLE_NAME
-            FROM INFORMATION_SCHEMA.TABLES
-            WHERE
-                TABLE_TYPE='BASE TABLE' AND
-                TABLE_SCHEMA = ?
-            ORDER BY TABLE_NAME
-        ";
-
-        $statement = $this->pdo->prepare($query);
-        $statement->execute([$this->getSchema()]);
-
-        $tableNames = [];
-        while ($tableName = $statement->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a sqlite database.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $this->columns[$tableName] = [];
-        $this->keys[$tableName]    = [];
-
-        $columnQuery = '
-            SELECT DISTINCT
-                COLUMN_NAME
-            FROM INFORMATION_SCHEMA.COLUMNS
-            WHERE
-                TABLE_NAME = ? AND
-                TABLE_SCHEMA = ?
-            ORDER BY ORDINAL_POSITION
-        ';
-
-        $columnStatement = $this->pdo->prepare($columnQuery);
-        $columnStatement->execute([$tableName, $this->getSchema()]);
-
-        while ($columName = $columnStatement->fetchColumn(0)) {
-            $this->columns[$tableName][] = $columName;
-        }
-
-        $keyQuery = "
-            SELECT
-                KCU.COLUMN_NAME
-            FROM
-                INFORMATION_SCHEMA.TABLE_CONSTRAINTS as TC,
-                INFORMATION_SCHEMA.KEY_COLUMN_USAGE as KCU
-            WHERE
-                TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME AND
-                TC.TABLE_NAME = KCU.TABLE_NAME AND
-                TC.TABLE_SCHEMA = KCU.TABLE_SCHEMA AND
-                TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
-                TC.TABLE_NAME = ? AND
-                TC.TABLE_SCHEMA = ?
-            ORDER BY
-                KCU.ORDINAL_POSITION ASC
-        ";
-
-        $keyStatement = $this->pdo->prepare($keyQuery);
-        $keyStatement->execute([$tableName, $this->getSchema()]);
-
-        while ($columName = $keyStatement->fetchColumn(0)) {
-            $this->keys[$tableName][] = $columName;
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from a MySQL database.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_MetaData_MySQL extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    protected $schemaObjectQuoteChar = '`';
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query     = 'SHOW TABLES';
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-
-        $tableNames = [];
-        while (($tableName = $statement->fetchColumn(0))) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        $query     = 'SHOW COLUMNS FROM ' . $this->quoteSchemaObject($tableName);
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-
-        $columnNames = [];
-        while (($columnName = $statement->fetchColumn(0))) {
-            $columnNames[] = $columnName;
-        }
-
-        return $columnNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        $query     = 'SHOW INDEX FROM ' . $this->quoteSchemaObject($tableName);
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-        $statement->setFetchMode(PDO::FETCH_ASSOC);
-
-        $columnNames = [];
-        while (($column = $statement->fetch())) {
-            if ($column['Key_name'] == 'PRIMARY') {
-                $columnNames[] = $column['Column_name'];
-            }
-        }
-
-        return $columnNames;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from an Oracle database.
- *
- * @since      Class available since Release 3.2.3
- */
-class PHPUnit_Extensions_Database_DB_MetaData_Oci extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    /**
-     * No character used to quote schema objects.
-     * @var string
-     */
-    protected $schemaObjectQuoteChar = '';
-
-    /**
-     * The command used to perform a TRUNCATE operation.
-     * @var string
-     */
-    protected $truncateCommand = 'TRUNCATE TABLE';
-
-    /**
-     * @var array
-     */
-    protected $columns = [];
-
-    /**
-     * @var array
-     */
-    protected $keys = [];
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $tableNames = [];
-
-        $query = "SELECT table_name
-                    FROM cat
-                   WHERE table_type='TABLE'
-                   ORDER BY table_name";
-
-        $result = $this->pdo->query($query);
-
-        while ($tableName = $result->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-   }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a oracle database.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $ownerQuery    = '';
-        $conOwnerQuery = '';
-        $tableParts    = $this->splitTableName($tableName);
-
-        $this->columns[$tableName] = [];
-        $this->keys[$tableName]    = [];
-
-        if (!empty($tableParts['schema']))
-        {
-            $ownerQuery    = " AND OWNER = '{$tableParts['schema']}'";
-            $conOwnerQuery = " AND a.owner = '{$tableParts['schema']}'";
-        }
-
-        $query = "SELECT DISTINCT COLUMN_NAME
-                    FROM USER_TAB_COLUMNS
-                   WHERE TABLE_NAME='" . $tableParts['table'] . "'
-                    $ownerQuery
-                   ORDER BY COLUMN_NAME";
-
-        $result = $this->pdo->query($query);
-
-        while ($columnName = $result->fetchColumn(0)) {
-            $this->columns[$tableName][] = $columnName;
-        }
-
-        $keyQuery = "SELECT b.column_name
-                       FROM user_constraints a, user_cons_columns b
-                      WHERE a.constraint_type='P'
-                        AND a.constraint_name=b.constraint_name
-                        $conOwnerQuery
-                        AND a.table_name = '" . $tableParts['table'] . "' ";
-
-        $result = $this->pdo->query($keyQuery);
-
-        while ($columnName = $result->fetchColumn(0)) {
-            $this->keys[$tableName][] = $columnName;
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from a PostgreSQL database.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_MetaData_PgSQL extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query = "
-            SELECT DISTINCT
-                TABLE_NAME
-            FROM INFORMATION_SCHEMA.TABLES
-            WHERE
-                TABLE_TYPE='BASE TABLE' AND
-                TABLE_SCHEMA = ?
-            ORDER BY TABLE_NAME
-        ";
-
-        $statement = $this->pdo->prepare($query);
-        $statement->execute([$this->getSchema()]);
-
-        $tableNames = [];
-        while ($tableName = $statement->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a database table.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $this->columns[$tableName] = [];
-        $this->keys[$tableName]    = [];
-
-        $columnQuery = '
-            SELECT DISTINCT
-                COLUMN_NAME, ORDINAL_POSITION
-            FROM INFORMATION_SCHEMA.COLUMNS
-            WHERE
-                TABLE_NAME = ? AND
-                TABLE_SCHEMA = ?
-            ORDER BY ORDINAL_POSITION
-        ';
-
-        $columnStatement = $this->pdo->prepare($columnQuery);
-        $columnStatement->execute([$tableName, $this->getSchema()]);
-
-        while ($columName = $columnStatement->fetchColumn(0)) {
-            $this->columns[$tableName][] = $columName;
-        }
-
-        $keyQuery = "
-            SELECT
-                KCU.COLUMN_NAME,
-                KCU.ORDINAL_POSITION
-            FROM
-                INFORMATION_SCHEMA.KEY_COLUMN_USAGE as KCU
-            LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS as TC
-                ON TC.TABLE_NAME = KCU.TABLE_NAME AND
-                TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME
-            WHERE
-                TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND
-                TC.TABLE_NAME = ? AND
-                TC.TABLE_SCHEMA = ?
-            ORDER BY
-                KCU.ORDINAL_POSITION ASC
-        ";
-
-        $keyStatement = $this->pdo->prepare($keyQuery);
-        $keyStatement->execute([$tableName, $this->getSchema()]);
-
-        while ($columName = $keyStatement->fetchColumn(0)) {
-            $this->keys[$tableName][] = $columName;
-        }
-    }
-
-    /**
-     * Returns the schema for the connection.
-     *
-     * @return string
-     */
-    public function getSchema()
-    {
-        if (empty($this->schema)) {
-            return 'public';
-        } else {
-            return $this->schema;
-        }
-    }
-
-    /**
-     * Returns true if the rdbms allows cascading
-     *
-     * @return bool
-     */
-    public function allowsCascading()
-    {
-        return TRUE;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from a Microsoft SQL Server database.
- *
- * @since      Class available since Release 1.1.0
- */
-class PHPUnit_Extensions_Database_DB_MetaData_SqlSrv extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    /**
-     * No character used to quote schema objects.
-     * @var string
-     */
-    protected $schemaObjectQuoteChar = '';
-
-    /**
-     * The command used to perform a TRUNCATE operation.
-     * @var string
-     */
-    protected $truncateCommand = 'TRUNCATE TABLE';
-
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query = "SELECT name
-                    FROM sysobjects
-                   WHERE type='U'";
-
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-
-        $tableNames = [];
-        while (($tableName = $statement->fetchColumn(0))) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        $query = "SELECT c.name
-                    FROM syscolumns c
-               LEFT JOIN sysobjects o ON c.id = o.id
-                   WHERE o.name = '$tableName'";
-
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-
-        $columnNames = [];
-        while (($columnName = $statement->fetchColumn(0))) {
-            $columnNames[] = $columnName;
-        }
-
-        return $columnNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        $query     = "EXEC sp_statistics '$tableName'";
-        $statement = $this->pdo->prepare($query);
-        $statement->execute();
-        $statement->setFetchMode(PDO::FETCH_ASSOC);
-
-        $columnNames = [];
-        while (($column = $statement->fetch())) {
-            if ($column['TYPE'] == 1) {
-                $columnNames[] = $column['COLUMN_NAME'];
-            }
-        }
-
-        return $columnNames;
-    }
-
-    /**
-     * Allow overwriting identities for the given table.
-     *
-     * @param string $tableName
-     */
-    public function disablePrimaryKeys($tableName)
-    {
-        try {
-            $query = "SET IDENTITY_INSERT $tableName ON";
-            $this->pdo->exec($query);
-        }
-        catch (PDOException $e) {
-            // ignore the error here - can happen if primary key is not an identity
-        }
-    }
-
-    /**
-     * Reenable auto creation of identities for the given table.
-     *
-     * @param string $tableName
-     */
-    public function enablePrimaryKeys($tableName)
-    {
-        try {
-            $query = "SET IDENTITY_INSERT $tableName OFF";
-            $this->pdo->exec($query);
-        }
-        catch (PDOException $e) {
-            // ignore the error here - can happen if primary key is not an identity
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides functionality to retrieve meta data from an Sqlite database.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_MetaData_Sqlite extends PHPUnit_Extensions_Database_DB_MetaData
-{
-    protected $columns = [];
-
-    protected $keys = [];
-
-    protected $truncateCommand = 'DELETE FROM';
-    /**
-     * Returns an array containing the names of all the tables in the database.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $query = "
-            SELECT name
-            FROM sqlite_master
-            WHERE
-                type='table' AND
-                name <> 'sqlite_sequence'
-            ORDER BY name
-        ";
-
-        $result = $this->pdo->query($query);
-
-        $tableNames = [];
-
-        while ($tableName = $result->fetchColumn(0)) {
-            $tableNames[] = $tableName;
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns an array containing the names of all the columns in the
-     * $tableName table,
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTableColumns($tableName)
-    {
-        if (!isset($this->columns[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->columns[$tableName];
-    }
-
-    /**
-     * Returns an array containing the names of all the primary key columns in
-     * the $tableName table.
-     *
-     * @param  string $tableName
-     * @return array
-     */
-    public function getTablePrimaryKeys($tableName)
-    {
-        if (!isset($this->keys[$tableName])) {
-            $this->loadColumnInfo($tableName);
-        }
-
-        return $this->keys[$tableName];
-    }
-
-    /**
-     * Loads column info from a sqlite database.
-     *
-     * @param string $tableName
-     */
-    protected function loadColumnInfo($tableName)
-    {
-        $query     = "PRAGMA table_info('{$tableName}')";
-        $statement = $this->pdo->query($query);
-
-        /* @var $statement PDOStatement */
-        $this->columns[$tableName] = [];
-        $this->keys[$tableName]    = [];
-
-        while ($columnData = $statement->fetch(PDO::FETCH_NUM)) {
-            $this->columns[$tableName][] = $columnData[1];
-
-            if ($columnData[5] == 1) {
-                $this->keys[$tableName][] = $columnData[1];
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides the functionality to represent a database result set as a DBUnit
- * table.
- *
- * @deprecated The PHPUnit_Extension_Database_DataSet_QueryTable should be used instead
- * @see        PHPUnit_Extension_Database_DataSet_QueryTable
- * @see        PHPUnit_Extension_Database_DataSet_QueryDataSet
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_ResultSetTable extends PHPUnit_Extensions_Database_DataSet_AbstractTable
-{
-    /**
-     * Creates a new result set table.
-     *
-     * @param string       $tableName
-     * @param PDOStatement $pdoStatement
-     */
-    public function __construct($tableName, PDOStatement $pdoStatement)
-    {
-        $this->data = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
-
-        if (count($this->data)) {
-            $columns = array_keys($this->data[0]);
-        } else {
-            $columns = [];
-        }
-
-        $this->setTableMetaData(new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns));
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides the functionality to represent a database table.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_Table extends PHPUnit_Extensions_Database_DataSet_AbstractTable
-{
-    /**
-     * Creates a new database table object.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection)
-    {
-        $this->setTableMetaData($tableMetaData);
-
-        $pdoStatement = $databaseConnection->getConnection()->prepare(PHPUnit_Extensions_Database_DB_DataSet::buildTableSelect($tableMetaData, $databaseConnection));
-        $pdoStatement->execute();
-        $this->data = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides iterative access to tables from a database instance.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_TableIterator implements PHPUnit_Extensions_Database_DataSet_ITableIterator
-{
-    /**
-     * An array of tablenames.
-     *
-     * @var Array
-     */
-    protected $tableNames;
-
-    /**
-     * If this property is true then the tables will be iterated in reverse
-     * order.
-     *
-     * @var bool
-     */
-    protected $reverse;
-
-    /**
-     * The database dataset that this iterator iterates over.
-     *
-     * @var PHPUnit_Extensions_Database_DB_DataSet
-     */
-    protected $dataSet;
-
-    public function __construct($tableNames, PHPUnit_Extensions_Database_DB_DataSet $dataSet, $reverse = FALSE)
-    {
-        $this->tableNames = $tableNames;
-        $this->dataSet    = $dataSet;
-        $this->reverse    = $reverse;
-
-        $this->rewind();
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable()
-    {
-        return $this->current();
-    }
-
-    /**
-     * Returns the current table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        return $this->current()->getTableMetaData();
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function current()
-    {
-        $tableName = current($this->tableNames);
-
-        return $this->dataSet->getTable($tableName);
-    }
-
-    /**
-     * Returns the name of the current table.
-     *
-     * @return string
-     */
-    public function key()
-    {
-        return $this->current()->getTableMetaData()->getTableName();
-    }
-
-    /**
-     * advances to the next element.
-     */
-    public function next()
-    {
-        if ($this->reverse) {
-            prev($this->tableNames);
-        } else {
-            next($this->tableNames);
-        }
-    }
-
-    /**
-     * Rewinds to the first element
-     */
-    public function rewind()
-    {
-        if ($this->reverse) {
-            end($this->tableNames);
-        } else {
-            reset($this->tableNames);
-        }
-    }
-
-    /**
-     * Returns true if the current index is valid
-     *
-     * @return bool
-     */
-    public function valid()
-    {
-        return (current($this->tableNames) !== FALSE);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class loads a table metadata object with database metadata.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DB_TableMetaData extends PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData
-{
-    public function __construct($tableName, PHPUnit_Extensions_Database_DB_IMetaData $databaseMetaData)
-    {
-        $this->tableName   = $tableName;
-        $this->columns     = $databaseMetaData->getTableColumns($tableName);
-        $this->primaryKeys = $databaseMetaData->getTablePrimaryKeys($tableName);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implements the basic functionality of data sets.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_DataSet_AbstractDataSet implements PHPUnit_Extensions_Database_DataSet_IDataSet
-{
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected abstract function createIterator($reverse = FALSE);
-
-    /**
-     * Returns an array of table names contained in the dataset.
-     *
-     * @return array
-     */
-    public function getTableNames()
-    {
-        $tableNames = [];
-
-        foreach ($this->getIterator() as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            $tableNames[] = $table->getTableMetaData()->getTableName();
-        }
-
-        return $tableNames;
-    }
-
-    /**
-     * Returns a table meta data object for the given table.
-     *
-     * @param  string                                             $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData($tableName)
-    {
-        return $this->getTable($tableName)->getTableMetaData();
-    }
-
-    /**
-     * Returns a table object for the given table.
-     *
-     * @param  string                                     $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable($tableName)
-    {
-        foreach ($this->getIterator() as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            if ($table->getTableMetaData()->getTableName() == $tableName) {
-                return $table;
-            }
-        }
-    }
-
-    /**
-     * Returns an iterator for all table objects in the given dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    public function getIterator()
-    {
-        return $this->createIterator();
-    }
-
-    /**
-     * Returns a reverse iterator for all table objects in the given dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    public function getReverseIterator()
-    {
-        return $this->createIterator(TRUE);
-    }
-
-    /**
-     * Asserts that the given data set matches this data set.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_IDataSet $other)
-    {
-        $thisTableNames  = $this->getTableNames();
-        $otherTableNames = $other->getTableNames();
-
-        sort($thisTableNames);
-        sort($otherTableNames);
-
-        if ($thisTableNames != $otherTableNames) {
-            return FALSE;
-        }
-
-        foreach ($thisTableNames as $tableName) {
-            $table = $this->getTable($tableName);
-
-            if (!$table->matches($other->getTable($tableName))) {
-                return FALSE;
-            }
-        }
-
-        return TRUE;
-    }
-
-    public function __toString()
-    {
-        $iterator = $this->getIterator();
-
-        $dataSetString = '';
-        foreach ($iterator as $table) {
-            $dataSetString .= $table->__toString();
-        }
-
-        return $dataSetString;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic functionality for dbunit tables
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_AbstractTable implements PHPUnit_Extensions_Database_DataSet_ITable
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    protected $tableMetaData;
-
-    /**
-     * A 2-dimensional array containing the data for this table.
-     *
-     * @var array
-     */
-    protected $data;
-
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITable|null
-     */
-    private $other;
-
-    /**
-     * Sets the metadata for this table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData
-     * @deprecated
-     */
-    protected function setTableMetaData(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData)
-    {
-        $this->tableMetaData = $tableMetaData;
-    }
-
-    /**
-     * Returns the table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        return $this->tableMetaData;
-    }
-
-    /**
-     * Returns the number of rows in this table.
-     *
-     * @return int
-     */
-    public function getRowCount()
-    {
-        return count($this->data);
-    }
-
-    /**
-     * Returns the value for the given column on the given row.
-     *
-     * @param int $row
-     * @param int $column
-     * @todo reorganize this function to throw the exception first.
-     */
-    public function getValue($row, $column)
-    {
-        if (isset($this->data[$row][$column])) {
-            $value = $this->data[$row][$column];
-
-            return ($value instanceof SimpleXMLElement) ? (string) $value : $value;
-        } else {
-            if (!in_array($column, $this->getTableMetaData()->getColumns()) || $this->getRowCount() <= $row) {
-                throw new InvalidArgumentException("The given row ({$row}) and column ({$column}) do not exist in table {$this->getTableMetaData()->getTableName()}");
-            } else {
-                return NULL;
-            }
-        }
-    }
-
-    /**
-     * Returns the an associative array keyed by columns for the given row.
-     *
-     * @param  int   $row
-     * @return array
-     */
-    public function getRow($row)
-    {
-        if (isset($this->data[$row])) {
-            return $this->data[$row];
-        } else {
-            if ($this->getRowCount() <= $row) {
-                throw new InvalidArgumentException("The given row ({$row}) does not exist in table {$this->getTableMetaData()->getTableName()}");
-            } else {
-                return NULL;
-            }
-        }
-    }
-
-    /**
-     * Asserts that the given table matches this table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITable $other)
-    {
-        $thisMetaData  = $this->getTableMetaData();
-        $otherMetaData = $other->getTableMetaData();
-
-        if (!$thisMetaData->matches($otherMetaData) ||
-            $this->getRowCount() != $other->getRowCount()) {
-            return FALSE;
-        }
-
-        $columns  = $thisMetaData->getColumns();
-        $rowCount = $this->getRowCount();
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            foreach ($columns as $columnName) {
-                $thisValue  = $this->getValue($i, $columnName);
-                $otherValue = $other->getValue($i, $columnName);
-                if (is_numeric($thisValue) && is_numeric($otherValue)) {
-                    if ($thisValue != $otherValue) {
-                        $this->other = $other;
-
-                        return FALSE;
-                    }
-                } elseif ($thisValue !== $otherValue) {
-                    $this->other = $other;
-
-                    return FALSE;
-                }
-            }
-        }
-
-        return TRUE;
-    }
-
-    /**
-     * Checks if a given row is in the table
-     *
-     * @param array $row
-     *
-     * @return bool
-     */
-    public function assertContainsRow(array $row)
-    {
-        return in_array($row, $this->data);
-    }
-
-    public function __toString()
-    {
-        $columns       = $this->getTableMetaData()->getColumns();
-        $lineSeperator = str_repeat('+----------------------', count($columns)) . "+\n";
-        $lineLength    = strlen($lineSeperator) - 1;
-
-        $tableString  = $lineSeperator;
-        $tableString .= '| ' . str_pad($this->getTableMetaData()->getTableName(), $lineLength - 4, ' ', STR_PAD_RIGHT) . " |\n";
-        $tableString .= $lineSeperator;
-        $tableString .= $this->rowToString($columns);
-        $tableString .= $lineSeperator;
-
-        $rowCount = $this->getRowCount();
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            $values = [];
-
-            foreach ($columns as $columnName) {
-                if ($this->other) {
-                    try {
-                        if ($this->getValue($i, $columnName) != $this->other->getValue($i, $columnName)) {
-                            $values[] = sprintf(
-                                '%s != actual %s',
-                                var_export($this->getValue($i, $columnName), TRUE),
-                                var_export($this->other->getValue($i, $columnName), TRUE)
-                            );
-                        } else {
-                            $values[] = $this->getValue($i, $columnName);
-                        }
-                    } catch (\InvalidArgumentException $ex) {
-                        $values[] = $this->getValue($i, $columnName) . ': no row';
-                    }
-                } else {
-                    $values[] = $this->getValue($i, $columnName);
-                }
-            }
-
-            $tableString .= $this->rowToString($values) . $lineSeperator;
-        }
-
-        return ($this->other ? '(table diff enabled)' : '') . "\n" . $tableString . "\n";
-    }
-
-    protected function rowToString(Array $row)
-    {
-        $rowString = '';
-
-        foreach ($row as $value) {
-            if (is_null($value)) {
-                $value = 'NULL';
-            }
-
-            $rowString .= '| ' . str_pad(substr($value, 0, 20), 20, ' ', STR_PAD_BOTH) . ' ';
-        }
-
-        return $rowString . "|\n";
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides basic functionality for table meta data.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_DataSet_AbstractTableMetaData implements PHPUnit_Extensions_Database_DataSet_ITableMetaData
-{
-    /**
-     * The names of all columns in the table.
-     *
-     * @var Array
-     */
-    protected $columns;
-
-    /**
-     * The names of all the primary keys in the table.
-     *
-     * @var Array
-     */
-    protected $primaryKeys;
-
-    /**
-     * @var string
-     */
-    protected $tableName;
-
-    /**
-     * Returns the names of the columns in the table.
-     *
-     * @return array
-     */
-    public function getColumns()
-    {
-        return $this->columns;
-    }
-
-    /**
-     * Returns the names of the primary key columns in the table.
-     *
-     * @return array
-     */
-    public function getPrimaryKeys()
-    {
-        return $this->primaryKeys;
-    }
-
-    /**
-     * Returns the name of the table.
-     *
-     * @return string
-     */
-    public function getTableName()
-    {
-        return $this->tableName;
-    }
-
-    /**
-     * Asserts that the given tableMetaData matches this tableMetaData.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITableMetaData $other)
-    {
-        if ($this->getTableName() != $other->getTableName() ||
-            $this->getColumns() != $other->getColumns()) {
-            return FALSE;
-        }
-
-        return TRUE;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default implementation of a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_DataSet_AbstractXmlDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * @var array
-     */
-    protected $tables;
-
-    /**
-     * @var SimpleXmlElement
-     */
-    protected $xmlFileContents;
-
-    /**
-     * Creates a new dataset using the given tables.
-     *
-     * @param array $tables
-     */
-    public function __construct($xmlFile)
-    {
-        if (!is_file($xmlFile)) {
-            throw new InvalidArgumentException(
-              "Could not find xml file: {$xmlFile}"
-            );
-        }
-
-        $libxmlErrorReporting  = libxml_use_internal_errors(TRUE);
-        $this->xmlFileContents = simplexml_load_file($xmlFile, 'SimpleXMLElement', LIBXML_COMPACT | LIBXML_PARSEHUGE);
-
-        if (!$this->xmlFileContents) {
-            $message = '';
-
-            foreach (libxml_get_errors() as $error) {
-                $message .= print_r($error, true);
-            }
-
-            throw new RuntimeException($message);
-        }
-
-        libxml_clear_errors();
-        libxml_use_internal_errors($libxmlErrorReporting);
-
-        $tableColumns = [];
-        $tableValues  = [];
-
-        $this->getTableInfo($tableColumns, $tableValues);
-        $this->createTables($tableColumns, $tableValues);
-    }
-
-    /**
-     * Reads the simple xml object and creates the appropriate tables and meta
-     * data for this dataset.
-     */
-    protected abstract function getTableInfo(Array &$tableColumns, Array &$tableValues);
-
-    protected function createTables(Array &$tableColumns, Array &$tableValues)
-    {
-        foreach ($tableValues as $tableName => $values) {
-            $table = $this->getOrCreateTable($tableName, $tableColumns[$tableName]);
-            foreach ($values as $value) {
-                $table->addRow($value);
-            }
-        }
-    }
-
-    /**
-     * Returns the table with the matching name. If the table does not exist
-     * an empty one is created.
-     *
-     * @param  string                                     $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    protected function getOrCreateTable($tableName, $tableColumns)
-    {
-        if (empty($this->tables[$tableName])) {
-            $tableMetaData            = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $tableColumns);
-            $this->tables[$tableName] = new PHPUnit_Extensions_Database_DataSet_DefaultTable($tableMetaData);
-        }
-
-        return $this->tables[$tableName];
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implements the basic functionality of data sets using a PHP array.
- *
- * @since      Class available since Release 1.3.2
- */
-class PHPUnit_Extensions_Database_DataSet_ArrayDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * @var array
-     */
-    protected $tables = [];
-
-    /**
-     * Constructor to build a new ArrayDataSet with the given array.
-     * The array parameter is an associative array of tables where the key is
-     * the table name and the value an array of rows. Each row is an associative
-     * array by itself with keys representing the field names and the values the
-     * actual data.
-     * For example:
-     * array(
-     *     "addressbook" => array(
-     *         array("id" => 1, "name" => "...", "address" => "..."),
-     *         array("id" => 2, "name" => "...", "address" => "...")
-     *     )
-     * )
-     *
-     * @param array $data
-     */
-    public function __construct(array $data)
-    {
-        foreach ($data AS $tableName => $rows) {
-            $columns = [];
-            if (isset($rows[0])) {
-                $columns = array_keys($rows[0]);
-            }
-
-            $metaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns);
-            $table    = new PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData);
-
-            foreach ($rows AS $row) {
-                $table->addRow($row);
-            }
-            $this->tables[$tableName] = $table;
-        }
-    }
-
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
-    }
-
-    public function getTable($tableName)
-    {
-        if (!isset($this->tables[$tableName])) {
-            throw new InvalidArgumentException("$tableName is not a table in the current database.");
-        }
-
-        return $this->tables[$tableName];
-    }
-}
-?><?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates Composite Datasets
- *
- * Allows for creating datasets from multiple sources (csv, query, xml, etc.)
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_CompositeDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    protected $motherDataSet;
-
-    /**
-     * Creates a new Composite dataset
-     *
-     * You can pass in any data set that implements PHPUnit_Extensions_Database_DataSet_IDataSet
-     *
-     * @param string $delimiter
-     * @param string $enclosure
-     * @param string $escape
-     */
-    public function __construct(Array $dataSets = [])
-    {
-        $this->motherDataset = new PHPUnit_Extensions_Database_DataSet_DefaultDataSet();
-
-        foreach ($dataSets as $dataSet)
-        {
-            $this->addDataSet($dataSet);
-        }
-    }
-
-    /**
-     * Adds a new data set to the composite.
-     *
-     * The dataset may not define tables that already exist in the composite.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
-     */
-    public function addDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        foreach ($dataSet->getTableNames() as $tableName)
-        {
-            if (!in_array($tableName, $this->getTableNames())) {
-                $this->motherDataset->addTable($dataSet->getTable($tableName));
-            } else {
-                $other = $dataSet->getTable($tableName);
-                $table = $this->getTable($tableName);
-
-                if (!$table->getTableMetaData()->matches($other->getTableMetaData()))
-                {
-                   throw new InvalidArgumentException("There is already a table named $tableName with different table definition");
-                }
-
-                $table->addTableRows($dataSet->getTable($tableName));
-            }
-        }
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        if ($reverse) {
-            return $this->motherDataset->getReverseIterator();
-        } else {
-            return $this->motherDataset->getIterator();
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates CsvDataSets.
- *
- * You can incrementally add CSV files as tables to your datasets
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_CsvDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * @var array
-     */
-    protected $tables = [];
-
-    /**
-     * @var string
-     */
-    protected $delimiter = ',';
-
-    /**
-     * @var string
-     */
-    protected $enclosure = '"';
-
-    /**
-     * @var string
-     */
-    protected $escape = '"';
-
-    /**
-     * Creates a new CSV dataset
-     *
-     * You can pass in the parameters for how csv files will be read.
-     *
-     * @param string $delimiter
-     * @param string $enclosure
-     * @param string $escape
-     */
-    public function __construct($delimiter = ',', $enclosure = '"', $escape = '"')
-    {
-        $this->delimiter = $delimiter;
-        $this->enclosure = $enclosure;
-        $this->escape    = $escape;
-    }
-
-    /**
-     * Adds a table to the dataset
-     *
-     * The table will be given the passed name. $csvFile should be a path to
-     * a valid csv file (based on the arguments passed to the constructor.)
-     *
-     * @param string $tableName
-     * @param string $csvFile
-     */
-    public function addTable($tableName, $csvFile)
-    {
-        if (!is_file($csvFile)) {
-            throw new InvalidArgumentException("Could not find csv file: {$csvFile}");
-        }
-
-        if (!is_readable($csvFile)) {
-            throw new InvalidArgumentException("Could not read csv file: {$csvFile}");
-        }
-
-        $fh      = fopen($csvFile, 'r');
-        $columns = $this->getCsvRow($fh);
-
-        if ($columns === FALSE)
-        {
-            throw new InvalidArgumentException("Could not determine the headers from the given file {$csvFile}");
-        }
-
-        $metaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns);
-        $table    = new PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData);
-
-        while (($row = $this->getCsvRow($fh)) !== FALSE)
-        {
-            $table->addRow(array_combine($columns, $row));
-        }
-
-        $this->tables[$tableName] = $table;
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
-    }
-
-    /**
-     * Returns a row from the csv file in an indexed array.
-     *
-     * @param  resource $fh
-     * @return array
-     */
-    protected function getCsvRow($fh)
-    {
-        if (version_compare(PHP_VERSION, '5.3.0', '>')) {
-            return fgetcsv($fh, NULL, $this->delimiter, $this->enclosure, $this->escape);
-        } else {
-            return fgetcsv($fh, NULL, $this->delimiter, $this->enclosure);
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A dataset decorator that allows filtering out tables and table columns from
- * results.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_DataSetFilter extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * The dataset being decorated.
-     * @var PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected $originalDataSet;
-
-    /**
-     * The tables to exclude from the data set.
-     * @var Array
-     */
-    protected $excludeTables = [];
-
-    /**
-     * The tables to exclude from the data set.
-     * @var Array
-     */
-    protected $includeTables = [];
-
-    /**
-     * The columns to exclude from the data set.
-     * @var Array
-     */
-    protected $excludeColumns = [];
-
-    /**
-     * The columns to exclude from the data set.
-     * @var Array
-     */
-    protected $includeColumns = [];
-
-    /**
-     * Creates a new filtered data set.
-     *
-     * The $exclude tables should be an associative array using table names as
-     * the key and an array of column names to exclude for the value. If you
-     * would like to exclude a full table set the value of the table's entry
-     * to the special string '*'.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $originalDataSet
-     * @param Array                                        $excludeTables   @deprecated use set* methods instead.
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_IDataSet $originalDataSet, array $excludeTables = [])
-    {
-        $this->originalDataSet = $originalDataSet;
-
-        $tables = [];
-        foreach ($excludeTables as $tableName => $values) {
-            if (is_array($values)) {
-                $this->setExcludeColumnsForTable($tableName, $values);
-            } elseif ($values == '*') {
-                $tables[] = $tableName;
-            } else {
-                $this->setExcludeColumnsForTable($tableName, (array) $values);
-            }
-        }
-
-        $this->addExcludeTables($tables);
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        $original_tables = $this->originalDataSet->getIterator($reverse);
-        $new_tables      = [];
-
-        foreach ($original_tables as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            $tableName = $table->getTableMetaData()->getTableName();
-
-            if ((!in_array($tableName, $this->includeTables) && !empty($this->includeTables)) ||
-                    in_array($tableName, $this->excludeTables)
-            ) {
-                continue;
-            } elseif (!empty($this->excludeColumns[$tableName]) || !empty($this->includeColumns[$tableName])) {
-                $new_table = new PHPUnit_Extensions_Database_DataSet_TableFilter($table);
-
-                if (!empty($this->includeColumns[$tableName])) {
-                    $new_table->addIncludeColumns($this->includeColumns[$tableName]);
-                }
-
-                if (!empty($this->excludeColumns[$tableName])) {
-                    $new_table->addExcludeColumns($this->excludeColumns[$tableName]);
-                }
-
-                $new_tables[] = $new_table;
-            } else {
-                $new_tables[] = $table;
-            }
-        }
-
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($new_tables);
-    }
-
-    /**
-     * Adds tables to be included in the data set.
-     * @param array $tables
-     */
-    public function addIncludeTables(Array $tables)
-    {
-        $this->includeTables = array_unique(array_merge($this->includeTables, $tables));
-    }
-
-    /**
-     * Adds tables to be included in the data set.
-     * @param array $tables
-     */
-    public function addExcludeTables(Array $tables)
-    {
-        $this->excludeTables = array_unique(array_merge($this->excludeTables, $tables));
-    }
-
-    /**
-     * Adds columns to include in the data set for the given table.
-     * @param string $table
-     * @param Array  $columns
-     */
-    public function setIncludeColumnsForTable($table, Array $columns)
-    {
-        $this->includeColumns[$table] = $columns;
-    }
-
-    /**
-     * Adds columns to include in the data set for the given table.
-     * @param string $table
-     * @param Array  $columns
-     */
-    public function setExcludeColumnsForTable($table, Array $columns)
-    {
-        $this->excludeColumns[$table] = $columns;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default implementation of a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_DefaultDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * An array of ITable objects.
-     *
-     * @var array
-     */
-    protected $tables;
-
-    /**
-     * Creates a new dataset using the given tables.
-     *
-     * @param array $tables
-     */
-    public function __construct(Array $tables = [])
-    {
-        $this->tables = $tables;
-    }
-
-    /**
-     * Adds a table to the dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    public function addTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        $this->tables[] = $table;
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides default table functionality.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_DefaultTable extends PHPUnit_Extensions_Database_DataSet_AbstractTable
-{
-    /**
-     * Creates a new table object using the given $tableMetaData
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITableMetaData $tableMetaData)
-    {
-        $this->setTableMetaData($tableMetaData);
-        $this->data = [];
-    }
-
-    /**
-     * Adds a row to the table with optional values.
-     *
-     * @param array $values
-     */
-    public function addRow($values = [])
-    {
-        $this->data[] = array_replace(
-          array_fill_keys($this->getTableMetaData()->getColumns(), NULL),
-          $values
-        );
-    }
-
-    /**
-     * Adds the rows in the passed table to the current table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    public function addTableRows(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        $tableColumns = $this->getTableMetaData()->getColumns();
-        $rowCount     = $table->getRowCount();
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            $newRow = [];
-            foreach ($tableColumns as $columnName) {
-                $newRow[$columnName] = $table->getValue($i, $columnName);
-            }
-            $this->addRow($newRow);
-        }
-    }
-
-    /**
-     * Sets the specified column of the specied row to the specified value.
-     *
-     * @param int    $row
-     * @param string $column
-     * @param mixed  $value
-     */
-    public function setValue($row, $column, $value)
-    {
-        if (isset($this->data[$row])) {
-            $this->data[$row][$column] = $value;
-        } else {
-            throw new InvalidArgumentException('The row given does not exist.');
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default table iterator
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_DefaultTableIterator implements PHPUnit_Extensions_Database_DataSet_ITableIterator
-{
-    /**
-     * An array of tables in the iterator.
-     *
-     * @var Array
-     */
-    protected $tables;
-
-    /**
-     * If this property is true then the tables will be iterated in reverse
-     * order.
-     *
-     * @var bool
-     */
-    protected $reverse;
-
-    /**
-     * Creates a new default table iterator object.
-     *
-     * @param array $tables
-     * @param bool  $reverse
-     */
-    public function __construct(Array $tables, $reverse = FALSE)
-    {
-        $this->tables  = $tables;
-        $this->reverse = $reverse;
-
-        $this->rewind();
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable()
-    {
-        return $this->current();
-    }
-
-    /**
-     * Returns the current table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        return $this->current()->getTableMetaData();
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function current()
-    {
-        return current($this->tables);
-    }
-
-    /**
-     * Returns the name of the current table.
-     *
-     * @return string
-     */
-    public function key()
-    {
-        return $this->current()->getTableMetaData()->getTableName();
-    }
-
-    /**
-     * advances to the next element.
-     */
-    public function next()
-    {
-        if ($this->reverse) {
-            prev($this->tables);
-        } else {
-            next($this->tables);
-        }
-    }
-
-    /**
-     * Rewinds to the first element
-     */
-    public function rewind()
-    {
-        if ($this->reverse) {
-            end($this->tables);
-        } else {
-            reset($this->tables);
-        }
-    }
-
-    /**
-     * Returns true if the current index is valid
-     *
-     * @return bool
-     */
-    public function valid()
-    {
-        return ($this->current() !== FALSE);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default implementation of table meta data
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData extends PHPUnit_Extensions_Database_DataSet_AbstractTableMetaData
-{
-    /**
-     * Creates a new default table meta data object.
-     *
-     * @param string $tableName
-     * @param array  $columns
-     * @param array  $primaryKeys
-     */
-    public function __construct($tableName, Array $columns, Array $primaryKeys = [])
-    {
-        $this->tableName   = $tableName;
-        $this->columns     = $columns;
-        $this->primaryKeys = [];
-
-        foreach ($primaryKeys as $columnName) {
-            if (!in_array($columnName, $this->columns)) {
-                throw new InvalidArgumentException('Primary key column passed that is not in the column list.');
-            } else {
-                $this->primaryKeys[] = $columnName;
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default implementation of a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractXmlDataSet
-{
-    protected function getTableInfo(Array &$tableColumns, Array &$tableValues)
-    {
-        if ($this->xmlFileContents->getName() != 'dataset') {
-            throw new PHPUnit_Extensions_Database_Exception('The root element of a flat xml data set file must be called <dataset>');
-        }
-
-        foreach ($this->xmlFileContents->children() as $row) {
-            $tableName = $row->getName();
-
-            if (!isset($tableColumns[$tableName])) {
-                $tableColumns[$tableName] = [];
-                $tableValues[$tableName]  = [];
-            }
-
-            $values = [];
-            foreach ($row->attributes() as $name => $value) {
-                if (!in_array($name, $tableColumns[$tableName])) {
-                    $tableColumns[$tableName][] = $name;
-                }
-
-                $values[$name] = $value;
-            }
-
-            if (count($values)) {
-                $tableValues[$tableName][] = $values;
-            }
-        }
-    }
-
-    public static function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset, $filename)
-    {
-        $pers = new PHPUnit_Extensions_Database_DataSet_Persistors_FlatXml();
-        $pers->setFileName($filename);
-
-        try {
-            $pers->write($dataset);
-        } catch (RuntimeException $e) {
-            throw new PHPUnit_Framework_Exception(__METHOD__ . ' called with an unwritable file.');
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for creating and reading data from data sets.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_IDataSet extends IteratorAggregate
-{
-    /**
-     * Returns an array of table names contained in the dataset.
-     *
-     * @return array
-     */
-    public function getTableNames();
-
-    /**
-     * Returns a table meta data object for the given table.
-     *
-     * @param  string                                             $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData($tableName);
-
-    /**
-     * Returns a table object for the given table.
-     *
-     * @param  string                                     $tableName
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable($tableName);
-
-    /**
-     * Returns a reverse iterator for all table objects in the given dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    public function getReverseIterator();
-
-    /**
-     * Asserts that the given data set matches this data set.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_IDataSet $other);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface for persisting datasets
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_IPersistable
-{
-    /**
-     * Writes the given dataset
-     *
-     * The previous dataset will be overwritten.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    public function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides an interface for creating data sets from data set spec strings.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_ISpec
-{
-    /**
-     * Creates a data set from a data set spec string.
-     *
-     * @param  string                                       $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    public function getDataSet($dataSetSpec);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for creating and reading data from data sets.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_ITable
-{
-    /**
-     * Returns the table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData();
-
-    /**
-     * Returns the number of rows in this table.
-     *
-     * @return int
-     */
-    public function getRowCount();
-
-    /**
-     * Returns the value for the given column on the given row.
-     *
-     * @param int $row
-     * @param int $column
-     */
-    public function getValue($row, $column);
-
-    /**
-     * Returns the an associative array keyed by columns for the given row.
-     *
-     * @param  int   $row
-     * @return array
-     */
-    public function getRow($row);
-
-    /**
-     * Asserts that the given table matches this table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITable $other);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for creating and reading data from data sets.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_ITableIterator extends Iterator
-{
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable();
-
-    /**
-     * Returns the current table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData();
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface for returning table meta data.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_ITableMetaData
-{
-    /**
-     * Returns the names of the columns in the table.
-     *
-     * @return array
-     */
-    public function getColumns();
-
-    /**
-     * Returns the names of the primary key columns in the table.
-     *
-     * @return array
-     */
-    public function getPrimaryKeys();
-
-    /**
-     * Returns the name of the table.
-     *
-     * @return string
-     */
-    public function getTableName();
-
-    /**
-     * Asserts that the given tableMetaData matches this tableMetaData.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITableMetaData $other);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface for parsing YAML files.
- *
- * @since      Class available since Release 1.3.1
- */
-interface PHPUnit_Extensions_Database_DataSet_IYamlParser {
-    /**
-     * @param  string $yamlFile
-     * @return array  parsed YAML
-     */
-    public function parseYaml($yamlFile);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Data set implementation for the output of mysqldump --xml.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_MysqlXmlDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractXmlDataSet
-{
-    protected function getTableInfo(array &$tableColumns, array &$tableValues)
-    {
-        if ($this->xmlFileContents->getName() != 'mysqldump') {
-            throw new PHPUnit_Extensions_Database_Exception('The root element of a MySQL XML data set file must be called <mysqldump>');
-        }
-
-        foreach ($this->xmlFileContents->xpath('./database/table_data') as $tableElement) {
-            if (empty($tableElement['name'])) {
-                throw new PHPUnit_Extensions_Database_Exception('<table_data> elements must include a name attribute');
-            }
-
-            $tableName = (string) $tableElement['name'];
-
-            if (!isset($tableColumns[$tableName])) {
-                $tableColumns[$tableName] = [];
-            }
-
-            if (!isset($tableValues[$tableName])) {
-                $tableValues[$tableName] = [];
-            }
-
-            foreach ($tableElement->xpath('./row') as $rowElement) {
-                $rowValues = [];
-
-                foreach ($rowElement->xpath('./field') as $columnElement) {
-                    if (empty($columnElement['name'])) {
-                        throw new PHPUnit_Extensions_Database_Exception('<field> element name attributes cannot be empty');
-                    }
-
-                    $columnName = (string) $columnElement['name'];
-
-                    if (!in_array($columnName, $tableColumns[$tableName])) {
-                        $tableColumns[$tableName][] = $columnName;
-                    }
-                }
-
-                foreach ($tableColumns[$tableName] as $columnName) {
-                    $fields          = $rowElement->xpath('./field[@name="' . $columnName . '"]');
-                    $column          = $fields[0];
-                    $attr            = $column->attributes('http://www.w3.org/2001/XMLSchema-instance');
-
-                    if (isset($attr['type']) && (string) $attr['type'] === 'xs:hexBinary') {
-                        $columnValue = pack('H*',(string) $column);
-                    } else {
-                        $null        = isset($column['nil']) || isset($attr[0]);
-                        $columnValue = $null ? NULL : (string) $column;
-                    }
-
-                    $rowValues[$columnName] = $columnValue;
-
-                }
-
-                $tableValues[$tableName][] = $rowValues;
-            }
-        }
-
-        foreach ($this->xmlFileContents->xpath('./database/table_structure') as $tableElement) {
-            if (empty($tableElement['name'])) {
-                throw new PHPUnit_Extensions_Database_Exception('<table_structure> elements must include a name attribute');
-            }
-
-            $tableName = (string) $tableElement['name'];
-
-            foreach ($tableElement->xpath('./field') as $fieldElement) {
-                if (empty($fieldElement['Field'])) {
-                    throw new PHPUnit_Extensions_Database_Exception('<field> elements must include a Field attribute');
-                }
-
-                $columnName = (string) $fieldElement['Field'];
-
-                if (!in_array($columnName, $tableColumns[$tableName])) {
-                    $tableColumns[$tableName][] = $columnName;
-                }
-            }
-        }
-    }
-
-    public static function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset, $filename)
-    {
-        $pers = new PHPUnit_Extensions_Database_DataSet_Persistors_MysqlXml;
-        $pers->setFileName($filename);
-
-        try {
-            $pers->write($dataset);
-        }
-
-        catch (RuntimeException $e) {
-            throw new PHPUnit_Framework_Exception(__METHOD__ . ' called with an unwritable file.');
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An abstract implementation of a dataset persistor.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_DataSet_Persistors_Abstract implements PHPUnit_Extensions_Database_DataSet_IPersistable
-{
-    public function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $this->saveDataSet($dataset);
-    }
-
-    /**
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function saveDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $this->startDataSet($dataset);
-
-        foreach ($dataset as $table) {
-            $this->saveTable($table);
-        }
-
-        $this->endDataSet($dataset);
-    }
-
-    /**
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function saveTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        $rowCount = $table->getRowCount();
-        $this->startTable($table);
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            $this->row($table->getRow($i), $table);
-        }
-
-        $this->endTable($table);
-    }
-
-    /**
-     * Override to save the start of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    abstract protected function startDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset);
-
-    /**
-     * Override to save the end of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    abstract protected function endDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset);
-
-    /**
-     * Override to save the start of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    abstract protected function startTable(PHPUnit_Extensions_Database_DataSet_ITable $table);
-
-    /**
-     * Override to save the end of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    abstract protected function endTable(PHPUnit_Extensions_Database_DataSet_ITable $table);
-
-    /**
-     * Override to save a table row.
-     *
-     * @param array                                      $row
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    abstract protected function row(Array $row, PHPUnit_Extensions_Database_DataSet_ITable $table);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates the appropriate Persistor based on a given type and spec.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Persistors_Factory
-{
-    /**
-     * Returns the persistor.
-     *
-     * @param  string                                           $type
-     * @param  string                                           $spec
-     * @return PHPUnit_Extensions_Database_DataSet_IPersistable
-     */
-    public function getPersistorBySpec($type, $spec)
-    {
-        switch (strtolower($type)) {
-            case 'xml':
-                $xmlPersistor = new PHPUnit_Extensions_Database_DataSet_Persistors_Xml();
-                $xmlPersistor->setFileName($spec);
-
-                return $xmlPersistor;
-
-            case 'flatxml':
-                $flatXmlPersistor = new PHPUnit_Extensions_Database_DataSet_Persistors_FlatXml();
-                $flatXmlPersistor->setFileName($spec);
-
-                return $flatXmlPersistor;
-
-            case 'yaml':
-                $yamlPersistor = new PHPUnit_Extensions_Database_DataSet_Persistors_Yaml();
-                $yamlPersistor->setFileName($spec);
-
-                return $yamlPersistor;
-
-            case 'mysqlxml':
-                $mysqlXmlPersistor = new PHPUnit_Extensions_Database_DataSet_Persistors_MysqlXml();
-                $mysqlXmlPersistor->setFileName($spec);
-
-                return $mysqlXmlPersistor;
-
-            default:
-                throw new PHPUnit_Extensions_Database_Exception("I don't know what you want from me. PERSISTOR");
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Flat XML dataset persistor.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Persistors_FlatXml extends PHPUnit_Extensions_Database_DataSet_Persistors_Abstract
-{
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var resource
-     */
-    protected $fh;
-
-    /**
-     * Sets the filename that this persistor will save to.
-     *
-     * @param string $filename
-     */
-    public function setFileName($filename)
-    {
-        $this->filename = $filename;
-    }
-
-    /**
-     * Override to save the start of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function startDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $this->fh = fopen($this->filename, 'w');
-
-        if ($this->fh === FALSE) {
-            throw new PHPUnit_Framework_Exception(
-              "Could not open {$this->filename} for writing see " . __CLASS__ . '::setFileName()'
-            );
-        }
-
-        fwrite($this->fh, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
-        fwrite($this->fh, "<dataset>\n");
-    }
-
-    /**
-     * Override to save the end of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function endDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        fwrite($this->fh, "</dataset>\n");
-    }
-
-    /**
-     * Override to save the start of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function startTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        if ($table->getRowCount() == 0) {
-            fwrite($this->fh, "\t<{$table->getTableMetaData()->getTableName()} />\n");
-        }
-    }
-
-    /**
-     * Override to save the end of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function endTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        //do nothing
-    }
-
-    /**
-     * Override to save a table row.
-     *
-     * @param array                                      $row
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function row(Array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t<{$table->getTableMetaData()->getTableName()}\n");
-
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            if (isset($row[$columnName])) {
-                fwrite($this->fh, "\t\t{$columnName}=\"" . htmlspecialchars($row[$columnName]) . "\"\n");
-            }
-        }
-
-        fwrite($this->fh, "\t/>\n");
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A MySQL XML dataset persistor.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Persistors_MysqlXml extends PHPUnit_Extensions_Database_DataSet_Persistors_Abstract
-{
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var string
-     */
-    protected $database;
-
-    /**
-     * @var resource
-     */
-    protected $fh;
-
-    /**
-     * Sets the filename that this persistor will save to.
-     *
-     * @param string $filename
-     */
-    public function setFileName($filename)
-    {
-        $this->filename = $filename;
-    }
-
-    /**
-     * Sets the name of the database.
-     *
-     * @param string $database
-     */
-    public function setDatabase($database)
-    {
-        $this->database = $database;
-    }
-
-    /**
-     * Override to save the start of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function startDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $this->fh = fopen($this->filename, 'w');
-
-        if ($this->fh === FALSE) {
-            throw new PHPUnit_Framework_Exception(
-              "Could not open {$this->filename} for writing see " . __CLASS__ . '::setFileName()'
-            );
-        }
-
-        fwrite($this->fh, '<?xml version="1.0" encoding="UTF-8"?>' . "\n");
-        fwrite($this->fh, '<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . "\n");
-        fwrite($this->fh, '<database name="' . $this->database . '">' . "\n");
-    }
-
-    /**
-     * Override to save the end of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function endDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        fwrite($this->fh, '</database>' . "\n");
-        fwrite($this->fh, '</mysqldump>' . "\n");
-    }
-
-    /**
-     * Override to save the start of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function startTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t" . '<table_data name="' . $table->getTableMetaData()->getTableName() . '">' . "\n");
-    }
-
-    /**
-     * Override to save the end of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function endTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t" . '</table_data>' . "\n");
-    }
-
-    /**
-     * Override to save a table row.
-     *
-     * @param array                                      $row
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function row(Array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t" . '<row>' . "\n");
-
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            fwrite($this->fh, "\t\t" . '<field name="' . $columnName . '"');
-            if (isset($row[$columnName])) {
-                fwrite($this->fh, '>' . htmlspecialchars($row[$columnName]) . '</field>' . "\n");
-            } else {
-                fwrite($this->fh, ' xsi:nil="true" />' . "\n");
-            }
-        }
-
-        fwrite($this->fh, "\t" . '</row>' . "\n");
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A XML dataset persistor.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Persistors_Xml extends PHPUnit_Extensions_Database_DataSet_Persistors_Abstract
-{
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var resource
-     */
-    protected $fh;
-
-    /**
-     * Sets the filename that this persistor will save to.
-     *
-     * @param string $filename
-     */
-    public function setFileName($filename)
-    {
-        $this->filename = $filename;
-    }
-
-    /**
-     * Override to save the start of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function startDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $this->fh = fopen($this->filename, 'w');
-
-        if ($this->fh === FALSE) {
-            throw new PHPUnit_Framework_Exception(
-              "Could not open {$this->filename} for writing see " . __CLASS__ . '::setFileName()'
-            );
-        }
-
-        fwrite($this->fh, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
-        fwrite($this->fh, "<dataset>\n");
-    }
-
-    /**
-     * Override to save the end of a dataset.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    protected function endDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        fwrite($this->fh, "</dataset>\n");
-    }
-
-    /**
-     * Override to save the start of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function startTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t<table name=\"{$table->getTableMetaData()->getTableName()}\">\n");
-
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            fwrite($this->fh, "\t\t<column>{$columnName}</column>\n");
-        }
-    }
-
-    /**
-     * Override to save the end of a table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function endTable(PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t</table>\n");
-    }
-
-    /**
-     * Override to save a table row.
-     *
-     * @param array                                      $row
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     */
-    protected function row(Array $row, PHPUnit_Extensions_Database_DataSet_ITable $table)
-    {
-        fwrite($this->fh, "\t\t<row>\n");
-
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            if (isset($row[$columnName])) {
-                fwrite($this->fh, "\t\t\t<value>" . htmlspecialchars($row[$columnName]) . "</value>\n");
-            } else {
-                fwrite($this->fh, "\t\t\t<null />\n");
-            }
-        }
-
-        fwrite($this->fh, "\t\t</row>\n");
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A yaml dataset persistor
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Persistors_Yaml implements PHPUnit_Extensions_Database_DataSet_IPersistable
-{
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * Sets the filename that this persistor will save to.
-     *
-     * @param string $filename
-     */
-    public function setFileName($filename)
-    {
-        $this->filename = $filename;
-    }
-
-    /**
-     * Writes the dataset to a yaml file
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     */
-    public function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset)
-    {
-        $phpArr      = [];
-        $emptyTables = [];
-
-        foreach ($dataset as $table) {
-            $tableName          = $table->getTableMetaData()->getTableName();
-            $rowCount           = $table->getRowCount();
-
-            if (!$rowCount) {
-                $emptyTables[] = $tableName;
-                continue;
-            }
-
-            $phpArr[$tableName] = [];
-
-            for ($i = 0; $i < $rowCount; $i++) {
-                $phpArr[$tableName][] = $table->getRow($i);
-            }
-        }
-
-        $emptyTablesAsString = '';
-
-        if (count($emptyTables)) {
-            $emptyTablesAsString = implode(":\n", $emptyTables) . ":\n\n";
-        }
-
-        file_put_contents(
-          $this->filename,
-          Symfony\Component\Yaml\Yaml::dump($phpArr, 3) . $emptyTablesAsString
-        );
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides access to a database instance as a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_QueryDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * An array of ITable objects.
-     *
-     * @var array
-     */
-    protected $tables = [];
-
-    /**
-     * The database connection this dataset is using.
-     *
-     * @var PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    protected $databaseConnection;
-
-    /**
-     * Creates a new dataset using the given database connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
-     */
-    public function __construct(PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection)
-    {
-        $this->databaseConnection = $databaseConnection;
-    }
-
-    public function addTable($tableName, $query = NULL)
-    {
-        if ($query === NULL) {
-            $query = 'SELECT * FROM ' . $tableName;
-        }
-
-        $this->tables[$tableName] = new PHPUnit_Extensions_Database_DataSet_QueryTable($tableName, $query, $this->databaseConnection);
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                         $reverse
-     * @return PHPUnit_Extensions_Database_DB_TableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator($this->tables, $reverse);
-    }
-
-    /**
-     * Returns a table object for the given table.
-     *
-     * @param  string                               $tableName
-     * @return PHPUnit_Extensions_Database_DB_Table
-     */
-    public function getTable($tableName)
-    {
-        if (!isset($this->tables[$tableName])) {
-            throw new InvalidArgumentException("$tableName is not a table in the current database.");
-        }
-
-        return $this->tables[$tableName];
-    }
-
-    /**
-     * Returns a list of table names for the database
-     *
-     * @return Array
-     */
-    public function getTableNames()
-    {
-        return array_keys($this->tables);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides the functionality to represent a database table.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_QueryTable extends PHPUnit_Extensions_Database_DataSet_AbstractTable
-{
-    /**
-     * @var string
-     */
-    protected $query;
-
-    /**
-     * @var PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    protected $databaseConnection;
-
-    /**
-     * @var string
-     */
-    protected $tableName;
-
-    /**
-     * Creates a new database query table object.
-     *
-     * @param string                                             $table_name
-     * @param string                                             $query
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection
-     */
-    public function __construct($tableName, $query, PHPUnit_Extensions_Database_DB_IDatabaseConnection $databaseConnection)
-    {
-        $this->query              = $query;
-        $this->databaseConnection = $databaseConnection;
-        $this->tableName          = $tableName;
-    }
-
-    /**
-     * Returns the table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        $this->createTableMetaData();
-
-        return parent::getTableMetaData();
-    }
-
-    /**
-     * Checks if a given row is in the table
-     *
-     * @param array $row
-     *
-     * @return bool
-     */
-    public function assertContainsRow(Array $row)
-    {
-        $this->loadData();
-
-        return parent::assertContainsRow($row);
-    }
-
-    /**
-     * Returns the number of rows in this table.
-     *
-     * @return int
-     */
-    public function getRowCount()
-    {
-        $this->loadData();
-
-        return parent::getRowCount();
-    }
-
-    /**
-     * Returns the value for the given column on the given row.
-     *
-     * @param int $row
-     * @param int $column
-     */
-    public function getValue($row, $column)
-    {
-        $this->loadData();
-
-        return parent::getValue($row, $column);
-    }
-
-    /**
-     * Returns the an associative array keyed by columns for the given row.
-     *
-     * @param  int   $row
-     * @return array
-     */
-    public function getRow($row)
-    {
-        $this->loadData();
-
-        return parent::getRow($row);
-    }
-
-    /**
-     * Asserts that the given table matches this table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITable $other)
-    {
-        $this->loadData();
-
-        return parent::matches($other);
-    }
-
-    protected function loadData()
-    {
-        if ($this->data === NULL) {
-            $pdoStatement = $this->databaseConnection->getConnection()->query($this->query);
-            $this->data   = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
-        }
-    }
-
-    protected function createTableMetaData()
-    {
-        if ($this->tableMetaData === NULL)
-        {
-            $this->loadData();
-
-            // if some rows are in the table
-            $columns = [];
-            if (isset($this->data[0]))
-                // get column names from data
-                $columns = array_keys($this->data[0]);
-            else {
-                // if no rows found, get column names from database
-                $pdoStatement = $this->databaseConnection->getConnection()->prepare('SELECT column_name FROM information_schema.COLUMNS WHERE table_schema=:schema AND table_name=:table');
-                $pdoStatement->execute([
-                    'table'        => $this->tableName,
-                    'schema'       => $this->databaseConnection->getSchema()
-                ]);
-
-                $columns = $pdoStatement->fetchAll(PDO::FETCH_COLUMN, 0);
-            }
-            // create metadata
-            $this->tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($this->tableName, $columns);
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Allows for replacing arbitrary values or portions of values with new data.
- *
- * A usage for this is replacing all values == '[NULL'] with a true NULL value
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_ReplacementDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected $dataSet;
-
-    /**
-     * @var array
-     */
-    protected $fullReplacements;
-
-    /**
-     * @var array
-     */
-    protected $subStrReplacements;
-
-    /**
-     * Creates a new replacement dataset
-     *
-     * You can pass in any data set that implements PHPUnit_Extensions_Database_DataSet_IDataSet
-     *
-     * @param string $delimiter
-     * @param string $enclosure
-     * @param string $escape
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet, Array $fullReplacements = [], Array $subStrReplacements = [])
-    {
-        $this->dataSet            = $dataSet;
-        $this->fullReplacements   = $fullReplacements;
-        $this->subStrReplacements = $subStrReplacements;
-    }
-
-    /**
-     * Adds a new full replacement
-     *
-     * Full replacements will only replace values if the FULL value is a match
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addFullReplacement($value, $replacement)
-    {
-        $this->fullReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Adds a new substr replacement
-     *
-     * Substr replacements will replace all occurances of the substr in every column
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addSubStrReplacement($value, $replacement)
-    {
-        $this->subStrReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        $innerIterator = $reverse ? $this->dataSet->getReverseIterator() : $this->dataSet->getIterator();
-
-        return new PHPUnit_Extensions_Database_DataSet_ReplacementTableIterator($innerIterator, $this->fullReplacements, $this->subStrReplacements);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Allows for replacing arbitrary strings in your data sets with other values.
- *
- * @since      Class available since Release 1.0.0
- * @todo When setTableMetaData() is taken out of the AbstractTable this class should extend AbstractTable.
- */
-class PHPUnit_Extensions_Database_DataSet_ReplacementTable implements PHPUnit_Extensions_Database_DataSet_ITable
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    protected $table;
-
-    /**
-     * @var array
-     */
-    protected $fullReplacements;
-
-    /**
-     * @var array
-     */
-    protected $subStrReplacements;
-
-    /**
-     * Creates a new replacement table
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table
-     * @param array                                      $fullReplacements
-     * @param array                                      $subStrReplacements
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITable $table, Array $fullReplacements = [], Array $subStrReplacements = [])
-    {
-        $this->table              = $table;
-        $this->fullReplacements   = $fullReplacements;
-        $this->subStrReplacements = $subStrReplacements;
-    }
-
-    /**
-     * Adds a new full replacement
-     *
-     * Full replacements will only replace values if the FULL value is a match
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addFullReplacement($value, $replacement)
-    {
-        $this->fullReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Adds a new substr replacement
-     *
-     * Substr replacements will replace all occurances of the substr in every column
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addSubStrReplacement($value, $replacement)
-    {
-        $this->subStrReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Returns the table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        return $this->table->getTableMetaData();
-    }
-
-    /**
-     * Returns the number of rows in this table.
-     *
-     * @return int
-     */
-    public function getRowCount()
-    {
-        return $this->table->getRowCount();
-    }
-
-    /**
-     * Returns the value for the given column on the given row.
-     *
-     * @param int $row
-     * @param int $column
-     */
-    public function getValue($row, $column)
-    {
-        return $this->getReplacedValue($this->table->getValue($row, $column));
-    }
-
-    /**
-     * Returns the an associative array keyed by columns for the given row.
-     *
-     * @param  int   $row
-     * @return array
-     */
-    public function getRow($row)
-    {
-        $row = $this->table->getRow($row);
-
-        return array_map([$this, 'getReplacedValue'], $row);
-    }
-
-    /**
-     * Asserts that the given table matches this table.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $other
-     */
-    public function matches(PHPUnit_Extensions_Database_DataSet_ITable $other)
-    {
-        $thisMetaData  = $this->getTableMetaData();
-        $otherMetaData = $other->getTableMetaData();
-
-        if (!$thisMetaData->matches($otherMetaData) ||
-            $this->getRowCount() != $other->getRowCount()) {
-            return FALSE;
-        }
-
-        $columns  = $thisMetaData->getColumns();
-        $rowCount = $this->getRowCount();
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            foreach ($columns as $columnName) {
-                $thisValue  = $this->getValue($i, $columnName);
-                $otherValue = $other->getValue($i, $columnName);
-                if (is_numeric($thisValue) && is_numeric($otherValue)) {
-                    if ($thisValue != $otherValue) {
-                        return FALSE;
-                    }
-                } elseif ($thisValue !== $otherValue) {
-                    return FALSE;
-                }
-            }
-        }
-
-        return TRUE;
-    }
-
-    public function __toString()
-    {
-        $columns = $this->getTableMetaData()->getColumns();
-
-        $lineSeperator = str_repeat('+----------------------', count($columns)) . "+\n";
-        $lineLength    = strlen($lineSeperator) - 1;
-
-        $tableString  = $lineSeperator;
-        $tableString .= '| ' . str_pad($this->getTableMetaData()->getTableName(), $lineLength - 4, ' ', STR_PAD_RIGHT) . " |\n";
-        $tableString .= $lineSeperator;
-        $tableString .= $this->rowToString($columns);
-        $tableString .= $lineSeperator;
-
-        $rowCount = $this->getRowCount();
-
-        for ($i = 0; $i < $rowCount; $i++) {
-            $values = [];
-
-            foreach ($columns as $columnName) {
-                $values[] = $this->getValue($i, $columnName);
-            }
-
-            $tableString .= $this->rowToString($values);
-            $tableString .= $lineSeperator;
-        }
-
-        return "\n" . $tableString . "\n";
-    }
-
-    protected function rowToString(Array $row)
-    {
-        $rowString = '';
-
-        foreach ($row as $value) {
-            if (is_null($value)) {
-                $value = 'NULL';
-            }
-
-            $rowString .= '| ' . str_pad(substr($value, 0, 20), 20, ' ', STR_PAD_BOTH) . ' ';
-        }
-
-        return $rowString . "|\n";
-    }
-
-    protected function getReplacedValue($value)
-    {
-        if (is_scalar($value) && array_key_exists((string) $value, $this->fullReplacements)) {
-            return $this->fullReplacements[$value];
-        }
-
-        else if (count($this->subStrReplacements) && isset($value)) {
-            return str_replace(array_keys($this->subStrReplacements), array_values($this->subStrReplacements), $value);
-        }
-
-        else {
-            return $value;
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default table iterator
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_ReplacementTableIterator implements OuterIterator, PHPUnit_Extensions_Database_DataSet_ITableIterator
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected $innerIterator;
-
-    /**
-     * @var array
-     */
-    protected $fullReplacements;
-
-    /**
-     * @var array
-     */
-    protected $subStrReplacements;
-
-    /**
-     * Creates a new replacement table iterator object.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableIterator $innerIterator
-     * @param array                                              $fullReplacements
-     * @param array                                              $subStrReplacements
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITableIterator $innerIterator, Array $fullReplacements = [], Array $subStrReplacements = [])
-    {
-        $this->innerIterator      = $innerIterator;
-        $this->fullReplacements   = $fullReplacements;
-        $this->subStrReplacements = $subStrReplacements;
-    }
-
-    /**
-     * Adds a new full replacement
-     *
-     * Full replacements will only replace values if the FULL value is a match
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addFullReplacement($value, $replacement)
-    {
-        $this->fullReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Adds a new substr replacement
-     *
-     * Substr replacements will replace all occurances of the substr in every column
-     *
-     * @param string $value
-     * @param string $replacement
-     */
-    public function addSubStrReplacement($value, $replacement)
-    {
-        $this->subStrReplacements[$value] = $replacement;
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function getTable()
-    {
-        return $this->current();
-    }
-
-    /**
-     * Returns the current table's meta data.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    public function getTableMetaData()
-    {
-        $this->current()->getTableMetaData();
-    }
-
-    /**
-     * Returns the current table.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    public function current()
-    {
-        return new PHPUnit_Extensions_Database_DataSet_ReplacementTable($this->innerIterator->current(), $this->fullReplacements, $this->subStrReplacements);
-    }
-
-    /**
-     * Returns the name of the current table.
-     *
-     * @return string
-     */
-    public function key()
-    {
-        return $this->current()->getTableMetaData()->getTableName();
-    }
-
-    /**
-     * advances to the next element.
-     */
-    public function next()
-    {
-        $this->innerIterator->next();
-    }
-
-    /**
-     * Rewinds to the first element
-     */
-    public function rewind()
-    {
-        $this->innerIterator->rewind();
-    }
-
-    /**
-     * Returns true if the current index is valid
-     *
-     * @return bool
-     */
-    public function valid()
-    {
-        return $this->innerIterator->valid();
-    }
-
-    public function getInnerIterator()
-    {
-        return $this->innerIterator;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates CsvDataSets based off of a spec string.
- *
- * The format of the spec string is as follows:
- *
- * <csv options>|table1:filename.csv,table2:filename2.csv
- *
- * The first portion of the spec including the pipe symbol '|' is optional.
- * If the pipe option is included than it may be preceded by up to four
- * characters specifying values for the following arguments in order:
- * delimiter (defaults to ',',) enclosure (defaults to '"',) escape (defaults to '"',).
- *
- * Any additional characters in the csv options will be discarded.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_Csv implements PHPUnit_Extensions_Database_DataSet_ISpec
-{
-    /**
-     * Creates CSV Data Set from a data set spec.
-     *
-     * @param  string                                         $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_CsvDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        $csvDataSetArgs = $this->getCsvOptions($dataSetSpec);
-        $csvDataSetRfl  = new ReflectionClass('PHPUnit_Extensions_Database_DataSet_CsvDataSet');
-        $csvDataSet     = $csvDataSetRfl->newInstanceArgs($csvDataSetArgs);
-
-        foreach ($this->getTableFileMap($dataSetSpec) as $tableName => $file) {
-            $csvDataSet->addTable($tableName, $file);
-        }
-
-        return $csvDataSet;
-    }
-
-    /**
-     * Returns CSV options.
-     *
-     * Returns an array containing the options that will be passed to the
-     * PHPUnit_Extensions_Database_DataSet_CsvDataSet constructor. The options
-     * are determined by the given $dataSetSpec.
-     *
-     * @param  string $dataSetSpec
-     * @return array
-     */
-    protected function getCsvOptions($dataSetSpec)
-    {
-        list($csvOptStr) = explode('|', $dataSetSpec, 2);
-
-        return str_split($csvOptStr);
-    }
-
-    /**
-     * Returns map of tables to files.
-     *
-     * Returns an associative array containing a mapping of tables (the key)
-     * to files (the values.) The tables and files are determined by the given
-     * $dataSetSpec
-     *
-     * @param  string $dataSetSpec
-     * @return array
-     */
-    protected function getTableFileMap($dataSetSpec)
-    {
-        $tables = [];
-
-        foreach (explode(',', $dataSetSpec) as $csvfile) {
-            list($tableName, $file) = explode(':', $csvfile, 2);
-            $tables[$tableName]     = $file;
-        }
-
-        return $tables;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates DefaultDataSets based off of a spec string.
- *
- * This spec class requires a list of databases to be set to the object before
- * it can return a list of databases.
- *
- * The format of the spec string is as follows:
- *
- * <db label>:<schema>:<table name>:<sql>
- *
- * The db label should be equal to one of the keys in the array of databases
- * passed to setDatabases().
- *
- * The schema should be the primary schema you will be running the sql query
- * against.
- *
- * The table name should be set to what you would like the table name in the
- * dataset to be.
- *
- * The sql is the query you want to use to generate the table columns and data.
- * The column names in the table will be identical to the column aliases in the
- * query.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_DbQuery implements PHPUnit_Extensions_Database_DataSet_ISpec, PHPUnit_Extensions_Database_IDatabaseListConsumer
-{
-    /**
-     * @var array
-     */
-    protected $databases = [];
-
-    /**
-     * Sets the database for the spec
-     *
-     * @param array $databases
-     */
-    public function setDatabases(array $databases)
-    {
-        $this->databases = $databases;
-    }
-
-    /**
-     * Creates a Default Data Set with a query table from a data set spec.
-     *
-     * @param  string                                             $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_DefaultDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        list($dbLabel, $schema, $table, $sql) = explode(':', $dataSetSpec, 4);
-        $databaseInfo                         = $this->databases[$dbLabel];
-
-        $pdoRflc      = new ReflectionClass('PDO');
-        $pdo          = $pdoRflc->newInstanceArgs(explode('|', $databaseInfo));
-        $dbConnection = new PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection($pdo, $schema);
-        $table        = $dbConnection->createQueryTable($table, $sql);
-
-        return new PHPUnit_Extensions_Database_DataSet_DefaultDataSet([$table]);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a database dataset based off of a spec string.
- *
- * This spec class requires a list of databases to be set to the object before
- * it can return a list of databases.
- *
- * The format of the spec string is as follows:
- *
- * <db label>:<schema>:<tables>
- *
- * The db label should be equal to one of the keys in the array of databases
- * passed to setDatabases().
- *
- * The schema should be the primary schema you will be choosing tables from.
- *
- * The tables should be a comma delimited list of all tables you would like to
- * pull data from.
- *
- * The sql is the query you want to use to generate the table columns and data.
- * The column names in the table will be identical to the column aliases in the
- * query.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_DbTable implements PHPUnit_Extensions_Database_DataSet_ISpec, PHPUnit_Extensions_Database_IDatabaseListConsumer
-{
-    /**
-     * @var array
-     */
-    protected $databases = [];
-
-    /**
-     * Sets the database for the spec
-     *
-     * @param array $databases
-     */
-    public function setDatabases(array $databases)
-    {
-        $this->databases = $databases;
-    }
-
-    /**
-     * Creates a DB Data Set from a data set spec.
-     *
-     * @param  string                                       $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        list($dbLabel, $schema, $tables) = explode(':', $dataSetSpec, 3);
-        $databaseInfo                    = $this->databases[$dbLabel];
-
-        $pdoRflc      = new ReflectionClass('PDO');
-        $pdo          = $pdoRflc->newInstanceArgs(explode('|', $databaseInfo));
-        $dbConnection = new PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection($pdo, $schema);
-
-        return !empty($tables) ? $dbConnection->createDataSet(explode(',', $tables)) : $dbConnection->createDataSet();
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates the appropriate DataSet Spec based on a given type.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_Factory implements PHPUnit_Extensions_Database_DataSet_Specs_IFactory
-{
-    /**
-     * Returns the data set
-     *
-     * @param  string                                    $type
-     * @return PHPUnit_Extensions_Database_DataSet_ISpec
-     */
-    public function getDataSetSpecByType($type)
-    {
-        switch ($type) {
-            case 'xml':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_Xml();
-
-            case 'flatxml':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_FlatXml();
-
-            case 'csv':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_Csv();
-
-            case 'yaml':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_Yaml();
-
-            case 'dbtable':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_DbTable();
-
-            case 'dbquery':
-                return new PHPUnit_Extensions_Database_DataSet_Specs_DbQuery();
-
-            default:
-                throw new PHPUnit_Extensions_Database_Exception("I don't know what you want from me.");
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a FlatXML dataset based off of a spec string.
- *
- * The format of the spec string is as follows:
- *
- * <filename>
- *
- * The filename should be the location of a flat xml file relative to the
- * current working directory.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_FlatXml implements PHPUnit_Extensions_Database_DataSet_ISpec
-{
-    /**
-     * Creates Flat XML Data Set from a data set spec.
-     *
-     * @param  string                                             $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet($dataSetSpec);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface for data set spec factories.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_DataSet_Specs_IFactory
-{
-    /**
-     * Returns the data set
-     *
-     * @param  string                                    $type
-     * @return PHPUnit_Extensions_Database_DataSet_ISpec
-     */
-    public function getDataSetSpecByType($type);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a XML dataset based off of a spec string.
- *
- * The format of the spec string is as follows:
- *
- * <filename>
- *
- * The filename should be the location of a xml file relative to the
- * current working directory.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_Xml implements PHPUnit_Extensions_Database_DataSet_ISpec
-{
-    /**
-     * Creates XML Data Set from a data set spec.
-     *
-     * @param  string                                         $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_XmlDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_XmlDataSet($dataSetSpec);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a YAML dataset based off of a spec string.
- *
- * The format of the spec string is as follows:
- *
- * <filename>
- *
- * The filename should be the location of a yaml file relative to the
- * current working directory.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_Specs_Yaml implements PHPUnit_Extensions_Database_DataSet_ISpec
-{
-    /**
-     * Creates YAML Data Set from a data set spec.
-     *
-     * @param  string                                          $dataSetSpec
-     * @return PHPUnit_Extensions_Database_DataSet_YamlDataSet
-     */
-    public function getDataSet($dataSetSpec)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_YamlDataSet($dataSetSpec);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default YAML parser, using Symfony/Yaml.
- *
- * @since      Class available since Release 1.3.1
- */
-class PHPUnit_Extensions_Database_DataSet_SymfonyYamlParser implements PHPUnit_Extensions_Database_DataSet_IYamlParser {
-    public function parseYaml($yamlFile) {
-        return Symfony\Component\Yaml\Yaml::parse(file_get_contents($yamlFile));
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A table decorator that allows filtering out table columns from results.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_TableFilter extends PHPUnit_Extensions_Database_DataSet_AbstractTable
-{
-    /**
-     * The table meta data being decorated.
-     * @var PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    protected $originalTable;
-
-    /**
-     * Creates a new table filter using the original table
-     *
-     * @param $originalTable PHPUnit_Extensions_Database_DataSet_ITable
-     * @param $excludeColumns Array @deprecated, use the set* methods instead.
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITable $originalTable, Array $excludeColumns = [])
-    {
-        $this->originalTable = $originalTable;
-        $this->setTableMetaData(new PHPUnit_Extensions_Database_DataSet_TableMetaDataFilter($originalTable->getTableMetaData()));
-        $this->addExcludeColumns($excludeColumns);
-    }
-
-    /**
-     * Returns the number of rows in this table.
-     *
-     * @return int
-     */
-    public function getRowCount()
-    {
-        return $this->originalTable->getRowCount();
-    }
-
-    /**
-     * Returns the value for the given column on the given row.
-     *
-     * @param int $row
-     * @param int $column
-     */
-    public function getValue($row, $column)
-    {
-        if (in_array($column, $this->getTableMetaData()->getColumns())) {
-            return $this->originalTable->getValue($row, $column);
-        } else {
-            throw new InvalidArgumentException("The given row ({$row}) and column ({$column}) do not exist in table {$this->getTableMetaData()->getTableName()}");
-        }
-    }
-
-    /**
-     * Sets the columns to include in the table.
-     * @param Array $includeColumns
-     */
-    public function addIncludeColumns(Array $includeColumns)
-    {
-        $this->tableMetaData->addIncludeColumns($includeColumns);
-    }
-
-    /**
-     * Clears the included columns.
-     */
-    public function clearIncludeColumns()
-    {
-        $this->tableMetaData->clearIncludeColumns();
-    }
-
-    /**
-     * Sets the columns to exclude from the table.
-     * @param Array $excludeColumns
-     */
-    public function addExcludeColumns(Array $excludeColumns)
-    {
-        $this->tableMetaData->addExcludeColumns($excludeColumns);
-    }
-
-    /**
-     * Clears the included columns.
-     */
-    public function clearExcludeColumns()
-    {
-        $this->tableMetaData->clearExcludeColumns();
-    }
-
-    /**
-     * Checks if a given row is in the table
-     *
-     * @param array $row
-     *
-     * @return bool
-     */
-    public function assertContainsRow(Array $row)
-    {
-        $this->loadData();
-
-        return parent::assertContainsRow($row);
-    }
-
-    /**
-     * Loads data into local data table if it's not already loaded
-     */
-    protected function loadData()
-    {
-        if ($this->data === NULL) {
-            $data = [];
-            for($row = 0;$row < $this->originalTable->getRowCount();$row++) {
-                $tRow = [];
-                foreach($this->getTableMetaData()->getColumns() as $col) {
-                    $tRow[$col] = $this->getValue($row, $col);
-                }
-                $data[$row] = $tRow;
-            }
-            $this->data   = $data;
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TableMetaData decorator that allows filtering columns from another
- * metaData object.
- *
- * The if a whitelist (include) filter is specified, then only those columns
- * will be included.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_TableMetaDataFilter extends PHPUnit_Extensions_Database_DataSet_AbstractTableMetaData
-{
-    /**
-     * The table meta data being decorated.
-     * @var PHPUnit_Extensions_Database_DataSet_ITableMetaData
-     */
-    protected $originalMetaData;
-
-    /**
-     * The columns to exclude from the meta data.
-     * @var Array
-     */
-    protected $excludeColumns = [];
-
-    /**
-     * The columns to include from the meta data.
-     * @var Array
-     */
-    protected $includeColumns = [];
-
-    /**
-     * Creates a new filtered table meta data object filtering out
-     * $excludeColumns.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $originalMetaData
-     * @param array                                              $excludeColumns   - Deprecated. Use the set* methods instead.
-     */
-    public function __construct(PHPUnit_Extensions_Database_DataSet_ITableMetaData $originalMetaData, Array $excludeColumns = [])
-    {
-        $this->originalMetaData = $originalMetaData;
-        $this->addExcludeColumns($excludeColumns);
-    }
-
-    /**
-     * Returns the names of the columns in the table.
-     *
-     * @return array
-     */
-    public function getColumns()
-    {
-        if (!empty($this->includeColumns)) {
-            return array_values(array_intersect($this->originalMetaData->getColumns(), $this->includeColumns));
-        }
-        elseif (!empty($this->excludeColumns)) {
-            return array_values(array_diff($this->originalMetaData->getColumns(), $this->excludeColumns));
-        }
-        else {
-            return $this->originalMetaData->getColumns();
-        }
-    }
-
-    /**
-     * Returns the names of the primary key columns in the table.
-     *
-     * @return array
-     */
-    public function getPrimaryKeys()
-    {
-        return $this->originalMetaData->getPrimaryKeys();
-    }
-
-    /**
-     * Returns the name of the table.
-     *
-     * @return string
-     */
-    public function getTableName()
-    {
-        return $this->originalMetaData->getTableName();
-    }
-
-    /**
-     * Sets the columns to include in the table.
-     * @param Array $includeColumns
-     */
-    public function addIncludeColumns(Array $includeColumns)
-    {
-        $this->includeColumns = array_unique(array_merge($this->includeColumns, $includeColumns));
-    }
-
-    /**
-     * Clears the included columns.
-     */
-    public function clearIncludeColumns()
-    {
-        $this->includeColumns = [];
-    }
-
-    /**
-     * Sets the columns to exclude from the table.
-     * @param Array $excludeColumns
-     */
-    public function addExcludeColumns(Array $excludeColumns)
-    {
-        $this->excludeColumns = array_unique(array_merge($this->excludeColumns, $excludeColumns));
-    }
-
-    /**
-     * Clears the excluded columns.
-     */
-    public function clearExcludeColumns()
-    {
-        $this->excludeColumns = [];
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default implementation of a data set.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_XmlDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractXmlDataSet
-{
-    protected function getTableInfo(Array &$tableColumns, Array &$tableValues)
-    {
-        if ($this->xmlFileContents->getName() != 'dataset') {
-            throw new PHPUnit_Extensions_Database_Exception('The root element of an xml data set file must be called <dataset>');
-        }
-
-        foreach ($this->xmlFileContents->xpath('/dataset/table') as $tableElement) {
-            if (empty($tableElement['name'])) {
-                throw new PHPUnit_Extensions_Database_Exception('Table elements must include a name attribute specifying the table name.');
-            }
-
-            $tableName = (string) $tableElement['name'];
-
-            if (!isset($tableColumns[$tableName])) {
-                $tableColumns[$tableName] = [];
-            }
-
-            if (!isset($tableValues[$tableName])) {
-                $tableValues[$tableName] = [];
-            }
-
-            $tableInstanceColumns = [];
-
-            foreach ($tableElement->xpath('./column') as $columnElement) {
-                $columnName = (string) $columnElement;
-                if (empty($columnName)) {
-                    throw new PHPUnit_Extensions_Database_Exception("Missing <column> elements for table $tableName. Add one or more <column> elements to the <table> element.");
-                }
-
-                if (!in_array($columnName, $tableColumns[$tableName])) {
-                    $tableColumns[$tableName][] = $columnName;
-                }
-
-                $tableInstanceColumns[] = $columnName;
-            }
-
-            foreach ($tableElement->xpath('./row') as $rowElement) {
-                $rowValues                 = [];
-                $index                     = 0;
-                $numOfTableInstanceColumns = count($tableInstanceColumns);
-
-                foreach ($rowElement->children() as $columnValue) {
-
-                    if ($index >= $numOfTableInstanceColumns) {
-                        throw new PHPUnit_Extensions_Database_Exception("Row contains more values than the number of columns defined for table $tableName.");
-                    }
-                    switch ($columnValue->getName()) {
-                        case 'value':
-                            $rowValues[$tableInstanceColumns[$index]] = (string) $columnValue;
-                            $index++;
-                            break;
-                        case 'null':
-                            $rowValues[$tableInstanceColumns[$index]] = NULL;
-                            $index++;
-                            break;
-                        default:
-                            throw new PHPUnit_Extensions_Database_Exception('Unknown element ' . $columnValue->getName() . ' in a row element.');
-                    }
-                }
-
-                $tableValues[$tableName][] = $rowValues;
-            }
-        }
-    }
-
-    public static function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset, $filename)
-    {
-        $pers = new PHPUnit_Extensions_Database_DataSet_Persistors_Xml();
-        $pers->setFileName($filename);
-
-        try {
-            $pers->write($dataset);
-        }
-
-        catch (RuntimeException $e) {
-            throw new PHPUnit_Framework_Exception(__METHOD__ . ' called with an unwritable file.');
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates YamlDataSets.
- *
- * You can incrementally add YAML files as tables to your datasets
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DataSet_YamlDataSet extends PHPUnit_Extensions_Database_DataSet_AbstractDataSet
-{
-    /**
-     * @var array
-     */
-    protected $tables = [];
-
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_IYamlParser
-     */
-    protected $parser;
-
-    /**
-     * Creates a new YAML dataset
-     *
-     * @param string                                          $yamlFile
-     * @param PHPUnit_Extensions_Database_DataSet_IYamlParser $parser
-     */
-    public function __construct($yamlFile, $parser = NULL)
-    {
-        if ($parser == NULL) {
-            $parser = new PHPUnit_Extensions_Database_DataSet_SymfonyYamlParser();
-        }
-        $this->parser = $parser;
-        $this->addYamlFile($yamlFile);
-    }
-
-    /**
-     * Adds a new yaml file to the dataset.
-     * @param string $yamlFile
-     */
-    public function addYamlFile($yamlFile)
-    {
-        $data = $this->parser->parseYaml($yamlFile);
-
-        foreach ($data as $tableName => $rows) {
-            if (!isset($rows)) {
-                $rows = [];
-            }
-
-            if (!is_array($rows)) {
-                continue;
-            }
-
-            if (!array_key_exists($tableName, $this->tables)) {
-                $columns = $this->getColumns($rows);
-
-                $tableMetaData = new PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData(
-                  $tableName, $columns
-                );
-
-                $this->tables[$tableName] = new PHPUnit_Extensions_Database_DataSet_DefaultTable(
-                  $tableMetaData
-                );
-            }
-
-            foreach ($rows as $row) {
-                $this->tables[$tableName]->addRow($row);
-            }
-        }
-    }
-
-    /**
-     * Creates a unique list of columns from all the rows in a table.
-     * If the table is defined another time in the Yaml, and if the Yaml
-     * parser could return the multiple occerrences, then this would be
-     * insufficient unless we grouped all the occurences of the table
-     * into onwe row set.  sfYaml, however, does not provide multiple tables
-     * with the same name, it only supplies the last table.
-     *
-     * @params all the rows in a table.
-     */
-    private function getColumns($rows) {
-        $columns = [];
-
-        foreach ($rows as $row) {
-            $columns = array_merge($columns, array_keys($row));
-        }
-
-        return array_values(array_unique($columns));
-    }
-
-    /**
-     * Creates an iterator over the tables in the data set. If $reverse is
-     * true a reverse iterator will be returned.
-     *
-     * @param  bool                                               $reverse
-     * @return PHPUnit_Extensions_Database_DataSet_ITableIterator
-     */
-    protected function createIterator($reverse = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_DefaultTableIterator(
-          $this->tables, $reverse
-        );
-    }
-
-    /**
-     * Saves a given $dataset to $filename in YAML format
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataset
-     * @param string                                       $filename
-     */
-    public static function write(PHPUnit_Extensions_Database_DataSet_IDataSet $dataset, $filename)
-    {
-        $pers = new PHPUnit_Extensions_Database_DataSet_Persistors_Yaml();
-        $pers->setFileName($filename);
-
-        try {
-            $pers->write($dataset);
-        }
-
-        catch (RuntimeException $e) {
-            throw new PHPUnit_Framework_Exception(
-              __METHOD__ . ' called with an unwritable file.'
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This is the default implementation of the database tester. It receives its
- * connection object from the constructor.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_DefaultTester extends PHPUnit_Extensions_Database_AbstractTester
-{
-    /**
-     * @var PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    protected $connection;
-
-    /**
-     * Creates a new default database tester using the given connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     */
-    public function __construct(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        parent::__construct();
-
-        $this->connection = $connection;
-    }
-
-    /**
-     * Returns the test database connection.
-     *
-     * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    public function getConnection()
-    {
-        return $this->connection;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Thrown for exceptions encountered with database operations. Provides
- * information regarding which operations failed and the query (if any) it
- * failed on.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Exception extends Exception
-{
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface for classes that require a list of databases to operate.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_IDatabaseListConsumer
-{
-    /**
-     * Sets the database for the spec
-     *
-     * @param array $databases
-     */
-    public function setDatabases(array $databases);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This is the interface for DatabaseTester objects. These objects are used to
- * add database testing to existing test cases using composition instead of
- * extension.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_ITester
-{
-    /**
-     * Closes the specified connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     */
-    public function closeConnection(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection);
-
-    /**
-     * Returns the test database connection.
-     *
-     * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    public function getConnection();
-
-    /**
-     * Returns the test dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    public function getDataSet();
-
-    /**
-     * TestCases must call this method inside setUp().
-     */
-    public function onSetUp();
-
-    /**
-     * TestCases must call this method inside tearDown().
-     */
-    public function onTearDown();
-
-    /**
-     * Sets the test dataset to use.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
-     */
-    public function setDataSet(PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet);
-
-    /**
-     * Sets the schema value.
-     *
-     * @param string $schema
-     */
-    public function setSchema($schema);
-
-    /**
-     * Sets the DatabaseOperation to call when starting the test.
-     *
-     * @param PHPUnit_Extensions_Database_Operation_DatabaseOperation $setUpOperation
-     */
-    public function setSetUpOperation(PHPUnit_Extensions_Database_Operation_IDatabaseOperation $setUpOperation);
-
-    /**
-     * Sets the DatabaseOperation to call when stopping the test.
-     *
-     * @param PHPUnit_Extensions_Database_Operation_DatabaseOperation $tearDownOperation
-     */
-    public function setTearDownOperation(PHPUnit_Extensions_Database_Operation_IDatabaseOperation $tearDownOperation);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class facilitates combining database operations. To create a composite
- * operation pass an array of classes that implement
- * PHPUnit_Extensions_Database_Operation_IDatabaseOperation and they will be
- * executed in that order against all data sets.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Composite implements PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    /**
-     * @var array
-     */
-    protected $operations = [];
-
-    /**
-     * Creates a composite operation.
-     *
-     * @param array $operations
-     */
-    public function __construct(Array $operations)
-    {
-        foreach ($operations as $operation) {
-            if ($operation instanceof PHPUnit_Extensions_Database_Operation_IDatabaseOperation) {
-                $this->operations[] = $operation;
-            } else {
-                throw new InvalidArgumentException('Only database operation instances can be passed to a composite database operation.');
-            }
-        }
-    }
-
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        try {
-            foreach ($this->operations as $operation) {
-                /* @var $operation PHPUnit_Extensions_Database_Operation_IDatabaseOperation */
-                $operation->execute($connection, $dataSet);
-            }
-        } catch (PHPUnit_Extensions_Database_Operation_Exception $e) {
-            throw new PHPUnit_Extensions_Database_Operation_Exception("COMPOSITE[{$e->getOperation()}]", $e->getQuery(), $e->getArgs(), $e->getTable(), $e->getError());
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Deletes the rows in a given dataset using primary key columns.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Delete extends PHPUnit_Extensions_Database_Operation_RowBased
-{
-    protected $operationName = 'DELETE';
-
-    protected $iteratorDirection = self::ITERATOR_TYPE_REVERSE;
-
-    protected function buildOperationQuery(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $keys = $databaseTableMetaData->getPrimaryKeys();
-
-        $whereStatement = 'WHERE ' . implode(' AND ', $this->buildPreparedColumnArray($keys, $connection));
-
-        $query = "
-            DELETE FROM {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-            {$whereStatement}
-        ";
-
-        return $query;
-    }
-
-    protected function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row)
-    {
-        $args = [];
-        foreach ($databaseTableMetaData->getPrimaryKeys() as $columnName) {
-            $args[] = $table->getValue($row, $columnName);
-        }
-
-        return $args;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Deletes all rows from all tables in a dataset.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_DeleteAll implements PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        foreach ($dataSet->getReverseIterator() as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-
-            $query = "
-                DELETE FROM {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-            ";
-
-            try {
-                $connection->getConnection()->query($query);
-            } catch (PDOException $e) {
-                throw new PHPUnit_Extensions_Database_Operation_Exception('DELETE_ALL', $query, [], $table, $e->getMessage());
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Thrown for exceptions encountered with database operations. Provides
- * information regarding which operations failed and the query (if any) it
- * failed on.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Exception extends RuntimeException
-{
-    /**
-     * @var string
-     */
-    protected $operation;
-
-    /**
-     * @var string
-     */
-    protected $preparedQuery;
-
-    /**
-     * @var array
-     */
-    protected $preparedArgs;
-
-    /**
-     * @var PHPUnit_Extensions_Database_DataSet_ITable
-     */
-    protected $table;
-
-    /**
-     * @var string
-     */
-    protected $error;
-
-    /**
-     * Creates a new dbunit operation exception
-     *
-     * @param string                                     $operation
-     * @param string                                     $current_query
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $current_table
-     * @param string                                     $error
-     */
-    public function __construct($operation, $current_query, $current_args, $current_table, $error)
-    {
-        parent::__construct("{$operation} operation failed on query: {$current_query} using args: " . print_r($current_args, TRUE) . " [{$error}]");
-
-        $this->operation     = $operation;
-        $this->preparedQuery = $current_query;
-        $this->preparedArgs  = $current_args;
-        $this->table         = $current_table;
-        $this->error         = $error;
-    }
-
-    public function getOperation()
-    {
-        return $this->operation;
-    }
-
-    public function getQuery()
-    {
-        return $this->preparedQuery;
-    }
-
-    public function getTable()
-    {
-        return $this->table;
-    }
-
-    public function getArgs()
-    {
-        return $this->preparedArgs;
-    }
-
-    public function getError()
-    {
-        return $this->error;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A class factory to easily return database operations.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Factory
-{
-    /**
-     * Returns a null database operation
-     *
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function NONE()
-    {
-        return new PHPUnit_Extensions_Database_Operation_Null();
-    }
-
-    /**
-     * Returns a clean insert database operation. It will remove all contents
-     * from the table prior to re-inserting rows.
-     *
-     * @param  bool                                                     $cascadeTruncates Set to true to force truncates to cascade on databases that support this.
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function CLEAN_INSERT($cascadeTruncates = FALSE)
-    {
-        return new PHPUnit_Extensions_Database_Operation_Composite([
-            self::TRUNCATE($cascadeTruncates),
-            self::INSERT()
-        ]);
-    }
-
-    /**
-     * Returns an insert database operation.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function INSERT()
-    {
-        return new PHPUnit_Extensions_Database_Operation_Insert();
-    }
-
-    /**
-     * Returns a truncate database operation.
-     *
-     * @param  bool                                                     $cascadeTruncates Set to true to force truncates to cascade on databases that support this.
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function TRUNCATE($cascadeTruncates = FALSE)
-    {
-        $truncate = new PHPUnit_Extensions_Database_Operation_Truncate();
-        $truncate->setCascade($cascadeTruncates);
-
-        return $truncate;
-    }
-
-    /**
-     * Returns a delete database operation.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function DELETE()
-    {
-        return new PHPUnit_Extensions_Database_Operation_Delete();
-    }
-
-    /**
-     * Returns a delete_all database operation.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function DELETE_ALL()
-    {
-        return new PHPUnit_Extensions_Database_Operation_DeleteAll();
-    }
-
-    /**
-     * Returns an update database operation.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-     */
-    public static function UPDATE()
-    {
-        return new PHPUnit_Extensions_Database_Operation_Update();
-    }
-
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides a basic interface and functionality for executing database
- * operations against a connection using a specific dataSet.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    /**
-     * Executes the database operation against the given $connection for the
-     * given $dataSet.
-     *
-     * @param  PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     * @param  PHPUnit_Extensions_Database_DataSet_IDataSet       $dataSet
-     * @throws PHPUnit_Extensions_Database_Operation_Exception
-     */
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet);
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class provides functionality for inserting rows from a dataset into a database.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Insert extends PHPUnit_Extensions_Database_Operation_RowBased
-{
-    protected $operationName = 'INSERT';
-
-    protected function buildOperationQuery(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $columnCount = count($table->getTableMetaData()->getColumns());
-
-        if ($columnCount > 0) {
-            $placeHolders = implode(', ', array_fill(0, $columnCount, '?'));
-
-            $columns = '';
-            foreach ($table->getTableMetaData()->getColumns() as $column) {
-                $columns .= $connection->quoteSchemaObject($column) . ', ';
-            }
-
-            $columns = substr($columns, 0, -2);
-
-            $query = "
-                INSERT INTO {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-                ({$columns})
-                VALUES
-                ({$placeHolders})
-            ";
-
-            return $query;
-        } else {
-            return FALSE;
-        }
-    }
-
-    protected function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row)
-    {
-        $args = [];
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            $args[] = $table->getValue($row, $columnName);
-        }
-
-        return $args;
-    }
-
-    protected function disablePrimaryKeys(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        if (count($databaseTableMetaData->getPrimaryKeys())) {
-            return TRUE;
-        }
-
-        return FALSE;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class represents a null database operation.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Null implements PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        /* do nothing */
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Updates the rows in a given dataset using primary key columns.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Replace extends PHPUnit_Extensions_Database_Operation_RowBased
-{
-    protected $operationName = 'REPLACE';
-
-    protected function buildOperationQuery(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $keys = $databaseTableMetaData->getPrimaryKeys();
-
-        $whereStatement = 'WHERE ' . implode(' AND ', $this->buildPreparedColumnArray($keys, $connection));
-
-        $query = "
-            SELECT COUNT(*)
-            FROM {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-            {$whereStatement}
-        ";
-
-        return $query;
-    }
-
-    protected function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row)
-    {
-        $args = [];
-
-        foreach ($databaseTableMetaData->getPrimaryKeys() as $columnName) {
-            $args[] = $table->getValue($row, $columnName);
-        }
-
-        return $args;
-    }
-
-    /**
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet       $dataSet
-     */
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        $insertOperation = new PHPUnit_Extensions_Database_Operation_Insert;
-        $updateOperation = new PHPUnit_Extensions_Database_Operation_Update;
-        $databaseDataSet = $connection->createDataSet();
-
-        foreach ($dataSet as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
-
-            $insertQuery = $insertOperation->buildOperationQuery($databaseTableMetaData, $table, $connection);
-            $updateQuery = $updateOperation->buildOperationQuery($databaseTableMetaData, $table, $connection);
-            $selectQuery = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
-
-            $insertStatement = $connection->getConnection()->prepare($insertQuery);
-            $updateStatement = $connection->getConnection()->prepare($updateQuery);
-            $selectStatement = $connection->getConnection()->prepare($selectQuery);
-
-            $rowCount = $table->getRowCount();
-
-            for ($i = 0; $i < $rowCount; $i++) {
-                $selectArgs = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
-                $query      = $selectQuery;
-                $args       = $selectArgs;
-
-                try {
-                    $selectStatement->execute($selectArgs);
-
-                    if ($selectStatement->fetchColumn(0) > 0) {
-                        $updateArgs = $updateOperation->buildOperationArguments($databaseTableMetaData, $table, $i);
-                        $query      = $updateQuery;
-                        $args       = $updateArgs;
-
-                        $updateStatement->execute($updateArgs);
-                    } else {
-                        $insertArgs = $insertOperation->buildOperationArguments($databaseTableMetaData, $table, $i);
-                        $query      = $insertQuery;
-                        $args       = $insertArgs;
-
-                        $insertStatement->execute($insertArgs);
-                    }
-                }
-
-                catch (Exception $e) {
-                    throw new PHPUnit_Extensions_Database_Operation_Exception(
-                      $this->operationName, $query, $args, $table, $e->getMessage()
-                    );
-                }
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides basic functionality for row based operations.
- *
- * To create a row based operation you must create two functions. The first
- * one, buildOperationQuery(), must return a query that will be used to create
- * a prepared statement. The second one, buildOperationArguments(), should
- * return an array containing arguments for each row.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_Operation_RowBased implements PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    const ITERATOR_TYPE_FORWARD = 0;
-    const ITERATOR_TYPE_REVERSE = 1;
-
-    protected $operationName;
-
-    protected $iteratorDirection = self::ITERATOR_TYPE_FORWARD;
-
-    /**
-     * @return string|bool String containing the query or FALSE if a valid query cannot be constructed
-     */
-    protected abstract function buildOperationQuery(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection);
-
-    protected abstract function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row);
-
-    /**
-     * Allows an operation to disable primary keys if necessary.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData
-     * @param PHPUnit_Extensions_Database_DataSet_ITable         $table
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     */
-    protected function disablePrimaryKeys(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        return FALSE;
-    }
-
-    /**
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     * @param PHPUnit_Extensions_Database_DataSet_IDataSet       $dataSet
-     */
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        $databaseDataSet = $connection->createDataSet();
-
-        $dsIterator = $this->iteratorDirection == self::ITERATOR_TYPE_REVERSE ? $dataSet->getReverseIterator() : $dataSet->getIterator();
-
-        foreach ($dsIterator as $table) {
-            $rowCount = $table->getRowCount();
-
-            if($rowCount == 0) continue;
-
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
-            $query                 = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
-            $disablePrimaryKeys    = $this->disablePrimaryKeys($databaseTableMetaData, $table, $connection);
-
-            if ($query === FALSE) {
-                if ($table->getRowCount() > 0) {
-                    throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, '', [], $table, 'Rows requested for insert, but no columns provided!');
-                }
-                continue;
-            }
-
-            if ($disablePrimaryKeys) {
-                $connection->disablePrimaryKeys($databaseTableMetaData->getTableName());
-            }
-
-            $statement = $connection->getConnection()->prepare($query);
-
-            for ($i = 0; $i < $rowCount; $i++) {
-                $args = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
-
-                try {
-                    $statement->execute($args);
-                }
-
-                catch (Exception $e) {
-                    throw new PHPUnit_Extensions_Database_Operation_Exception(
-                      $this->operationName, $query, $args, $table, $e->getMessage()
-                    );
-                }
-            }
-
-            if ($disablePrimaryKeys) {
-                $connection->enablePrimaryKeys($databaseTableMetaData->getTableName());
-            }
-        }
-    }
-
-    protected function buildPreparedColumnArray($columns, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $columnArray = [];
-
-        foreach ($columns as $columnName) {
-            $columnArray[] = "{$connection->quoteSchemaObject($columnName)} = ?";
-        }
-
-        return $columnArray;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Executes a truncate against all tables in a dataset.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Truncate implements PHPUnit_Extensions_Database_Operation_IDatabaseOperation
-{
-    protected $useCascade = FALSE;
-
-    public function setCascade($cascade = TRUE)
-    {
-        $this->useCascade = $cascade;
-    }
-
-    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
-    {
-        foreach ($dataSet->getReverseIterator() as $table) {
-            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
-            $query = "
-                {$connection->getTruncateCommand()} {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-            ";
-
-            if ($this->useCascade && $connection->allowsCascading()) {
-                $query .= ' CASCADE';
-            }
-
-            try {
-                $this->disableForeignKeyChecksForMysql($connection);
-                $connection->getConnection()->query($query);
-                $this->enableForeignKeyChecksForMysql($connection);
-            } catch (\Exception $e) {
-                $this->enableForeignKeyChecksForMysql($connection);
-
-                if ($e instanceof PDOException) {
-                    throw new PHPUnit_Extensions_Database_Operation_Exception('TRUNCATE', $query, [], $table, $e->getMessage());
-                }
-
-                throw $e;
-            }
-        }
-    }
-
-    private function disableForeignKeyChecksForMysql(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        if ($this->isMysql($connection)) {
-            $connection->getConnection()->query('SET FOREIGN_KEY_CHECKS = 0');
-        }
-    }
-
-    private function enableForeignKeyChecksForMysql(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        if ($this->isMysql($connection)) {
-            $connection->getConnection()->query('SET FOREIGN_KEY_CHECKS = 1');
-        }
-    }
-
-    private function isMysql(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        return $connection->getConnection()->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql';
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Updates the rows in a given dataset using primary key columns.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_Operation_Update extends PHPUnit_Extensions_Database_Operation_RowBased
-{
-    protected $operationName = 'UPDATE';
-
-    protected function buildOperationQuery(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $keys           = $databaseTableMetaData->getPrimaryKeys();
-        $columns        = $table->getTableMetaData()->getColumns();
-        $whereStatement = 'WHERE ' . implode(' AND ', $this->buildPreparedColumnArray($keys, $connection));
-        $setStatement   = 'SET ' . implode(', ', $this->buildPreparedColumnArray($columns, $connection));
-
-        $query = "
-            UPDATE {$connection->quoteSchemaObject($table->getTableMetaData()->getTableName())}
-            {$setStatement}
-            {$whereStatement}
-        ";
-
-        return $query;
-    }
-
-    protected function buildOperationArguments(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, $row)
-    {
-        $args = [];
-        foreach ($table->getTableMetaData()->getColumns() as $columnName) {
-            $args[] = $table->getValue($row, $columnName);
-        }
-
-        foreach ($databaseTableMetaData->getPrimaryKeys() as $columnName) {
-            $args[] = $table->getValue($row, $columnName);
-        }
-
-        return $args;
-    }
-
-    protected function disablePrimaryKeys(PHPUnit_Extensions_Database_DataSet_ITableMetaData $databaseTableMetaData, PHPUnit_Extensions_Database_DataSet_ITable $table, PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        if (count($databaseTableMetaData->getPrimaryKeys())) {
-            return TRUE;
-        }
-
-        return FALSE;
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestCase extension that provides functionality for testing and asserting
- * against a real database.
- *
- * @since      Class available since Release 1.0.0
- */
-abstract class PHPUnit_Extensions_Database_TestCase extends PHPUnit_Framework_TestCase
-{
-    use PHPUnit_Extensions_Database_TestCase_Trait;
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-trait PHPUnit_Extensions_Database_TestCase_Trait
-{
-    /**
-     * @var PHPUnit_Extensions_Database_ITester
-     */
-    protected $databaseTester;
-
-    /**
-     * Closes the specified connection.
-     *
-     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
-     */
-    protected function closeConnection(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection)
-    {
-        $this->getDatabaseTester()->closeConnection($connection);
-    }
-
-    /**
-     * Returns the test database connection.
-     *
-     * @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
-     */
-    protected abstract function getConnection();
-
-    /**
-     * Gets the IDatabaseTester for this testCase. If the IDatabaseTester is
-     * not set yet, this method calls newDatabaseTester() to obtain a new
-     * instance.
-     *
-     * @return PHPUnit_Extensions_Database_ITester
-     */
-    protected function getDatabaseTester()
-    {
-        if (empty($this->databaseTester)) {
-            $this->databaseTester = $this->newDatabaseTester();
-        }
-
-        return $this->databaseTester;
-    }
-
-    /**
-     * Returns the test dataset.
-     *
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected abstract function getDataSet();
-
-    /**
-     * Returns the database operation executed in test setup.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
-     */
-    protected function getSetUpOperation()
-    {
-        return PHPUnit_Extensions_Database_Operation_Factory::CLEAN_INSERT();
-    }
-
-    /**
-     * Returns the database operation executed in test cleanup.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_DatabaseOperation
-     */
-    protected function getTearDownOperation()
-    {
-        return PHPUnit_Extensions_Database_Operation_Factory::NONE();
-    }
-
-    /**
-     * Creates a IDatabaseTester for this testCase.
-     *
-     * @return PHPUnit_Extensions_Database_ITester
-     */
-    protected function newDatabaseTester()
-    {
-        return new PHPUnit_Extensions_Database_DefaultTester($this->getConnection());
-    }
-
-    /**
-     * Creates a new DefaultDatabaseConnection using the given PDO connection
-     * and database schema name.
-     *
-     * @param  PDO                                                      $connection
-     * @param  string                                                   $schema
-     * @return PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection
-     */
-    protected function createDefaultDBConnection(PDO $connection, $schema = '')
-    {
-        return new PHPUnit_Extensions_Database_DB_DefaultDatabaseConnection($connection, $schema);
-    }
-
-    /**
-     * Creates a new ArrayDataSet with the given array.
-     * The array parameter is an associative array of tables where the key is
-     * the table name and the value an array of rows. Each row is an associative
-     * array by itself with keys representing the field names and the values the
-     * actual data.
-     * For example:
-     * array(
-     *     "addressbook" => array(
-     *         array("id" => 1, "name" => "...", "address" => "..."),
-     *         array("id" => 2, "name" => "...", "address" => "...")
-     *     )
-     * )
-     *
-     * @param  array                                            $data
-     * @return PHPUnit_Extensions_Database_DataSet_ArrayDataSet
-     */
-    protected function createArrayDataSet(array $data)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_ArrayDataSet($data);
-    }
-
-    /**
-     * Creates a new FlatXmlDataSet with the given $xmlFile. (absolute path.)
-     *
-     * @param  string                                             $xmlFile
-     * @return PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet
-     */
-    protected function createFlatXMLDataSet($xmlFile)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_FlatXmlDataSet($xmlFile);
-    }
-
-    /**
-     * Creates a new XMLDataSet with the given $xmlFile. (absolute path.)
-     *
-     * @param  string                                         $xmlFile
-     * @return PHPUnit_Extensions_Database_DataSet_XmlDataSet
-     */
-    protected function createXMLDataSet($xmlFile)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_XmlDataSet($xmlFile);
-    }
-
-    /**
-     * Create a a new MysqlXmlDataSet with the given $xmlFile. (absolute path.)
-     *
-     * @param  string                                              $xmlFile
-     * @return PHPUnit_Extensions_Database_DataSet_MysqlXmlDataSet
-     * @since  Method available since Release 1.0.0
-     */
-    protected function createMySQLXMLDataSet($xmlFile)
-    {
-        return new PHPUnit_Extensions_Database_DataSet_MysqlXmlDataSet($xmlFile);
-    }
-
-    /**
-     * Returns an operation factory instance that can be used to instantiate
-     * new operations.
-     *
-     * @return PHPUnit_Extensions_Database_Operation_Factory
-     */
-    protected function getOperations()
-    {
-        return new PHPUnit_Extensions_Database_Operation_Factory();
-    }
-
-    /**
-     * Performs operation returned by getSetUpOperation().
-     */
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->databaseTester = NULL;
-
-        $this->getDatabaseTester()->setSetUpOperation($this->getSetUpOperation());
-        $this->getDatabaseTester()->setDataSet($this->getDataSet());
-        $this->getDatabaseTester()->onSetUp();
-    }
-
-    /**
-     * Performs operation returned by getTearDownOperation().
-     */
-    protected function tearDown()
-    {
-        $this->getDatabaseTester()->setTearDownOperation($this->getTearDownOperation());
-        $this->getDatabaseTester()->setDataSet($this->getDataSet());
-        $this->getDatabaseTester()->onTearDown();
-
-        /*
-         * Destroy the tester after the test is run to keep DB connections
-         * from piling up.
-         */
-        $this->databaseTester = NULL;
-    }
-
-    /**
-     * Asserts that two given tables are equal.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $expected
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $actual
-     * @param string                                     $message
-     */
-    public static function assertTablesEqual(PHPUnit_Extensions_Database_DataSet_ITable $expected, PHPUnit_Extensions_Database_DataSet_ITable $actual, $message = '')
-    {
-        $constraint = new PHPUnit_Extensions_Database_Constraint_TableIsEqual($expected);
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two given datasets are equal.
-     *
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $expected
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $actual
-     * @param string                                     $message
-     */
-    public static function assertDataSetsEqual(PHPUnit_Extensions_Database_DataSet_IDataSet $expected, PHPUnit_Extensions_Database_DataSet_IDataSet $actual, $message = '')
-    {
-        $constraint = new PHPUnit_Extensions_Database_Constraint_DataSetIsEqual($expected);
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Assert that a given table has a given amount of rows
-     *
-     * @param string $tableName Name of the table
-     * @param int    $expected  Expected amount of rows in the table
-     * @param string $message   Optional message
-     */
-    public function assertTableRowCount($tableName, $expected, $message = '')
-    {
-        $constraint = new PHPUnit_Extensions_Database_Constraint_TableRowCount($tableName, $expected);
-        $actual     = $this->getConnection()->getRowCount($tableName);
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a given table contains a given row
-     *
-     * @param array                                      $expectedRow Row expected to find
-     * @param PHPUnit_Extensions_Database_DataSet_ITable $table       Table to look into
-     * @param string                                     $message     Optional message
-     */
-    public function assertTableContains(array $expectedRow, PHPUnit_Extensions_Database_DataSet_ITable $table, $message = '')
-    {
-        self::assertThat($table->assertContainsRow($expectedRow), self::isTrue(), $message);
-    }
-}
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Delegates database extension commands to the appropriate mode classes.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_Command
-{
-    /**
-     * @var PHPUnit_Extensions_Database_UI_IModeFactory
-     */
-    protected $modeFactory;
-
-    /**
-     * @param PHPUnit_Extensions_Database_UI_IModeFactory $modeFactory
-     */
-    public function __construct(PHPUnit_Extensions_Database_UI_IModeFactory $modeFactory)
-    {
-        $this->modeFactory = $modeFactory;
-    }
-
-    /**
-     * Executes the database extension ui.
-     *
-     * @param PHPUnit_Extensions_Database_UI_IMedium $medium
-     * @param PHPUnit_Extensions_Database_UI_Context $context
-     */
-    public function main(PHPUnit_Extensions_Database_UI_IMedium $medium, PHPUnit_Extensions_Database_UI_Context $context)
-    {
-        try {
-            $medium->buildContext($context);
-            $mode = $this->modeFactory->getMode($context->getMode());
-            $mode->execute($context->getModeArguments(), $medium);
-
-        } catch (Exception $e) {
-            $medium->handleException($e);
-        }
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Holds the context of a particular database extension ui call.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_Context
-{
-    /**
-     * @var string
-     */
-    protected $mode;
-
-    /**
-     * @var array
-     */
-    protected $modeArguments;
-
-    /**
-     * @param string $mode
-     */
-    public function setMode($mode)
-    {
-        $this->mode = $mode;
-    }
-
-    /**
-     * @return string
-     */
-    public function getMode()
-    {
-        return $this->mode;
-    }
-
-    /**
-     * @param array $arguments
-     */
-    public function setModeArguments(array $arguments)
-    {
-        $this->mode_arguments = $arguments;
-    }
-
-    /**
-     * @return array
-     */
-    public function getModeArguments()
-    {
-        return $this->mode_arguments;
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines the interface necessary to create new mediums.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_UI_IMedium extends PHPUnit_Extensions_Database_UI_IMediumPrinter
-{
-    /**
-     * Builds the context for the application.
-     *
-     * @param PHPUnit_Extensions_Database_UI_Context $context
-     */
-    public function buildContext(PHPUnit_Extensions_Database_UI_Context $context);
-
-    /**
-     * Handles the displaying of exceptions received from the application.
-     *
-     * @param Exception $e
-     */
-    public function handleException(Exception $e);
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines the interface necessary to create new medium printers.
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_UI_IMediumPrinter
-{
-    /**
-     * Prints standard output messages.
-     *
-     * @param string $message
-     */
-    public function output($message);
-
-    /**
-     * Prints standard error messages.
-     *
-     * @param string $message
-     */
-    public function error($message);
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines the interface necessary to create new modes
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_UI_IMode
-{
-    /**
-     * Executes the mode using the given arguments and medium.
-     *
-     * @param array                                         $modeArguments
-     * @param PHPUnit_Extensions_Database_UI_IMediumPrinter $medium
-     */
-    public function execute(array $modeArguments, PHPUnit_Extensions_Database_UI_IMediumPrinter $medium);
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines the interface necessary to create new mode factories
- *
- * @since      Class available since Release 1.0.0
- */
-interface PHPUnit_Extensions_Database_UI_IModeFactory
-{
-    /**
-     * Generates a new mode based on a given name.
-     *
-     * @param  string                               $mode
-     * @return PHPUnit_Extensions_Database_UI_IMode
-     */
-    public function getMode($mode);
-
-    /**
-     * Returns the names of valid modes this factory can create.
-     *
-     * @return array
-     */
-    public function getModeList();
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An exception thrown when an invalid mode is requested from a mode factory.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_InvalidModeException extends LogicException
-{
-    /**
-     * @var string
-     */
-    protected $mode;
-
-    /**
-     * @var PHPUnit_Extensions_Database_UI_IModeFactory
-     */
-    protected $modeFactory;
-
-    /**
-     * @param string                                      $mode
-     * @param string                                      $msg
-     * @param PHPUnit_Extensions_Database_UI_IModeFactory $modeFactory
-     */
-    public function __construct($mode, $msg, PHPUnit_Extensions_Database_UI_IModeFactory $modeFactory)
-    {
-        $this->mode        = $mode;
-        $this->modeFactory = $modeFactory;
-        parent::__construct($msg);
-    }
-
-    /**
-     * @return string
-     */
-    public function getMode()
-    {
-        return $this->mode;
-    }
-
-    /**
-     * @return array
-     */
-    public function getValidModes()
-    {
-        return $this->modeFactory->getModeList();
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A text medium for the database extension tool.
- *
- * This class builds the call context based on command line parameters and
- * prints output to stdout and stderr as appropriate.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_Mediums_Text implements PHPUnit_Extensions_Database_UI_IMedium
-{
-    /**
-     * @var array
-     */
-    protected $arguments;
-
-    /**
-     * @var string
-     */
-    protected $command;
-
-    /**
-     * @param array $arguments
-     */
-    public function __construct(Array $arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Builds the context for the application.
-     *
-     * @param PHPUnit_Extensions_Database_UI_Context $context
-     */
-    public function buildContext(PHPUnit_Extensions_Database_UI_Context $context)
-    {
-        $arguments     = $this->arguments;
-        $this->command = array_shift($arguments);
-
-        $context->setMode(array_shift($arguments));
-        $context->setModeArguments($arguments);
-    }
-
-    /**
-     * Handles the displaying of exceptions received from the application.
-     *
-     * @param Exception $e
-     */
-    public function handleException(Exception $e)
-    {
-        try {
-            throw $e;
-        } catch (PHPUnit_Extensions_Database_UI_InvalidModeException $invalidMode) {
-            if ($invalidMode->getMode() == '') {
-                $this->error('Please Specify a Command!' . PHP_EOL);
-            } else {
-                $this->error('Command Does Not Exist: ' . $invalidMode->getMode() . PHP_EOL);
-            }
-            $this->error('Valid Commands:' . PHP_EOL);
-
-            foreach ($invalidMode->getValidModes() as $mode) {
-                $this->error('    ' . $mode . PHP_EOL);
-            }
-        } catch (Exception $e) {
-            $this->error('Unknown Error: ' . $e->getMessage() . PHP_EOL);
-        }
-    }
-
-    /**
-     * Prints the message to stdout.
-     *
-     * @param string $message
-     */
-    public function output($message)
-    {
-        echo $message;
-    }
-
-    /**
-     * Prints the message to stderr
-     *
-     * @param string $message
-     */
-    public function error($message)
-    {
-        fputs(STDERR, $message);
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The default factory for db extension modes.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_ModeFactory implements PHPUnit_Extensions_Database_UI_IModeFactory
-{
-    /**
-     * Generates a new mode based on a given name.
-     *
-     * @param  string                               $mode
-     * @return PHPUnit_Extensions_Database_UI_IMode
-     */
-    public function getMode($mode)
-    {
-        if ($mode == '') {
-            throw new PHPUnit_Extensions_Database_UI_InvalidModeException($mode, 'A mode was not provided.', $this);
-        }
-
-        $modeMap = $this->getModeMap();
-        if (isset($modeMap[$mode])) {
-            $modeClass = $this->getModeClass($mode, $modeMap[$mode]);
-
-            return new $modeClass();
-        } else {
-            throw new PHPUnit_Extensions_Database_UI_InvalidModeException($mode, 'The mode does not exist. Attempting to load mode ' . $mode, $this);
-        }
-    }
-
-    /**
-     * Returns the names of valid modes this factory can create.
-     *
-     * @return array
-     */
-    public function getModeList()
-    {
-        return array_keys($this->getModeMap());
-    }
-
-    /**
-     * Returns a map of modes to class name parts
-     *
-     * @return array
-     */
-    protected function getModeMap()
-    {
-        return ['export-dataset' => 'ExportDataSet'];
-    }
-
-    /**
-     * Given a $mode label and a $mode_name class part attempts to return the
-     * class name necessary to instantiate the mode.
-     *
-     * @param  string $mode
-     * @param  string $mode_name
-     * @return string
-     */
-    protected function getModeClass($mode, $mode_name)
-    {
-        $modeClass = 'PHPUnit_Extensions_Database_UI_Modes_' . $mode_name;
-        $modeFile  = dirname(__FILE__) . '/Modes/' . $mode_name . '.php';
-
-        if (class_exists($modeClass)) {
-            return $modeClass;
-        }
-
-        if (!is_readable($modeFile)) {
-            throw new PHPUnit_Extensions_Database_UI_InvalidModeException($mode, 'The mode\'s file could not be loaded. Trying file ' . $modeFile, $this);
-        }
-
-        require_once ($modeFile);
-
-        if (!class_exists($modeClass)) {
-            throw new PHPUnit_Extensions_Database_UI_InvalidModeException($mode, 'The mode class was not found in the file. Expecting class name ' . $modeClass, $this);
-        }
-
-        return $modeClass;
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The class for the export-dataset command.
- *
- * This command is used to convert existing data sets or data in the database
- * into a valid data set format.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_Modes_ExportDataSet implements PHPUnit_Extensions_Database_UI_IMode
-{
-    /**
-     * Executes the export dataset command.
-     *
-     * @param array                                         $modeArguments
-     * @param PHPUnit_Extensions_Database_UI_IMediumPrinter $medium
-     */
-    public function execute(array $modeArguments, PHPUnit_Extensions_Database_UI_IMediumPrinter $medium)
-    {
-        $arguments = new PHPUnit_Extensions_Database_UI_Modes_ExportDataSet_Arguments($modeArguments);
-
-        if (FALSE && !$arguments->areValid()) {
-            throw new InvalidArgumentException('The arguments for this command are incorrect.');
-        }
-
-        $datasets = [];
-        foreach ($arguments->getArgumentArray('dataset') as $argString) {
-            $datasets[] = $this->getDataSetFromArgument($argString, $arguments->getDatabases());
-        }
-
-        $finalDataset = new PHPUnit_Extensions_Database_DataSet_CompositeDataSet($datasets);
-
-        $outputDataset = $this->getPersistorFromArgument($arguments->getSingleArgument('output'));
-        $outputDataset->write($finalDataset);
-    }
-
-    /**
-     * Returns the correct dataset given an argument containing a dataset spec.
-     *
-     * @param  string                                       $argString
-     * @param  array                                        $databaseList
-     * @return PHPUnit_Extensions_Database_DataSet_IDataSet
-     */
-    protected function getDataSetFromArgument($argString, $databaseList)
-    {
-        $dataSetSpecFactory          = new PHPUnit_Extensions_Database_DataSet_Specs_Factory();
-        list($type, $dataSetSpecStr) = explode(':', $argString, 2);
-        $dataSetSpec                 = $dataSetSpecFactory->getDataSetSpecByType($type);
-
-        if ($dataSetSpec instanceof PHPUnit_Extensions_Database_IDatabaseListConsumer) {
-            $dataSetSpec->setDatabases($databaseList);
-        }
-
-        return $dataSetSpec->getDataSet($dataSetSpecStr);
-    }
-
-    /**
-     * Returns the correct persistor given an argument containing a persistor spec.
-     *
-     * @param  string                                           $argString
-     * @return PHPUnit_Extensions_Database_DataSet_IPersistable
-     */
-    protected function getPersistorFromArgument($argString)
-    {
-        $persistorFactory  = new PHPUnit_Extensions_Database_DataSet_Persistors_Factory();
-        list($type, $spec) = explode(':', $argString, 2);
-
-        return $persistorFactory->getPersistorBySpec($type, $spec);
-    }
-}
-
-<?php
-/*
- * This file is part of DBUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents arguments received from a medium.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHPUnit_Extensions_Database_UI_Modes_ExportDataSet_Arguments
-{
-    /**
-     * @var array
-     */
-    protected $arguments = [];
-
-    /**
-     * @param array $arguments
-     */
-    public function __construct(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            list($argName, $argValue) = explode('=', $argument, 2);
-
-            $argName = trim($argName, '-');
-
-            if (!isset($this->arguments[$argName])) {
-                $this->arguments[$argName] = [];
-            }
-
-            $this->arguments[$argName][] = $argValue;
-        }
-    }
-
-    /**
-     * Returns an array of arguments matching the given $argName
-     *
-     * @param  string $argName
-     * @return array
-     */
-    public function getArgumentArray($argName)
-    {
-        if ($this->argumentIsSet($argName)) {
-            return $this->arguments[$argName];
-        } else {
-            return NULL;
-        }
-    }
-
-    /**
-     * Returns a single argument value.
-     *
-     * If $argName points to an array the first argument will be returned.
-     *
-     * @param  string $argName
-     * @return mixed
-     */
-    public function getSingleArgument($argName)
-    {
-        if ($this->argumentIsSet($argName)) {
-            return reset($this->arguments[$argName]);
-        } else {
-            return NULL;
-        }
-    }
-
-    /**
-     * Returns whether an argument is set.
-     *
-     * @param  string $argName
-     * @return bool
-     */
-    public function argumentIsSet($argName)
-    {
-        return array_key_exists($argName, $this->arguments);
-    }
-
-    /**
-     * Returns an array containing the names of all arguments provided.
-     *
-     * @return array
-     */
-    public function getArgumentNames()
-    {
-        return array_keys($this->arguments);
-    }
-
-    /**
-     * Returns an array of database arguments keyed by name.
-     *
-     * @todo this should be moved.
-     * @return array
-     */
-    public function getDatabases()
-    {
-        $databases = $this->getArgumentArray('database');
-
-        $retDb = [];
-        foreach ($databases as $db) {
-            list($name, $arg) = explode(':', $db, 2);
-            $retDb[$name]     = $arg;
-        }
-
-        return $retDb;
-    }
-}
-
-<?php
-/*
- * This file is part of the PHP_Invoker package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-declare(ticks = 1);
-
-/**
- * Utility class for invoking callables with a timeout.
- *
- * @since      Class available since Release 1.0.0
- */
-class PHP_Invoker
-{
-    /**
-     * @var int
-     */
-    protected $timeout;
-
-    /**
-     * Invokes a callable and raises an exception when the execution does not
-     * finish before the specified timeout.
-     *
-     * @param  callable                 $callable
-     * @param  array                    $arguments
-     * @param  int                      $timeout   in seconds
-     * @return mixed
-     * @throws InvalidArgumentException
-     */
-    public function invoke($callable, array $arguments, $timeout)
-    {
-        if (!is_callable($callable)) {
-            throw new InvalidArgumentException;
-        }
-
-        if (!is_integer($timeout)) {
-            throw new InvalidArgumentException;
-        }
-
-        pcntl_signal(SIGALRM, array($this, 'callback'), TRUE);
-        pcntl_alarm($timeout);
-
-        $this->timeout = $timeout;
-
-        try {
-            $result = call_user_func_array($callable, $arguments);
-        }
-
-        catch (Exception $e) {
-            pcntl_alarm(0);
-            throw $e;
-        }
-
-        pcntl_alarm(0);
-
-        return $result;
-    }
-
-    /**
-     * Invoked by pcntl_signal() when a SIGALRM occurs.
-     */
-    public function callback()
-    {
-        throw new PHP_Invoker_TimeoutException(
-          sprintf(
-            'Execution aborted after %s',
-            PHP_Timer::secondsToTimeString($this->timeout)
-          )
-        );
-    }
-}
-<?php
-/*
- * This file is part of the PHP_Invoker package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since      Class available since Release 1.0.0
- */
-class PHP_Invoker_TimeoutException extends RuntimeException
-{
-}
-The MIT License (MIT)
-
-Copyright (c) 2015 phpDocumentor
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.5
- *
- * @copyright 2010-2015 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-/**
- * Interface for Api Elements
- */
-interface Element
-{
-    /**
-     * Returns the Fqsen of the element.
-     *
-     * @return Fqsen
-     */
-    public function getFqsen();
-
-    /**
-     * Returns the name of the element.
-     *
-     * @return string
-     */
-    public function getName();
-}<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-/**
- * Interface for files processed by the ProjectFactory
- */
-interface File
-{
-    /**
-     * Returns the content of the file as a string.
-     *
-     * @return string
-     */
-    public function getContents();
-
-    /**
-     * Returns md5 hash of the file.
-     *
-     * @return string
-     */
-    public function md5();
-
-    /**
-     * Returns an relative path to the file.
-     *
-     * @return string
-     */
-    public function path();
-}
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.5
- *
- * @copyright 2010-2015 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-/**
- * Value Object for Fqsen.
- *
- * @link https://github.com/phpDocumentor/fig-standards/blob/master/proposed/phpdoc-meta.md
- */
-final class Fqsen
-{
-    /**
-     * @var string full quallified class name
-     */
-    private $fqsen;
-
-    /**
-     * @var string name of the element without path.
-     */
-    private $name;
-
-    /**
-     * Initializes the object.
-     *
-     * @param string $fqsen
-     *
-     * @throws \InvalidArgumentException when $fqsen is not matching the format.
-     */
-    public function __construct($fqsen)
-    {
-        $matches = array();
-        $result = preg_match('/^\\\\([\\w_\\\\]*)(?:[:]{2}\\$?([\\w_]+))?(?:\\(\\))?$/', $fqsen, $matches);
-
-        if ($result === 0) {
-            throw new \InvalidArgumentException(
-                sprintf('"%s" is not a valid Fqsen.', $fqsen)
-            );
-        }
-
-        $this->fqsen = $fqsen;
-
-        if (isset($matches[2])) {
-            $this->name = $matches[2];
-        } else {
-            $matches = explode('\\', $fqsen);
-            $this->name = trim(end($matches), '()');
-        }
-    }
-
-    /**
-     * converts this class to string.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->fqsen;
-    }
-
-    /**
-     * Returns the name of the element without path.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-/**
- * The location where an element occurs within a file.
- */
-final class Location
-{
-    /** @var int  */
-    private $lineNumber = 0;
-
-    /** @var int */
-    private $columnNumber = 0;
-
-    /**
-     * Initializes the location for an element using its line number in the file and optionally the column number.
-     *
-     * @param int $lineNumber
-     * @param int $columnNumber
-     */
-    public function __construct($lineNumber, $columnNumber = 0)
-    {
-        $this->lineNumber   = $lineNumber;
-        $this->columnNumber = $columnNumber;
-    }
-
-    /**
-     * Returns the line number that is covered by this location.
-     *
-     * @return integer
-     */
-    public function getLineNumber()
-    {
-        return $this->lineNumber;
-    }
-
-    /**
-     * Returns the column number (character position on a line) for this location object.
-     *
-     * @return integer
-     */
-    public function getColumnNumber()
-    {
-        return $this->columnNumber;
-    }
-}
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.5
- *
- * @copyright 2010-2015 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-/**
- * Interface for project. Since the definition of a project can be different per factory this interface will be small.
- */
-interface Project
-{
-    /**
-     * Returns the name of the project.
-     *
-     * @return string
-     */
-    public function getName();
-}
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.5
- *
- * @copyright 2010-2015 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-namespace phpDocumentor\Reflection;
-
-/**
- * Interface for project factories. A project factory shall convert a set of files
- * into an object implementing the Project interface.
- */
-interface ProjectFactory
-{
-    /**
-     * Creates a project from the set of files.
-     *
-     * @param string $name
-     * @param File[] $files
-     * @return Project
-     */
-    public function create($name, array $files);
-}
-The MIT License (MIT)
-
-Copyright (c) 2010 Mike van Riel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-use Webmozart\Assert\Assert;
-
-final class DocBlock
-{
-    /** @var string The opening line for this docblock. */
-    private $summary = '';
-
-    /** @var DocBlock\Description The actual description for this docblock. */
-    private $description = null;
-
-    /** @var Tag[] An array containing all the tags in this docblock; except inline. */
-    private $tags = array();
-
-    /** @var Types\Context Information about the context of this DocBlock. */
-    private $context = null;
-
-    /** @var Location Information about the location of this DocBlock. */
-    private $location = null;
-
-    /** @var bool Is this DocBlock (the start of) a template? */
-    private $isTemplateStart = false;
-
-    /** @var bool Does this DocBlock signify the end of a DocBlock template? */
-    private $isTemplateEnd = false;
-
-    /**
-     * @param string $summary
-     * @param DocBlock\Description $description
-     * @param DocBlock\Tag[] $tags
-     * @param Types\Context $context The context in which the DocBlock occurs.
-     * @param Location $location The location within the file that this DocBlock occurs in.
-     * @param bool $isTemplateStart
-     * @param bool $isTemplateEnd
-     */
-    public function __construct(
-        $summary = '',
-        DocBlock\Description $description = null,
-        array $tags = [],
-        Types\Context $context = null,
-        Location $location = null,
-        $isTemplateStart = false,
-        $isTemplateEnd = false
-    )
-    {
-        Assert::string($summary);
-        Assert::boolean($isTemplateStart);
-        Assert::boolean($isTemplateEnd);
-        Assert::allIsInstanceOf($tags, Tag::class);
-
-        $this->summary = $summary;
-        $this->description = $description ?: new DocBlock\Description('');
-        foreach ($tags as $tag) {
-            $this->addTag($tag);
-        }
-
-        $this->context = $context;
-        $this->location = $location;
-
-        $this->isTemplateEnd = $isTemplateEnd;
-        $this->isTemplateStart = $isTemplateStart;
-    }
-
-    /**
-     * @return string
-     */
-    public function getSummary()
-    {
-        return $this->summary;
-    }
-
-    /**
-     * @return DocBlock\Description
-     */
-    public function getDescription()
-    {
-        return $this->description;
-    }
-
-    /**
-     * Returns the current context.
-     *
-     * @return Types\Context
-     */
-    public function getContext()
-    {
-        return $this->context;
-    }
-
-    /**
-     * Returns the current location.
-     *
-     * @return Location
-     */
-    public function getLocation()
-    {
-        return $this->location;
-    }
-
-    /**
-     * Returns whether this DocBlock is the start of a Template section.
-     *
-     * A Docblock may serve as template for a series of subsequent DocBlocks. This is indicated by a special marker
-     * (`#@+`) that is appended directly after the opening `/**` of a DocBlock.
-     *
-     * An example of such an opening is:
-     *
-     * ```
-     * /**#@+
-     *  * My DocBlock
-     *  * /
-     * ```
-     *
-     * The description and tags (not the summary!) are copied onto all subsequent DocBlocks and also applied to all
-     * elements that follow until another DocBlock is found that contains the closing marker (`#@-`).
-     *
-     * @see self::isTemplateEnd() for the check whether a closing marker was provided.
-     *
-     * @return boolean
-     */
-    public function isTemplateStart()
-    {
-        return $this->isTemplateStart;
-    }
-
-    /**
-     * Returns whether this DocBlock is the end of a Template section.
-     *
-     * @see self::isTemplateStart() for a more complete description of the Docblock Template functionality.
-     *
-     * @return boolean
-     */
-    public function isTemplateEnd()
-    {
-        return $this->isTemplateEnd;
-    }
-
-    /**
-     * Returns the tags for this DocBlock.
-     *
-     * @return Tag[]
-     */
-    public function getTags()
-    {
-        return $this->tags;
-    }
-
-    /**
-     * Returns an array of tags matching the given name. If no tags are found
-     * an empty array is returned.
-     *
-     * @param string $name String to search by.
-     *
-     * @return Tag[]
-     */
-    public function getTagsByName($name)
-    {
-        Assert::string($name);
-
-        $result = array();
-
-        /** @var Tag $tag */
-        foreach ($this->getTags() as $tag) {
-            if ($tag->getName() != $name) {
-                continue;
-            }
-
-            $result[] = $tag;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Checks if a tag of a certain type is present in this DocBlock.
-     *
-     * @param string $name Tag name to check for.
-     *
-     * @return bool
-     */
-    public function hasTag($name)
-    {
-        Assert::string($name);
-
-        /** @var Tag $tag */
-        foreach ($this->getTags() as $tag) {
-            if ($tag->getName() == $name) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Adds a tag to this DocBlock.
-     *
-     * @param Tag $tag The tag to add.
-     *
-     * @return void
-     */
-    private function addTag(Tag $tag)
-    {
-        $this->tags[] = $tag;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock\Tags\Formatter;
-use phpDocumentor\Reflection\DocBlock\Tags\Formatter\PassthroughFormatter;
-use Webmozart\Assert\Assert;
-
-/**
- * Object representing to description for a DocBlock.
- *
- * A Description object can consist of plain text but can also include tags. A Description Formatter can then combine
- * a body template with sprintf-style placeholders together with formatted tags in order to reconstitute a complete
- * description text using the format that you would prefer.
- *
- * Because parsing a Description text can be a verbose process this is handled by the {@see DescriptionFactory}. It is
- * thus recommended to use that to create a Description object, like this:
- *
- *     $description = $descriptionFactory->create('This is a {@see Description}', $context);
- *
- * The description factory will interpret the given body and create a body template and list of tags from them, and pass
- * that onto the constructor if this class.
- *
- * > The $context variable is a class of type {@see \phpDocumentor\Reflection\Types\Context} and contains the namespace
- * > and the namespace aliases that apply to this DocBlock. These are used by the Factory to resolve and expand partial
- * > type names and FQSENs.
- *
- * If you do not want to use the DescriptionFactory you can pass a body template and tag listing like this:
- *
- *     $description = new Description(
- *         'This is a %1$s',
- *         [ new See(new Fqsen('\phpDocumentor\Reflection\DocBlock\Description')) ]
- *     );
- *
- * It is generally recommended to use the Factory as that will also apply escaping rules, while the Description object
- * is mainly responsible for rendering.
- *
- * @see DescriptionFactory to create a new Description.
- * @see Description\Formatter for the formatting of the body and tags.
- */
-class Description
-{
-    /** @var string */
-    private $bodyTemplate;
-
-    /** @var Tag[] */
-    private $tags;
-
-    /**
-     * Initializes a Description with its body (template) and a listing of the tags used in the body template.
-     *
-     * @param string $bodyTemplate
-     * @param Tag[] $tags
-     */
-    public function __construct($bodyTemplate, array $tags = [])
-    {
-        Assert::string($bodyTemplate);
-
-        $this->bodyTemplate = $bodyTemplate;
-        $this->tags = $tags;
-    }
-
-    /**
-     * Renders this description as a string where the provided formatter will format the tags in the expected string
-     * format.
-     *
-     * @param Formatter|null $formatter
-     *
-     * @return string
-     */
-    public function render(Formatter $formatter = null)
-    {
-        if ($formatter === null) {
-            $formatter = new PassthroughFormatter();
-        }
-
-        $tags = [];
-        foreach ($this->tags as $tag) {
-            $tags[] = '{' . $formatter->format($tag) . '}';
-        }
-        return vsprintf($this->bodyTemplate, $tags);
-    }
-
-    /**
-     * Returns a plain string representation of this description.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->render();
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-
-/**
- * Creates a new Description object given a body of text.
- *
- * Descriptions in phpDocumentor are somewhat complex entities as they can contain one or more tags inside their
- * body that can be replaced with a readable output. The replacing is done by passing a Formatter object to the
- * Description object's `render` method.
- *
- * In addition to the above does a Description support two types of escape sequences:
- *
- * 1. `{@}` to escape the `@` character to prevent it from being interpreted as part of a tag, i.e. `{{@}link}`
- * 2. `{}` to escape the `}` character, this can be used if you want to use the `}` character in the description
- *    of an inline tag.
- *
- * If a body consists of multiple lines then this factory will also remove any superfluous whitespace at the beginning
- * of each line while maintaining any indentation that is used. This will prevent formatting parsers from tripping
- * over unexpected spaces as can be observed with tag descriptions.
- */
-class DescriptionFactory
-{
-    /** @var TagFactory */
-    private $tagFactory;
-
-    /**
-     * Initializes this factory with the means to construct (inline) tags.
-     *
-     * @param TagFactory $tagFactory
-     */
-    public function __construct(TagFactory $tagFactory)
-    {
-        $this->tagFactory = $tagFactory;
-    }
-
-    /**
-     * Returns the parsed text of this description.
-     *
-     * @param string $contents
-     * @param TypeContext $context
-     *
-     * @return Description
-     */
-    public function create($contents, TypeContext $context = null)
-    {
-        list($text, $tags) = $this->parse($this->lex($contents), $context);
-
-        return new Description($text, $tags);
-    }
-
-    /**
-     * Strips the contents from superfluous whitespace and splits the description into a series of tokens.
-     *
-     * @param string $contents
-     *
-     * @return string[] A series of tokens of which the description text is composed.
-     */
-    private function lex($contents)
-    {
-        $contents = $this->removeSuperfluousStartingWhitespace($contents);
-
-        // performance optimalization; if there is no inline tag, don't bother splitting it up.
-        if (strpos($contents, '{@') === false) {
-            return [$contents];
-        }
-
-        return preg_split(
-            '/\{
-                # "{@}" is not a valid inline tag. This ensures that we do not treat it as one, but treat it literally.
-                (?!@\})
-                # We want to capture the whole tag line, but without the inline tag delimiters.
-                (\@
-                    # Match everything up to the next delimiter.
-                    [^{}]*
-                    # Nested inline tag content should not be captured, or it will appear in the result separately.
-                    (?:
-                        # Match nested inline tags.
-                        (?:
-                            # Because we did not catch the tag delimiters earlier, we must be explicit with them here.
-                            # Notice that this also matches "{}", as a way to later introduce it as an escape sequence.
-                            \{(?1)?\}
-                            |
-                            # Make sure we match hanging "{".
-                            \{
-                        )
-                        # Match content after the nested inline tag.
-                        [^{}]*
-                    )* # If there are more inline tags, match them as well. We use "*" since there may not be any
-                       # nested inline tags.
-                )
-            \}/Sux',
-            $contents,
-            null,
-            PREG_SPLIT_DELIM_CAPTURE
-        );
-    }
-
-    /**
-     * Parses the stream of tokens in to a new set of tokens containing Tags.
-     *
-     * @param string[] $tokens
-     * @param TypeContext $context
-     *
-     * @return string[]|Tag[]
-     */
-    private function parse($tokens, TypeContext $context)
-    {
-        $count = count($tokens);
-        $tagCount = 0;
-        $tags  = [];
-
-        for ($i = 1; $i < $count; $i += 2) {
-            $tags[] = $this->tagFactory->create($tokens[$i], $context);
-            $tokens[$i] = '%' . ++$tagCount . '$s';
-        }
-
-        //In order to allow "literal" inline tags, the otherwise invalid
-        //sequence "{@}" is changed to "@", and "{}" is changed to "}".
-        //See unit tests for examples.
-        for ($i = 0; $i < $count; $i += 2) {
-            $tokens[$i] = str_replace(['{@}', '{}'], ['@', '}'], $tokens[$i]);
-        }
-
-        return [implode('', $tokens), $tags];
-    }
-
-    /**
-     * Removes the superfluous from a multi-line description.
-     *
-     * When a description has more than one line then it can happen that the second and subsequent lines have an
-     * additional indentation. This is commonly in use with tags like this:
-     *
-     *     {@}since 1.1.0 This is an example
-     *         description where we have an
-     *         indentation in the second and
-     *         subsequent lines.
-     *
-     * If we do not normalize the indentation then we have superfluous whitespace on the second and subsequent
-     * lines and this may cause rendering issues when, for example, using a Markdown converter.
-     *
-     * @param string $contents
-     *
-     * @return string
-     */
-    private function removeSuperfluousStartingWhitespace($contents)
-    {
-        $lines = explode("\n", $contents);
-
-        // if there is only one line then we don't have lines with superfluous whitespace and
-        // can use the contents as-is
-        if (count($lines) <= 1) {
-            return $contents;
-        }
-
-        // determine how many whitespace characters need to be stripped
-        $startingSpaceCount = 9999999;
-        for ($i = 1; $i < count($lines); $i++) {
-            // lines with a no length do not count as they are not indented at all
-            if (strlen(trim($lines[$i])) === 0) {
-                continue;
-            }
-
-            // determine the number of prefixing spaces by checking the difference in line length before and after
-            // an ltrim
-            $startingSpaceCount = min($startingSpaceCount, strlen($lines[$i]) - strlen(ltrim($lines[$i])));
-        }
-
-        // strip the number of spaces from each line
-        if ($startingSpaceCount > 0) {
-            for ($i = 1; $i < count($lines); $i++) {
-                $lines[$i] = substr($lines[$i], $startingSpaceCount);
-            }
-        }
-
-        return implode("\n", $lines);
-    }
-
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\DocBlock\Tags\Example;
-
-/**
- * Class used to find an example file's location based on a given ExampleDescriptor.
- */
-class ExampleFinder
-{
-    /** @var string */
-    private $sourceDirectory = '';
-
-    /** @var string[] */
-    private $exampleDirectories = array();
-
-    /**
-     * Attempts to find the example contents for the given descriptor.
-     *
-     * @param Example $example
-     *
-     * @return string
-     */
-    public function find(Example $example)
-    {
-        $filename = $example->getFilePath();
-
-        $file = $this->getExampleFileContents($filename);
-        if (!$file) {
-            return "** File not found : {$filename} **";
-        }
-
-        return implode('', array_slice($file, $example->getStartingLine() - 1, $example->getLineCount()));
-    }
-
-    /**
-     * Registers the project's root directory where an 'examples' folder can be expected.
-     *
-     * @param string $directory
-     *
-     * @return void
-     */
-    public function setSourceDirectory($directory = '')
-    {
-        $this->sourceDirectory = $directory;
-    }
-
-    /**
-     * Returns the project's root directory where an 'examples' folder can be expected.
-     *
-     * @return string
-     */
-    public function getSourceDirectory()
-    {
-        return $this->sourceDirectory;
-    }
-
-    /**
-     * Registers a series of directories that may contain examples.
-     *
-     * @param string[] $directories
-     */
-    public function setExampleDirectories(array $directories)
-    {
-        $this->exampleDirectories = $directories;
-    }
-
-    /**
-     * Returns a series of directories that may contain examples.
-     *
-     * @return string[]
-     */
-    public function getExampleDirectories()
-    {
-        return $this->exampleDirectories;
-    }
-
-    /**
-     * Attempts to find the requested example file and returns its contents or null if no file was found.
-     *
-     * This method will try several methods in search of the given example file, the first one it encounters is
-     * returned:
-     *
-     * 1. Iterates through all examples folders for the given filename
-     * 2. Checks the source folder for the given filename
-     * 3. Checks the 'examples' folder in the current working directory for examples
-     * 4. Checks the path relative to the current working directory for the given filename
-     *
-     * @param string $filename
-     *
-     * @return string|null
-     */
-    private function getExampleFileContents($filename)
-    {
-        $normalizedPath = null;
-
-        foreach ($this->exampleDirectories as $directory) {
-            $exampleFileFromConfig = $this->constructExamplePath($directory, $filename);
-            if (is_readable($exampleFileFromConfig)) {
-                $normalizedPath = $exampleFileFromConfig;
-                break;
-            }
-        }
-
-        if (!$normalizedPath) {
-            if (is_readable($this->getExamplePathFromSource($filename))) {
-                $normalizedPath = $this->getExamplePathFromSource($filename);
-            } elseif (is_readable($this->getExamplePathFromExampleDirectory($filename))) {
-                $normalizedPath = $this->getExamplePathFromExampleDirectory($filename);
-            } elseif (is_readable($filename)) {
-                $normalizedPath = $filename;
-            }
-        }
-
-        return $normalizedPath && is_readable($normalizedPath) ? file($normalizedPath) : null;
-    }
-
-    /**
-     * Get example filepath based on the example directory inside your project.
-     *
-     * @param string $file
-     *
-     * @return string
-     */
-    private function getExamplePathFromExampleDirectory($file)
-    {
-        return getcwd() . DIRECTORY_SEPARATOR . 'examples' . DIRECTORY_SEPARATOR . $file;
-    }
-
-    /**
-     * Returns a path to the example file in the given directory..
-     *
-     * @param string $directory
-     * @param string $file
-     *
-     * @return string
-     */
-    private function constructExamplePath($directory, $file)
-    {
-        return rtrim($directory, '\\/') . DIRECTORY_SEPARATOR . $file;
-    }
-
-    /**
-     * Get example filepath based on sourcecode.
-     *
-     * @param string $file
-     *
-     * @return string
-     */
-    private function getExamplePathFromSource($file)
-    {
-        return sprintf(
-            '%s%s%s',
-            trim($this->getSourceDirectory(), '\\/'),
-            DIRECTORY_SEPARATOR,
-            trim($file, '"')
-        );
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock;
-use Webmozart\Assert\Assert;
-
-/**
- * Converts a DocBlock back from an object to a complete DocComment including Asterisks.
- */
-class Serializer
-{
-    /** @var string The string to indent the comment with. */
-    protected $indentString = ' ';
-
-    /** @var int The number of times the indent string is repeated. */
-    protected $indent = 0;
-
-    /** @var bool Whether to indent the first line with the given indent amount and string. */
-    protected $isFirstLineIndented = true;
-
-    /** @var int|null The max length of a line. */
-    protected $lineLength = null;
-
-    /**
-     * Create a Serializer instance.
-     *
-     * @param int $indent The number of times the indent string is repeated.
-     * @param string   $indentString    The string to indent the comment with.
-     * @param bool     $indentFirstLine Whether to indent the first line.
-     * @param int|null $lineLength The max length of a line or NULL to disable line wrapping.
-     */
-    public function __construct($indent = 0, $indentString = ' ', $indentFirstLine = true, $lineLength = null)
-    {
-        Assert::integer($indent);
-        Assert::string($indentString);
-        Assert::boolean($indentFirstLine);
-        Assert::nullOrInteger($lineLength);
-
-        $this->indent = $indent;
-        $this->indentString = $indentString;
-        $this->isFirstLineIndented = $indentFirstLine;
-        $this->lineLength = $lineLength;
-    }
-
-    /**
-     * Generate a DocBlock comment.
-     *
-     * @param DocBlock $docblock The DocBlock to serialize.
-     *
-     * @return string The serialized doc block.
-     */
-    public function getDocComment(DocBlock $docblock)
-    {
-        $indent = str_repeat($this->indentString, $this->indent);
-        $firstIndent = $this->isFirstLineIndented ? $indent : '';
-        // 3 === strlen(' * ')
-        $wrapLength = $this->lineLength ? $this->lineLength - strlen($indent) - 3 : null;
-
-        $text = $this->removeTrailingSpaces(
-            $indent,
-            $this->addAsterisksForEachLine(
-                $indent,
-                $this->getSummaryAndDescriptionTextBlock($docblock, $wrapLength)
-            )
-        );
-
-        $comment = "{$firstIndent}/**\n{$indent} * {$text}\n{$indent} *\n";
-        $comment = $this->addTagBlock($docblock, $wrapLength, $indent, $comment);
-        $comment .= $indent . ' */';
-
-        return $comment;
-    }
-
-    /**
-     * @param $indent
-     * @param $text
-     * @return mixed
-     */
-    private function removeTrailingSpaces($indent, $text)
-    {
-        return str_replace("\n{$indent} * \n", "\n{$indent} *\n", $text);
-    }
-
-    /**
-     * @param $indent
-     * @param $text
-     * @return mixed
-     */
-    private function addAsterisksForEachLine($indent, $text)
-    {
-        return str_replace("\n", "\n{$indent} * ", $text);
-    }
-
-    /**
-     * @param DocBlock $docblock
-     * @param $wrapLength
-     * @return string
-     */
-    private function getSummaryAndDescriptionTextBlock(DocBlock $docblock, $wrapLength)
-    {
-        $text = $docblock->getSummary() . ((string)$docblock->getDescription() ? "\n\n" . $docblock->getDescription()
-                : '');
-        if ($wrapLength !== null) {
-            $text = wordwrap($text, $wrapLength);
-            return $text;
-        }
-        return $text;
-    }
-
-    /**
-     * @param DocBlock $docblock
-     * @param $wrapLength
-     * @param $indent
-     * @param $comment
-     * @return string
-     */
-    private function addTagBlock(DocBlock $docblock, $wrapLength, $indent, $comment)
-    {
-        foreach ($docblock->getTags() as $tag) {
-            $formatter = new DocBlock\Tags\Formatter\PassthroughFormatter();
-            $tagText   = $formatter->format($tag);
-            if ($wrapLength !== null) {
-                $tagText = wordwrap($tagText, $wrapLength);
-            }
-            $tagText = str_replace("\n", "\n{$indent} * ", $tagText);
-
-            $comment .= "{$indent} * {$tagText}\n";
-        }
-
-        return $comment;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock\Tags\Factory\StaticMethod;
-use phpDocumentor\Reflection\DocBlock\Tags\Generic;
-use phpDocumentor\Reflection\FqsenResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Creates a Tag object given the contents of a tag.
- *
- * This Factory is capable of determining the appropriate class for a tag and instantiate it using its `create`
- * factory method. The `create` factory method of a Tag can have a variable number of arguments; this way you can
- * pass the dependencies that you need to construct a tag object.
- *
- * > Important: each parameter in addition to the body variable for the `create` method must default to null, otherwise
- * > it violates the constraint with the interface; it is recommended to use the {@see Assert::notNull()} method to
- * > verify that a dependency is actually passed.
- *
- * This Factory also features a Service Locator component that is used to pass the right dependencies to the
- * `create` method of a tag; each dependency should be registered as a service or as a parameter.
- *
- * When you want to use a Tag of your own with custom handling you need to call the `registerTagHandler` method, pass
- * the name of the tag and a Fully Qualified Class Name pointing to a class that implements the Tag interface.
- */
-final class StandardTagFactory implements TagFactory
-{
-    /** PCRE regular expression matching a tag name. */
-    const REGEX_TAGNAME = '[\w\-\_\\\\]+';
-
-    /**
-     * @var string[] An array with a tag as a key, and an FQCN to a class that handles it as an array value.
-     */
-    private $tagHandlerMappings = [
-        'author'         => '\phpDocumentor\Reflection\DocBlock\Tags\Author',
-        'covers'         => '\phpDocumentor\Reflection\DocBlock\Tags\Covers',
-        'deprecated'     => '\phpDocumentor\Reflection\DocBlock\Tags\Deprecated',
-        // 'example'        => '\phpDocumentor\Reflection\DocBlock\Tags\Example',
-        'link'           => '\phpDocumentor\Reflection\DocBlock\Tags\Link',
-        'method'         => '\phpDocumentor\Reflection\DocBlock\Tags\Method',
-        'param'          => '\phpDocumentor\Reflection\DocBlock\Tags\Param',
-        'property-read'  => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyRead',
-        'property'       => '\phpDocumentor\Reflection\DocBlock\Tags\Property',
-        'property-write' => '\phpDocumentor\Reflection\DocBlock\Tags\PropertyWrite',
-        'return'         => '\phpDocumentor\Reflection\DocBlock\Tags\Return_',
-        'see'            => '\phpDocumentor\Reflection\DocBlock\Tags\See',
-        'since'          => '\phpDocumentor\Reflection\DocBlock\Tags\Since',
-        'source'         => '\phpDocumentor\Reflection\DocBlock\Tags\Source',
-        'throw'          => '\phpDocumentor\Reflection\DocBlock\Tags\Throws',
-        'throws'         => '\phpDocumentor\Reflection\DocBlock\Tags\Throws',
-        'uses'           => '\phpDocumentor\Reflection\DocBlock\Tags\Uses',
-        'var'            => '\phpDocumentor\Reflection\DocBlock\Tags\Var_',
-        'version'        => '\phpDocumentor\Reflection\DocBlock\Tags\Version'
-    ];
-
-    /**
-     * @var \ReflectionParameter[][] a lazy-loading cache containing parameters for each tagHandler that has been used.
-     */
-    private $tagHandlerParameterCache = [];
-
-    /**
-     * @var FqsenResolver
-     */
-    private $fqsenResolver;
-
-    /**
-     * @var mixed[] an array representing a simple Service Locator where we can store parameters and
-     *     services that can be inserted into the Factory Methods of Tag Handlers.
-     */
-    private $serviceLocator = [];
-
-    /**
-     * Initialize this tag factory with the means to resolve an FQSEN and optionally a list of tag handlers.
-     *
-     * If no tag handlers are provided than the default list in the {@see self::$tagHandlerMappings} property
-     * is used.
-     *
-     * @param FqsenResolver $fqsenResolver
-     * @param string[]      $tagHandlers
-     *
-     * @see self::registerTagHandler() to add a new tag handler to the existing default list.
-     */
-    public function __construct(FqsenResolver $fqsenResolver, array $tagHandlers = null)
-    {
-        $this->fqsenResolver = $fqsenResolver;
-        if ($tagHandlers !== null) {
-            $this->tagHandlerMappings = $tagHandlers;
-        }
-
-        $this->addService($fqsenResolver, FqsenResolver::class);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function create($tagLine, TypeContext $context = null)
-    {
-        if (! $context) {
-            $context = new TypeContext('');
-        }
-
-        list($tagName, $tagBody) = $this->extractTagParts($tagLine);
-
-        return $this->createTag($tagBody, $tagName, $context);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function addParameter($name, $value)
-    {
-        $this->serviceLocator[$name] = $value;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function addService($service, $alias = null)
-    {
-        $this->serviceLocator[$alias ?: get_class($service)] = $service;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function registerTagHandler($tagName, $handler)
-    {
-        Assert::stringNotEmpty($tagName);
-        Assert::stringNotEmpty($handler);
-        Assert::classExists($handler);
-        Assert::implementsInterface($handler, StaticMethod::class);
-
-        if (strpos($tagName, '\\') && $tagName[0] !== '\\') {
-            throw new \InvalidArgumentException(
-                'A namespaced tag must have a leading backslash as it must be fully qualified'
-            );
-        }
-
-        $this->tagHandlerMappings[$tagName] = $handler;
-    }
-
-    /**
-     * Extracts all components for a tag.
-     *
-     * @param string $tagLine
-     *
-     * @return string[]
-     */
-    private function extractTagParts($tagLine)
-    {
-        $matches = array();
-        if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)?/us', $tagLine, $matches)) {
-            throw new \InvalidArgumentException(
-                'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
-            );
-        }
-
-        if (count($matches) < 3) {
-            $matches[] = '';
-        }
-
-        return array_slice($matches, 1);
-    }
-
-    /**
-     * Creates a new tag object with the given name and body or returns null if the tag name was recognized but the
-     * body was invalid.
-     *
-     * @param string  $body
-     * @param string  $name
-     * @param TypeContext $context
-     *
-     * @return Tag|null
-     */
-    private function createTag($body, $name, TypeContext $context)
-    {
-        $handlerClassName = $this->findHandlerClassName($name, $context);
-        $arguments        = $this->getArgumentsForParametersFromWiring(
-            $this->fetchParametersForHandlerFactoryMethod($handlerClassName),
-            $this->getServiceLocatorWithDynamicParameters($context, $name, $body)
-        )
-        ;
-
-        return call_user_func_array([$handlerClassName, 'create'], $arguments);
-    }
-
-    /**
-     * Determines the Fully Qualified Class Name of the Factory or Tag (containing a Factory Method `create`).
-     *
-     * @param string  $tagName
-     * @param TypeContext $context
-     *
-     * @return string
-     */
-    private function findHandlerClassName($tagName, TypeContext $context)
-    {
-        $handlerClassName = Generic::class;
-        if (isset($this->tagHandlerMappings[$tagName])) {
-            $handlerClassName = $this->tagHandlerMappings[$tagName];
-        } elseif ($this->isAnnotation($tagName)) {
-            // TODO: Annotation support is planned for a later stage and as such is disabled for now
-            // $tagName = (string)$this->fqsenResolver->resolve($tagName, $context);
-            // if (isset($this->annotationMappings[$tagName])) {
-            //     $handlerClassName = $this->annotationMappings[$tagName];
-            // }
-        }
-
-        return $handlerClassName;
-    }
-
-    /**
-     * Retrieves the arguments that need to be passed to the Factory Method with the given Parameters.
-     *
-     * @param \ReflectionParameter[] $parameters
-     * @param mixed[]                $locator
-     *
-     * @return mixed[] A series of values that can be passed to the Factory Method of the tag whose parameters
-     *     is provided with this method.
-     */
-    private function getArgumentsForParametersFromWiring($parameters, $locator)
-    {
-        $arguments = [];
-        foreach ($parameters as $index => $parameter) {
-            $typeHint = $parameter->getClass() ? $parameter->getClass()->getName() : null;
-            if (isset($locator[$typeHint])) {
-                $arguments[] = $locator[$typeHint];
-                continue;
-            }
-
-            $parameterName = $parameter->getName();
-            if (isset($locator[$parameterName])) {
-                $arguments[] = $locator[$parameterName];
-                continue;
-            }
-
-            $arguments[] = null;
-        }
-
-        return $arguments;
-    }
-
-    /**
-     * Retrieves a series of ReflectionParameter objects for the static 'create' method of the given
-     * tag handler class name.
-     *
-     * @param string $handlerClassName
-     *
-     * @return \ReflectionParameter[]
-     */
-    private function fetchParametersForHandlerFactoryMethod($handlerClassName)
-    {
-        if (! isset($this->tagHandlerParameterCache[$handlerClassName])) {
-            $methodReflection                                  = new \ReflectionMethod($handlerClassName, 'create');
-            $this->tagHandlerParameterCache[$handlerClassName] = $methodReflection->getParameters();
-        }
-
-        return $this->tagHandlerParameterCache[$handlerClassName];
-    }
-
-    /**
-     * Returns a copy of this class' Service Locator with added dynamic parameters, such as the tag's name, body and
-     * Context.
-     *
-     * @param TypeContext $context The Context (namespace and aliasses) that may be passed and is used to resolve FQSENs.
-     * @param string      $tagName The name of the tag that may be passed onto the factory method of the Tag class.
-     * @param string      $tagBody The body of the tag that may be passed onto the factory method of the Tag class.
-     *
-     * @return mixed[]
-     */
-    private function getServiceLocatorWithDynamicParameters(TypeContext $context, $tagName, $tagBody)
-    {
-        $locator = array_merge(
-            $this->serviceLocator,
-            [
-                'name'             => $tagName,
-                'body'             => $tagBody,
-                TypeContext::class => $context
-            ]
-        );
-
-        return $locator;
-    }
-
-    /**
-     * Returns whether the given tag belongs to an annotation.
-     *
-     * @param string $tagContent
-     *
-     * @todo this method should be populated once we implement Annotation notation support.
-     *
-     * @return bool
-     */
-    private function isAnnotation($tagContent)
-    {
-        // 1. Contains a namespace separator
-        // 2. Contains parenthesis
-        // 3. Is present in a list of known annotations (make the algorithm smart by first checking is the last part
-        //    of the annotation class name matches the found tag name
-
-        return false;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\DocBlock\Tags\Formatter;
-
-interface Tag
-{
-    public function getName();
-
-    public static function create($body);
-
-    public function render(Formatter $formatter = null);
-
-    public function __toString();
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock;
-
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-
-interface TagFactory
-{
-    /**
-     * Adds a parameter to the service locator that can be injected in a tag's factory method.
-     *
-     * When calling a tag's "create" method we always check the signature for dependencies to inject. One way is to
-     * typehint a parameter in the signature so that we can use that interface or class name to inject a dependency
-     * (see {@see addService()} for more information on that).
-     *
-     * Another way is to check the name of the argument against the names in the Service Locator. With this method
-     * you can add a variable that will be inserted when a tag's create method is not typehinted and has a matching
-     * name.
-     *
-     * Be aware that there are two reserved names:
-     *
-     * - name, representing the name of the tag.
-     * - body, representing the complete body of the tag.
-     *
-     * These parameters are injected at the last moment and will override any existing parameter with those names.
-     *
-     * @param string $name
-     * @param mixed  $value
-     *
-     * @return void
-     */
-    public function addParameter($name, $value);
-
-    /**
-     * Registers a service with the Service Locator using the FQCN of the class or the alias, if provided.
-     *
-     * When calling a tag's "create" method we always check the signature for dependencies to inject. If a parameter
-     * has a typehint then the ServiceLocator is queried to see if a Service is registered for that typehint.
-     *
-     * Because interfaces are regularly used as type-hints this method provides an alias parameter; if the FQCN of the
-     * interface is passed as alias then every time that interface is requested the provided service will be returned.
-     *
-     * @param object $service
-     * @param string $alias
-     *
-     * @return void
-     */
-    public function addService($service);
-
-    /**
-     * Factory method responsible for instantiating the correct sub type.
-     *
-     * @param string $tagLine The text for this tag, including description.
-     * @param TypeContext $context
-     *
-     * @throws \InvalidArgumentException if an invalid tag line was presented.
-     *
-     * @return Tag A new tag object.
-     */
-    public function create($tagLine, TypeContext $context = null);
-
-    /**
-     * Registers a handler for tags.
-     *
-     * If you want to use your own tags then you can use this method to instruct the TagFactory to register the name
-     * of a tag with the FQCN of a 'Tag Handler'. The Tag handler should implement the {@see Tag} interface (and thus
-     * the create method).
-     *
-     * @param string $tagName Name of tag to register a handler for. When registering a namespaced tag, the full
-     *                        name, along with a prefixing slash MUST be provided.
-     * @param string $handler FQCN of handler.
-     *
-     * @throws \InvalidArgumentException if the tag name is not a string
-     * @throws \InvalidArgumentException if the tag name is namespaced (contains backslashes) but does not start with
-     *     a backslash
-     * @throws \InvalidArgumentException if the handler is not a string
-     * @throws \InvalidArgumentException if the handler is not an existing class
-     * @throws \InvalidArgumentException if the handler does not implement the {@see Tag} interface
-     *
-     * @return void
-     */
-    public function registerTagHandler($tagName, $handler);
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for an {@}author tag in a Docblock.
- */
-final class Author extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string register that this is the author tag. */
-    protected $name = 'author';
-
-    /** @var string The name of the author */
-    private $authorName = '';
-
-    /** @var string The email of the author */
-    private $authorEmail = '';
-
-    /**
-     * Initializes this tag with the author name and e-mail.
-     *
-     * @param string $authorName
-     * @param string $authorEmail
-     */
-    public function __construct($authorName, $authorEmail)
-    {
-        Assert::string($authorName);
-        Assert::string($authorEmail);
-        if ($authorEmail && !filter_var($authorEmail, FILTER_VALIDATE_EMAIL)) {
-            throw new \InvalidArgumentException('The author tag does not have a valid e-mail address');
-        }
-
-        $this->authorName  = $authorName;
-        $this->authorEmail = $authorEmail;
-    }
-
-    /**
-     * Gets the author's name.
-     *
-     * @return string The author's name.
-     */
-    public function getAuthorName()
-    {
-        return $this->authorName;
-    }
-
-    /**
-     * Returns the author's email.
-     *
-     * @return string The author's email.
-     */
-    public function getEmail()
-    {
-        return $this->authorEmail;
-    }
-
-    /**
-     * Returns this tag in string form.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->authorName . '<' . $this->authorEmail . '>';
-    }
-
-    /**
-     * Attempts to create a new Author object based on †he tag body.
-     *
-     * @param string $body
-     *
-     * @return static
-     */
-    public static function create($body)
-    {
-        Assert::string($body);
-
-        $splitTagContent = preg_match('/^([^\<]*)(?:\<([^\>]*)\>)?$/u', $body, $matches);
-        if (!$splitTagContent) {
-            return null;
-        }
-
-        $authorName = trim($matches[1]);
-        $email = isset($matches[2]) ? trim($matches[2]) : '';
-
-        return new static($authorName, $email);
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock;
-use phpDocumentor\Reflection\DocBlock\Description;
-
-/**
- * Parses a tag definition for a DocBlock.
- */
-abstract class BaseTag implements DocBlock\Tag
-{
-    /** @var string Name of the tag */
-    protected $name = '';
-
-    /** @var Description|null Description of the tag. */
-    protected $description;
-
-    /**
-     * Gets the name of this tag.
-     *
-     * @return string The name of this tag.
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getDescription()
-    {
-        return $this->description;
-    }
-
-    public function render(Formatter $formatter = null)
-    {
-        if ($formatter === null) {
-            $formatter = new Formatter\PassthroughFormatter();
-        }
-
-        return $formatter->format($this);
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Fqsen;
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\FqsenResolver;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a @covers tag in a Docblock.
- */
-final class Covers extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'covers';
-
-    /** @var Fqsen */
-    private $refers = null;
-
-    /**
-     * Initializes this tag.
-     *
-     * @param Fqsen $refers
-     * @param Description $description
-     */
-    public function __construct(Fqsen $refers, Description $description = null)
-    {
-        $this->refers = $refers;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        DescriptionFactory $descriptionFactory = null,
-        FqsenResolver $resolver = null,
-        TypeContext $context = null
-    )
-    {
-        Assert::string($body);
-        Assert::notEmpty($body);
-
-        $parts = preg_split('/\s+/Su', $body, 2);
-
-        return new static(
-            $resolver->resolve($parts[0], $context),
-            $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context)
-        );
-    }
-
-    /**
-     * Returns the structural element this tag refers to.
-     *
-     * @return Fqsen
-     */
-    public function getReference()
-    {
-        return $this->refers;
-    }
-
-    /**
-     * Returns a string representation of this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->refers . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}deprecated tag in a Docblock.
- */
-final class Deprecated extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'deprecated';
-
-    /**
-     * PCRE regular expression matching a version vector.
-     * Assumes the "x" modifier.
-     */
-    const REGEX_VECTOR = '(?:
-        # Normal release vectors.
-        \d\S*
-        |
-        # VCS version vectors. Per PHPCS, they are expected to
-        # follow the form of the VCS name, followed by ":", followed
-        # by the version vector itself.
-        # By convention, popular VCSes like CVS, SVN and GIT use "$"
-        # around the actual version vector.
-        [^\s\:]+\:\s*\$[^\$]+\$
-    )';
-
-    /** @var string The version vector. */
-    private $version = '';
-
-    public function __construct($version = null, Description $description = null)
-    {
-        Assert::nullOrStringNotEmpty($version);
-
-        $this->version = $version;
-        $this->description = $description;
-    }
-
-    /**
-     * @return static
-     */
-    public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null)
-    {
-        Assert::nullOrString($body);
-        if (empty($body)) {
-            return new static();
-        }
-
-        $matches = [];
-        if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) {
-            return null;
-        }
-
-        return new static(
-            $matches[1],
-            $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context)
-        );
-    }
-
-    /**
-     * Gets the version section of the tag.
-     *
-     * @return string
-     */
-    public function getVersion()
-    {
-        return $this->version;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->version . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-/**
- * Reflection class for a {@}example tag in a Docblock.
- */
-final class Example extends BaseTag
-{
-    /**
-     * @var string Path to a file to use as an example. May also be an absolute URI.
-     */
-    private $filePath = '';
-
-    /**
-     * @var bool Whether the file path component represents an URI. This determines how the file portion
-     *     appears at {@link getContent()}.
-     */
-    private $isURI = false;
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        if (null === $this->description) {
-            $filePath = '"' . $this->filePath . '"';
-            if ($this->isURI) {
-                $filePath = $this->isUriRelative($this->filePath)
-                    ? str_replace('%2F', '/', rawurlencode($this->filePath))
-                    :$this->filePath;
-            }
-
-            $this->description = $filePath . ' ' . parent::getContent();
-        }
-
-        return $this->description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create($body)
-    {
-        // File component: File path in quotes or File URI / Source information
-        if (! preg_match('/^(?:\"([^\"]+)\"|(\S+))(?:\s+(.*))?$/sux', $body, $matches)) {
-            return null;
-        }
-
-        $filePath = null;
-        $fileUri  = null;
-        if ('' !== $matches[1]) {
-            $filePath = $matches[1];
-        } else {
-            $fileUri = $matches[2];
-        }
-
-        $startingLine = 1;
-        $lineCount    = null;
-        $description  = null;
-
-        // Starting line / Number of lines / Description
-        if (preg_match('/^([1-9]\d*)\s*(?:((?1))\s+)?(.*)$/sux', $matches[3], $matches)) {
-            $startingLine = (int)$matches[1];
-            if (isset($matches[2]) && $matches[2] !== '') {
-                $lineCount = (int)$matches[2];
-            }
-            $description = $matches[3];
-        }
-
-        return new static($filePath, $fileUri, $startingLine, $lineCount, $description);
-    }
-
-    /**
-     * Returns the file path.
-     *
-     * @return string Path to a file to use as an example.
-     *     May also be an absolute URI.
-     */
-    public function getFilePath()
-    {
-        return $this->filePath;
-    }
-
-    /**
-     * Sets the file path.
-     *
-     * @param string $filePath The new file path to use for the example.
-     *
-     * @return $this
-     */
-    public function setFilePath($filePath)
-    {
-        $this->isURI = false;
-        $this->filePath = trim($filePath);
-
-        $this->description = null;
-        return $this;
-    }
-
-    /**
-     * Sets the file path as an URI.
-     *
-     * This function is equivalent to {@link setFilePath()}, except that it
-     * converts an URI to a file path before that.
-     *
-     * There is no getFileURI(), as {@link getFilePath()} is compatible.
-     *
-     * @param string $uri The new file URI to use as an example.
-     *
-     * @return $this
-     */
-    public function setFileURI($uri)
-    {
-        $this->isURI   = true;
-        $this->description = null;
-
-        $this->filePath = $this->isUriRelative($uri)
-            ? rawurldecode(str_replace(array('/', '\\'), '%2F', $uri))
-            : $this->filePath = $uri;
-
-        return $this;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->filePath . ($this->description ? ' ' . $this->description->render() : '');
-    }
-
-    /**
-     * Returns true if the provided URI is relative or contains a complete scheme (and thus is absolute).
-     *
-     * @param string $uri
-     *
-     * @return bool
-     */
-    private function isUriRelative($uri)
-    {
-        return false === strpos($uri, ':');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags\Factory;
-
-interface StaticMethod
-{
-    public static function create($body);
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags\Factory;
-
-interface Strategy
-{
-    public function create($body);
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-
-interface Formatter
-{
-    /**
-     * Formats a tag into a string representation according to a specific format, such as Markdown.
-     *
-     * @param Tag $tag
-     *
-     * @return string
-     */
-    public function format(Tag $tag);
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags\Formatter;
-
-use phpDocumentor\Reflection\DocBlock\Tag;
-use phpDocumentor\Reflection\DocBlock\Tags\Formatter;
-
-class PassthroughFormatter implements Formatter
-{
-    /**
-     * Formats the given tag to return a simple plain text version.
-     *
-     * @param Tag $tag
-     *
-     * @return string
-     */
-    public function format(Tag $tag)
-    {
-        return '@' . $tag->getName() . ' ' . (string)$tag;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\DocBlock\StandardTagFactory;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Parses a tag definition for a DocBlock.
- */
-class Generic extends BaseTag implements Factory\StaticMethod
-{
-    /**
-     * Parses a tag and populates the member variables.
-     *
-     * @param string $name Name of the tag.
-     * @param Description $description The contents of the given tag.
-     */
-    public function __construct($name, Description $description = null)
-    {
-        $this->validateTagName($name);
-
-        $this->name = $name;
-        $this->description = $description;
-    }
-
-    /**
-     * Creates a new tag that represents any unknown tag type.
-     *
-     * @param string             $body
-     * @param string             $name
-     * @param DescriptionFactory $descriptionFactory
-     * @param TypeContext        $context
-     *
-     * @return static
-     */
-    public static function create(
-        $body,
-        $name = '',
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::string($body);
-        Assert::stringNotEmpty($name);
-        Assert::notNull($descriptionFactory);
-
-        $description = $descriptionFactory && $body ? $descriptionFactory->create($body, $context) : null;
-
-        return new static($name, $description);
-    }
-
-    /**
-     * Returns the tag as a serialized string
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->description ? $this->description->render() : '');
-    }
-
-    /**
-     * Validates if the tag name matches the expected format, otherwise throws an exception.
-     *
-     * @param string $name
-     *
-     * @return void
-     */
-    private function validateTagName($name)
-    {
-        if (! preg_match('/^' . StandardTagFactory::REGEX_TAGNAME . '$/u', $name)) {
-            throw new \InvalidArgumentException(
-                'The tag name "' . $name . '" is not wellformed. Tags may only consist of letters, underscores, '
-                . 'hyphens and backslashes.'
-            );
-        }
-    }
-}
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Ben Selby <benmatselby@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a @link tag in a Docblock.
- */
-final class Link extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'link';
-
-    /** @var string */
-    private $link = '';
-
-    /**
-     * Initializes a link to a URL.
-     *
-     * @param string      $link
-     * @param Description $description
-     */
-    public function __construct($link, Description $description = null)
-    {
-        Assert::string($link);
-
-        $this->link = $link;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null)
-    {
-        Assert::string($body);
-        Assert::notNull($descriptionFactory);
-
-        $parts = preg_split('/\s+/Su', $body, 2);
-        $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null;
-
-        return new static($parts[0], $description);
-    }
-
-    /**
-    * Gets the link
-    *
-    * @return string
-    */
-    public function getLink()
-    {
-        return $this->link;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->link . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\Types\Void_;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for an {@}method in a Docblock.
- */
-final class Method extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'method';
-
-    /** @var string */
-    private $methodName = '';
-
-    /** @var string[] */
-    private $arguments = [];
-
-    /** @var bool */
-    private $isStatic = false;
-
-    /** @var Type */
-    private $returnType;
-
-    public function __construct(
-        $methodName,
-        array $arguments = [],
-        Type $returnType = null,
-        $static = false,
-        Description $description = null
-    ) {
-        Assert::stringNotEmpty($methodName);
-        Assert::boolean($static);
-
-        if ($returnType === null) {
-            $returnType = new Void_();
-        }
-
-        $this->methodName  = $methodName;
-        $this->arguments   = $this->filterArguments($arguments);
-        $this->returnType  = $returnType;
-        $this->isStatic    = $static;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([ $typeResolver, $descriptionFactory ]);
-
-        // 1. none or more whitespace
-        // 2. optionally the keyword "static" followed by whitespace
-        // 3. optionally a word with underscores followed by whitespace : as
-        //    type for the return value
-        // 4. then optionally a word with underscores followed by () and
-        //    whitespace : as method name as used by phpDocumentor
-        // 5. then a word with underscores, followed by ( and any character
-        //    until a ) and whitespace : as method name with signature
-        // 6. any remaining text : as description
-        if (!preg_match(
-            '/^
-                # Static keyword
-                # Declares a static method ONLY if type is also present
-                (?:
-                    (static)
-                    \s+
-                )?
-                # Return type
-                (?:
-                    (
-                        (?:[\w\|_\\\\]+)
-                        # array notation           
-                        (?:\[\])*
-                    )?
-                    \s+
-                )?
-                # Legacy method name (not captured)
-                (?:
-                    [\w_]+\(\)\s+
-                )?
-                # Method name
-                ([\w\|_\\\\]+)
-                # Arguments
-                (?:
-                    \(([^\)]*)\)
-                )?
-                \s*
-                # Description
-                (.*)
-            $/sux',
-            $body,
-            $matches
-        )) {
-            return null;
-        }
-
-        list(, $static, $returnType, $methodName, $arguments, $description) = $matches;
-
-        $static      = $static === 'static';
-        $returnType  = $typeResolver->resolve($returnType, $context);
-        $description = $descriptionFactory->create($description, $context);
-
-        if ('' !== $arguments) {
-            $arguments = explode(',', $arguments);
-            foreach($arguments as &$argument) {
-                $argument = explode(' ', trim($argument));
-                if ($argument[0][0] === '$') {
-                    $argumentName = substr($argument[0], 1);
-                    $argumentType = new Void_();
-                } else {
-                    $argumentType = $typeResolver->resolve($argument[0], $context);
-                    $argumentName = '';
-                    if (isset($argument[1])) {
-                        $argumentName = substr($argument[1], 1);
-                    }
-                }
-
-                $argument = [ 'name' => $argumentName, 'type' => $argumentType];
-            }
-        } else {
-            $arguments = [];
-        }
-
-        return new static($methodName, $arguments, $returnType, $static, $description);
-    }
-
-    /**
-     * Retrieves the method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    /**
-     * @return string[]
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * Checks whether the method tag describes a static method or not.
-     *
-     * @return bool TRUE if the method declaration is for a static method, FALSE otherwise.
-     */
-    public function isStatic()
-    {
-        return $this->isStatic;
-    }
-
-    /**
-     * @return Type
-     */
-    public function getReturnType()
-    {
-        return $this->returnType;
-    }
-
-    public function __toString()
-    {
-        $arguments = [];
-        foreach ($this->arguments as $argument) {
-            $arguments[] = $argument['type'] . ' $' . $argument['name'];
-        }
-
-        return ($this->isStatic() ? 'static ' : '')
-            . (string)$this->returnType . ' '
-            . $this->methodName
-            . '(' . implode(', ', $arguments) . ')'
-            . ($this->description ? ' ' . $this->description->render() : '');
-    }
-
-    private function filterArguments($arguments)
-    {
-        foreach ($arguments as &$argument) {
-            if (is_string($argument)) {
-                $argument = [ 'name' => $argument ];
-            }
-            if (! isset($argument['type'])) {
-                $argument['type'] = new Void_();
-            }
-            $keys = array_keys($argument);
-            if ($keys !== [ 'name', 'type' ]) {
-                throw new \InvalidArgumentException(
-                    'Arguments can only have the "name" and "type" fields, found: ' . var_export($keys, true)
-                );
-            }
-        }
-
-        return $arguments;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for the {@}param tag in a Docblock.
- */
-final class Param extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'param';
-
-    /** @var Type */
-    private $type;
-
-    /** @var string */
-    private $variableName = '';
-
-    /** @var bool determines whether this is a variadic argument */
-    private $isVariadic = false;
-
-    /**
-     * @param string $variableName
-     * @param Type $type
-     * @param bool $isVariadic
-     * @param Description $description
-     */
-    public function __construct($variableName, Type $type = null, $isVariadic = false, Description $description = null)
-    {
-        Assert::string($variableName);
-        Assert::boolean($isVariadic);
-
-        $this->variableName = $variableName;
-        $this->type = $type;
-        $this->isVariadic = $isVariadic;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE);
-        $type = null;
-        $variableName = '';
-        $isVariadic = false;
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) {
-            $type = $typeResolver->resolve(array_shift($parts), $context);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$' || substr($parts[0], 0, 4) === '...$')) {
-            $variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($variableName, 0, 3) === '...') {
-                $isVariadic = true;
-                $variableName = substr($variableName, 3);
-            }
-
-            if (substr($variableName, 0, 1) === '$') {
-                $variableName = substr($variableName, 1);
-            }
-        }
-
-        $description = $descriptionFactory->create(implode('', $parts), $context);
-
-        return new static($variableName, $type, $isVariadic, $description);
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Returns the variable's type or null if unknown.
-     *
-     * @return Type|null
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Returns whether this tag is variadic.
-     *
-     * @return boolean
-     */
-    public function isVariadic()
-    {
-        return $this->isVariadic;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->type ? $this->type . ' ' : '')
-        . ($this->isVariadic() ? '...' : '')
-        . '$' . $this->variableName
-        . ($this->description ? ' ' . $this->description : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}property tag in a Docblock.
- */
-class Property extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'property';
-
-    /** @var Type */
-    private $type;
-
-    /** @var string */
-    protected $variableName = '';
-
-    /**
-     * @param string      $variableName
-     * @param Type        $type
-     * @param Description $description
-     */
-    public function __construct($variableName, Type $type = null, Description $description = null)
-    {
-        Assert::string($variableName);
-
-        $this->variableName = $variableName;
-        $this->type = $type;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE);
-        $type = null;
-        $variableName = '';
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) {
-            $type = $typeResolver->resolve(array_shift($parts), $context);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) {
-            $variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($variableName, 0, 1) === '$') {
-                $variableName = substr($variableName, 1);
-            }
-        }
-
-        $description = $descriptionFactory->create(implode('', $parts), $context);
-
-        return new static($variableName, $type, $description);
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Returns the variable's type or null if unknown.
-     *
-     * @return Type|null
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->type ? $this->type . ' ' : '')
-        . '$' . $this->variableName
-        . ($this->description ? ' ' . $this->description : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}property-read tag in a Docblock.
- */
-class PropertyRead extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'property-read';
-
-    /** @var Type */
-    private $type;
-
-    /** @var string */
-    protected $variableName = '';
-
-    /**
-     * @param string      $variableName
-     * @param Type        $type
-     * @param Description $description
-     */
-    public function __construct($variableName, Type $type = null, Description $description = null)
-    {
-        Assert::string($variableName);
-
-        $this->variableName = $variableName;
-        $this->type = $type;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE);
-        $type = null;
-        $variableName = '';
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) {
-            $type = $typeResolver->resolve(array_shift($parts), $context);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) {
-            $variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($variableName, 0, 1) === '$') {
-                $variableName = substr($variableName, 1);
-            }
-        }
-
-        $description = $descriptionFactory->create(implode('', $parts), $context);
-
-        return new static($variableName, $type, $description);
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Returns the variable's type or null if unknown.
-     *
-     * @return Type|null
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->type ? $this->type . ' ' : '')
-        . '$' . $this->variableName
-        . ($this->description ? ' ' . $this->description : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}property-write tag in a Docblock.
- */
-class PropertyWrite extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'property-write';
-
-    /** @var Type */
-    private $type;
-
-    /** @var string */
-    protected $variableName = '';
-
-    /**
-     * @param string      $variableName
-     * @param Type        $type
-     * @param Description $description
-     */
-    public function __construct($variableName, Type $type = null, Description $description = null)
-    {
-        Assert::string($variableName);
-
-        $this->variableName = $variableName;
-        $this->type = $type;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE);
-        $type = null;
-        $variableName = '';
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) {
-            $type = $typeResolver->resolve(array_shift($parts), $context);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) {
-            $variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($variableName, 0, 1) === '$') {
-                $variableName = substr($variableName, 1);
-            }
-        }
-
-        $description = $descriptionFactory->create(implode('', $parts), $context);
-
-        return new static($variableName, $type, $description);
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Returns the variable's type or null if unknown.
-     *
-     * @return Type|null
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->type ? $this->type . ' ' : '')
-        . '$' . $this->variableName
-        . ($this->description ? ' ' . $this->description : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}return tag in a Docblock.
- */
-final class Return_ extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'return';
-
-    /** @var Type */
-    private $type;
-
-    public function __construct(Type $type, Description $description = null)
-    {
-        $this->type = $type;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    )
-    {
-        Assert::string($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/\s+/Su', $body, 2);
-
-        $type = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context);
-        $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context);
-
-        return new static($type, $description);
-    }
-
-    /**
-     * Returns the type section of the variable.
-     *
-     * @return Type
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    public function __toString()
-    {
-        return $this->type . ' ' . $this->description;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Fqsen;
-use phpDocumentor\Reflection\FqsenResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\DocBlock\Description;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for an {@}see tag in a Docblock.
- */
-class See extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'see';
-
-    /** @var Fqsen */
-    protected $refers = null;
-
-    /**
-     * Initializes this tag.
-     *
-     * @param Fqsen $refers
-     * @param Description $description
-     */
-    public function __construct(Fqsen $refers, Description $description = null)
-    {
-        $this->refers = $refers;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        FqsenResolver $resolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::string($body);
-        Assert::allNotNull([$resolver, $descriptionFactory]);
-
-        $parts       = preg_split('/\s+/Su', $body, 2);
-        $description = isset($parts[1]) ? $descriptionFactory->create($parts[1], $context) : null;
-
-        return new static($resolver->resolve($parts[0], $context), $description);
-    }
-
-    /**
-     * Returns the structural element this tag refers to.
-     *
-     * @return Fqsen
-     */
-    public function getReference()
-    {
-        return $this->refers;
-    }
-
-    /**
-     * Returns a string representation of this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->refers . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}since tag in a Docblock.
- */
-final class Since extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'since';
-
-    /**
-     * PCRE regular expression matching a version vector.
-     * Assumes the "x" modifier.
-     */
-    const REGEX_VECTOR = '(?:
-        # Normal release vectors.
-        \d\S*
-        |
-        # VCS version vectors. Per PHPCS, they are expected to
-        # follow the form of the VCS name, followed by ":", followed
-        # by the version vector itself.
-        # By convention, popular VCSes like CVS, SVN and GIT use "$"
-        # around the actual version vector.
-        [^\s\:]+\:\s*\$[^\$]+\$
-    )';
-
-    /** @var string The version vector. */
-    private $version = '';
-
-    public function __construct($version = null, Description $description = null)
-    {
-        Assert::nullOrStringNotEmpty($version);
-
-        $this->version     = $version;
-        $this->description = $description;
-    }
-
-    /**
-     * @return static
-     */
-    public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null)
-    {
-        Assert::nullOrString($body);
-        if (empty($body)) {
-            return new static();
-        }
-
-        $matches = [];
-        if (! preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) {
-            return null;
-        }
-
-        return new static(
-            $matches[1],
-            $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context)
-        );
-    }
-
-    /**
-     * Gets the version section of the tag.
-     *
-     * @return string
-     */
-    public function getVersion()
-    {
-        return $this->version;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->version . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}source tag in a Docblock.
- */
-final class Source extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'source';
-
-    /** @var int The starting line, relative to the structural element's location. */
-    private $startingLine = 1;
-
-    /** @var int|null The number of lines, relative to the starting line. NULL means "to the end". */
-    private $lineCount = null;
-
-    public function __construct($startingLine, $lineCount = null, Description $description = null)
-    {
-        Assert::integerish($startingLine);
-        Assert::nullOrIntegerish($lineCount);
-
-        $this->startingLine = (int)$startingLine;
-        $this->lineCount    = $lineCount !== null ? (int)$lineCount : null;
-        $this->description  = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null)
-    {
-        Assert::stringNotEmpty($body);
-        Assert::notNull($descriptionFactory);
-
-        $startingLine = 1;
-        $lineCount    = null;
-        $description  = null;
-
-        // Starting line / Number of lines / Description
-        if (preg_match('/^([1-9]\d*)\s*(?:((?1))\s+)?(.*)$/sux', $body, $matches)) {
-            $startingLine = (int)$matches[1];
-            if (isset($matches[2]) && $matches[2] !== '') {
-                $lineCount = (int)$matches[2];
-            }
-            $description = $matches[3];
-        }
-
-        return new static($startingLine, $lineCount, $descriptionFactory->create($description, $context));
-    }
-
-    /**
-     * Gets the starting line.
-     *
-     * @return int The starting line, relative to the structural element's
-     *     location.
-     */
-    public function getStartingLine()
-    {
-        return $this->startingLine;
-    }
-
-    /**
-     * Returns the number of lines.
-     *
-     * @return int|null The number of lines, relative to the starting line. NULL
-     *     means "to the end".
-     */
-    public function getLineCount()
-    {
-        return $this->lineCount;
-    }
-
-    public function __toString()
-    {
-        return $this->startingLine
-        . ($this->lineCount !== null ? ' ' . $this->lineCount : '')
-        . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}throws tag in a Docblock.
- */
-final class Throws extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'throws';
-
-    /** @var Type */
-    private $type;
-
-    public function __construct(Type $type, Description $description = null)
-    {
-        $this->type        = $type;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::string($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts = preg_split('/\s+/Su', $body, 2);
-
-        $type        = $typeResolver->resolve(isset($parts[0]) ? $parts[0] : '', $context);
-        $description = $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context);
-
-        return new static($type, $description);
-    }
-
-    /**
-     * Returns the type section of the variable.
-     *
-     * @return Type
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    public function __toString()
-    {
-        return $this->type . ' ' . $this->description;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Fqsen;
-use phpDocumentor\Reflection\FqsenResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}uses tag in a Docblock.
- */
-final class Uses extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'uses';
-
-    /** @var Fqsen */
-    protected $refers = null;
-
-    /**
-     * Initializes this tag.
-     *
-     * @param Fqsen       $refers
-     * @param Description $description
-     */
-    public function __construct(Fqsen $refers, Description $description = null)
-    {
-        $this->refers      = $refers;
-        $this->description = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        FqsenResolver $resolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::string($body);
-        Assert::allNotNull([$resolver, $descriptionFactory]);
-
-        $parts = preg_split('/\s+/Su', $body, 2);
-
-        return new static(
-            $resolver->resolve($parts[0], $context),
-            $descriptionFactory->create(isset($parts[1]) ? $parts[1] : '', $context)
-        );
-    }
-
-    /**
-     * Returns the structural element this tag refers to.
-     *
-     * @return Fqsen
-     */
-    public function getReference()
-    {
-        return $this->refers;
-    }
-
-    /**
-     * Returns a string representation of this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->refers . ' ' . $this->description->render();
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\Type;
-use phpDocumentor\Reflection\TypeResolver;
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}var tag in a Docblock.
- */
-class Var_ extends BaseTag implements Factory\StaticMethod
-{
-    /** @var string */
-    protected $name = 'var';
-
-    /** @var Type */
-    private $type;
-
-    /** @var string */
-    protected $variableName = '';
-
-    /**
-     * @param string      $variableName
-     * @param Type        $type
-     * @param Description $description
-     */
-    public function __construct($variableName, Type $type = null, Description $description = null)
-    {
-        Assert::string($variableName);
-
-        $this->variableName = $variableName;
-        $this->type         = $type;
-        $this->description  = $description;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public static function create(
-        $body,
-        TypeResolver $typeResolver = null,
-        DescriptionFactory $descriptionFactory = null,
-        TypeContext $context = null
-    ) {
-        Assert::stringNotEmpty($body);
-        Assert::allNotNull([$typeResolver, $descriptionFactory]);
-
-        $parts        = preg_split('/(\s+)/Su', $body, 3, PREG_SPLIT_DELIM_CAPTURE);
-        $type         = null;
-        $variableName = '';
-
-        // if the first item that is encountered is not a variable; it is a type
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] !== '$')) {
-            $type = $typeResolver->resolve(array_shift($parts), $context);
-            array_shift($parts);
-        }
-
-        // if the next item starts with a $ or ...$ it must be the variable name
-        if (isset($parts[0]) && (strlen($parts[0]) > 0) && ($parts[0][0] == '$')) {
-            $variableName = array_shift($parts);
-            array_shift($parts);
-
-            if (substr($variableName, 0, 1) === '$') {
-                $variableName = substr($variableName, 1);
-            }
-        }
-
-        $description = $descriptionFactory->create(implode('', $parts), $context);
-
-        return new static($variableName, $type, $description);
-    }
-
-    /**
-     * Returns the variable's name.
-     *
-     * @return string
-     */
-    public function getVariableName()
-    {
-        return $this->variableName;
-    }
-
-    /**
-     * Returns the variable's type or null if unknown.
-     *
-     * @return Type|null
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return ($this->type ? $this->type . ' ' : '')
-        . '$' . $this->variableName
-        . ($this->description ? ' ' . $this->description : '');
-    }
-}
-<?php
-/**
- * phpDocumentor
- *
- * PHP Version 5.3
- *
- * @author    Vasil Rangelov <boen.robot@gmail.com>
- * @copyright 2010-2011 Mike van Riel / Naenius (http://www.naenius.com)
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\DocBlock\Tags;
-
-use phpDocumentor\Reflection\Types\Context as TypeContext;
-use phpDocumentor\Reflection\DocBlock\Description;
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use Webmozart\Assert\Assert;
-
-/**
- * Reflection class for a {@}version tag in a Docblock.
- */
-final class Version extends BaseTag implements Factory\StaticMethod
-{
-    protected $name = 'version';
-
-    /**
-     * PCRE regular expression matching a version vector.
-     * Assumes the "x" modifier.
-     */
-    const REGEX_VECTOR = '(?:
-        # Normal release vectors.
-        \d\S*
-        |
-        # VCS version vectors. Per PHPCS, they are expected to
-        # follow the form of the VCS name, followed by ":", followed
-        # by the version vector itself.
-        # By convention, popular VCSes like CVS, SVN and GIT use "$"
-        # around the actual version vector.
-        [^\s\:]+\:\s*\$[^\$]+\$
-    )';
-
-    /** @var string The version vector. */
-    private $version = '';
-
-    public function __construct($version = null, Description $description = null)
-    {
-        Assert::nullOrStringNotEmpty($version);
-
-        $this->version = $version;
-        $this->description = $description;
-    }
-
-    /**
-     * @return static
-     */
-    public static function create($body, DescriptionFactory $descriptionFactory = null, TypeContext $context = null)
-    {
-        Assert::nullOrString($body);
-        if (empty($body)) {
-            return new static();
-        }
-
-        $matches = [];
-        if (!preg_match('/^(' . self::REGEX_VECTOR . ')\s*(.+)?$/sux', $body, $matches)) {
-            return null;
-        }
-
-        return new static(
-            $matches[1],
-            $descriptionFactory->create(isset($matches[2]) ? $matches[2] : '', $context)
-        );
-    }
-
-    /**
-     * Gets the version section of the tag.
-     *
-     * @return string
-     */
-    public function getVersion()
-    {
-        return $this->version;
-    }
-
-    /**
-     * Returns a string representation for this tag.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->version . ($this->description ? ' ' . $this->description->render() : '');
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\DocBlock\DescriptionFactory;
-use phpDocumentor\Reflection\DocBlock\StandardTagFactory;
-use phpDocumentor\Reflection\DocBlock\Tag;
-use phpDocumentor\Reflection\DocBlock\TagFactory;
-use Webmozart\Assert\Assert;
-
-final class DocBlockFactory implements DocBlockFactoryInterface
-{
-    /** @var DocBlock\DescriptionFactory */
-    private $descriptionFactory;
-
-    /** @var DocBlock\TagFactory */
-    private $tagFactory;
-
-    /**
-     * Initializes this factory with the required subcontractors.
-     *
-     * @param DescriptionFactory $descriptionFactory
-     * @param TagFactory         $tagFactory
-     */
-    public function __construct(DescriptionFactory $descriptionFactory, TagFactory $tagFactory)
-    {
-        $this->descriptionFactory = $descriptionFactory;
-        $this->tagFactory = $tagFactory;
-    }
-
-    /**
-     * Factory method for easy instantiation.
-     *
-     * @param string[] $additionalTags
-     *
-     * @return DocBlockFactory
-     */
-    public static function createInstance(array $additionalTags = [])
-    {
-        $fqsenResolver = new FqsenResolver();
-        $tagFactory = new StandardTagFactory($fqsenResolver);
-        $descriptionFactory = new DescriptionFactory($tagFactory);
-
-        $tagFactory->addService($descriptionFactory);
-        $tagFactory->addService(new TypeResolver($fqsenResolver));
-
-        $docBlockFactory = new self($descriptionFactory, $tagFactory);
-        foreach ($additionalTags as $tagName => $tagHandler) {
-            $docBlockFactory->registerTagHandler($tagName, $tagHandler);
-        }
-
-        return $docBlockFactory;
-    }
-
-    /**
-     * @param object|string $docblock A string containing the DocBlock to parse or an object supporting the
-     *                                getDocComment method (such as a ReflectionClass object).
-     * @param Types\Context $context
-     * @param Location      $location
-     *
-     * @return DocBlock
-     */
-    public function create($docblock, Types\Context $context = null, Location $location = null)
-    {
-        if (is_object($docblock)) {
-            if (!method_exists($docblock, 'getDocComment')) {
-                $exceptionMessage = 'Invalid object passed; the given object must support the getDocComment method';
-                throw new \InvalidArgumentException($exceptionMessage);
-            }
-
-            $docblock = $docblock->getDocComment();
-        }
-
-        Assert::stringNotEmpty($docblock);
-
-        if ($context === null) {
-            $context = new Types\Context('');
-        }
-
-        $parts = $this->splitDocBlock($this->stripDocComment($docblock));
-        list($templateMarker, $summary, $description, $tags) = $parts;
-
-        return new DocBlock(
-            $summary,
-            $description ? $this->descriptionFactory->create($description, $context) : null,
-            array_filter($this->parseTagBlock($tags, $context), function($tag) {
-                return $tag instanceof Tag;
-            }),
-            $context,
-            $location,
-            $templateMarker === '#@+',
-            $templateMarker === '#@-'
-        );
-    }
-
-    public function registerTagHandler($tagName, $handler)
-    {
-        $this->tagFactory->registerTagHandler($tagName, $handler);
-    }
-
-    /**
-     * Strips the asterisks from the DocBlock comment.
-     *
-     * @param string $comment String containing the comment text.
-     *
-     * @return string
-     */
-    private function stripDocComment($comment)
-    {
-        $comment = trim(preg_replace('#[ \t]*(?:\/\*\*|\*\/|\*)?[ \t]{0,1}(.*)?#u', '$1', $comment));
-
-        // reg ex above is not able to remove */ from a single line docblock
-        if (substr($comment, -2) == '*/') {
-            $comment = trim(substr($comment, 0, -2));
-        }
-
-        return str_replace(array("\r\n", "\r"), "\n", $comment);
-    }
-
-    /**
-     * Splits the DocBlock into a template marker, summary, description and block of tags.
-     *
-     * @param string $comment Comment to split into the sub-parts.
-     *
-     * @author Richard van Velzen (@_richardJ) Special thanks to Richard for the regex responsible for the split.
-     * @author Mike van Riel <me@mikevanriel.com> for extending the regex with template marker support.
-     *
-     * @return string[] containing the template marker (if any), summary, description and a string containing the tags.
-     */
-    private function splitDocBlock($comment)
-    {
-        // Performance improvement cheat: if the first character is an @ then only tags are in this DocBlock. This
-        // method does not split tags so we return this verbatim as the fourth result (tags). This saves us the
-        // performance impact of running a regular expression
-        if (strpos($comment, '@') === 0) {
-            return array('', '', '', $comment);
-        }
-
-        // clears all extra horizontal whitespace from the line endings to prevent parsing issues
-        $comment = preg_replace('/\h*$/Sum', '', $comment);
-
-        /*
-         * Splits the docblock into a template marker, summary, description and tags section.
-         *
-         * - The template marker is empty, #@+ or #@- if the DocBlock starts with either of those (a newline may
-         *   occur after it and will be stripped).
-         * - The short description is started from the first character until a dot is encountered followed by a
-         *   newline OR two consecutive newlines (horizontal whitespace is taken into account to consider spacing
-         *   errors). This is optional.
-         * - The long description, any character until a new line is encountered followed by an @ and word
-         *   characters (a tag). This is optional.
-         * - Tags; the remaining characters
-         *
-         * Big thanks to RichardJ for contributing this Regular Expression
-         */
-        preg_match(
-            '/
-            \A
-            # 1. Extract the template marker
-            (?:(\#\@\+|\#\@\-)\n?)?
-
-            # 2. Extract the summary
-            (?:
-              (?! @\pL ) # The summary may not start with an @
-              (
-                [^\n.]+
-                (?:
-                  (?! \. \n | \n{2} )     # End summary upon a dot followed by newline or two newlines
-                  [\n.] (?! [ \t]* @\pL ) # End summary when an @ is found as first character on a new line
-                  [^\n.]+                 # Include anything else
-                )*
-                \.?
-              )?
-            )
-
-            # 3. Extract the description
-            (?:
-              \s*        # Some form of whitespace _must_ precede a description because a summary must be there
-              (?! @\pL ) # The description may not start with an @
-              (
-                [^\n]+
-                (?: \n+
-                  (?! [ \t]* @\pL ) # End description when an @ is found as first character on a new line
-                  [^\n]+            # Include anything else
-                )*
-              )
-            )?
-
-            # 4. Extract the tags (anything that follows)
-            (\s+ [\s\S]*)? # everything that follows
-            /ux',
-            $comment,
-            $matches
-        );
-        array_shift($matches);
-
-        while (count($matches) < 4) {
-            $matches[] = '';
-        }
-
-        return $matches;
-    }
-
-    /**
-     * Creates the tag objects.
-     *
-     * @param string $tags Tag block to parse.
-     * @param Types\Context $context Context of the parsed Tag
-     *
-     * @return DocBlock\Tag[]
-     */
-    private function parseTagBlock($tags, Types\Context $context)
-    {
-        $tags = $this->filterTagBlock($tags);
-        if (!$tags) {
-            return [];
-        }
-
-        $result = $this->splitTagBlockIntoTagLines($tags);
-        foreach ($result as $key => $tagLine) {
-            $result[$key] = $this->tagFactory->create(trim($tagLine), $context);
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param string $tags
-     *
-     * @return string[]
-     */
-    private function splitTagBlockIntoTagLines($tags)
-    {
-        $result = array();
-        foreach (explode("\n", $tags) as $tag_line) {
-            if (isset($tag_line[0]) && ($tag_line[0] === '@')) {
-                $result[] = $tag_line;
-            } else {
-                $result[count($result) - 1] .= "\n" . $tag_line;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param $tags
-     * @return string
-     */
-    private function filterTagBlock($tags)
-    {
-        $tags = trim($tags);
-        if (!$tags) {
-            return null;
-        }
-
-        if ('@' !== $tags[0]) {
-            // @codeCoverageIgnoreStart
-            // Can't simulate this; this only happens if there is an error with the parsing of the DocBlock that
-            // we didn't foresee.
-            throw new \LogicException('A tag block started with text instead of an at-sign(@): ' . $tags);
-            // @codeCoverageIgnoreEnd
-        }
-
-        return $tags;
-    }
-}
-<?php
-namespace phpDocumentor\Reflection;
-
-interface DocBlockFactoryInterface
-{
-    /**
-     * Factory method for easy instantiation.
-     *
-     * @param string[] $additionalTags
-     *
-     * @return DocBlockFactory
-     */
-    public static function createInstance(array $additionalTags = []);
-
-    /**
-     * @param string $docblock
-     * @param Types\Context $context
-     * @param Location $location
-     *
-     * @return DocBlock
-     */
-    public function create($docblock, Types\Context $context = null, Location $location = null);
-}
-The MIT License (MIT)
-
-Copyright (c) 2010 Mike van Riel
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\Types\Context;
-
-class FqsenResolver
-{
-    /** @var string Definition of the NAMESPACE operator in PHP */
-    const OPERATOR_NAMESPACE = '\\';
-
-    public function resolve($fqsen, Context $context = null)
-    {
-        if ($context === null) {
-            $context = new Context('');
-        }
-
-        if ($this->isFqsen($fqsen)) {
-            return new Fqsen($fqsen);
-        }
-
-        return $this->resolvePartialStructuralElementName($fqsen, $context);
-    }
-
-    /**
-     * Tests whether the given type is a Fully Qualified Structural Element Name.
-     *
-     * @param string $type
-     *
-     * @return bool
-     */
-    private function isFqsen($type)
-    {
-        return strpos($type, self::OPERATOR_NAMESPACE) === 0;
-    }
-
-    /**
-     * Resolves a partial Structural Element Name (i.e. `Reflection\DocBlock`) to its FQSEN representation
-     * (i.e. `\phpDocumentor\Reflection\DocBlock`) based on the Namespace and aliases mentioned in the Context.
-     *
-     * @param string $type
-     * @param Context $context
-     *
-     * @return Fqsen
-     */
-    private function resolvePartialStructuralElementName($type, Context $context)
-    {
-        $typeParts = explode(self::OPERATOR_NAMESPACE, $type, 2);
-
-        $namespaceAliases = $context->getNamespaceAliases();
-
-        // if the first segment is not an alias; prepend namespace name and return
-        if (!isset($namespaceAliases[$typeParts[0]])) {
-            $namespace = $context->getNamespace();
-            if ('' !== $namespace) {
-                $namespace .= self::OPERATOR_NAMESPACE;
-            }
-
-            return new Fqsen(self::OPERATOR_NAMESPACE . $namespace . $type);
-        }
-
-        $typeParts[0] = $namespaceAliases[$typeParts[0]];
-
-        return new Fqsen(self::OPERATOR_NAMESPACE . implode(self::OPERATOR_NAMESPACE, $typeParts));
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-interface Type
-{
-    public function __toString();
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection;
-
-use phpDocumentor\Reflection\Types\Array_;
-use phpDocumentor\Reflection\Types\Compound;
-use phpDocumentor\Reflection\Types\Context;
-use phpDocumentor\Reflection\Types\Object_;
-
-final class TypeResolver
-{
-    /** @var string Definition of the ARRAY operator for types */
-    const OPERATOR_ARRAY = '[]';
-
-    /** @var string Definition of the NAMESPACE operator in PHP */
-    const OPERATOR_NAMESPACE = '\\';
-
-    /** @var string[] List of recognized keywords and unto which Value Object they map */
-    private $keywords = array(
-        'string' => 'phpDocumentor\Reflection\Types\String_',
-        'int' => 'phpDocumentor\Reflection\Types\Integer',
-        'integer' => 'phpDocumentor\Reflection\Types\Integer',
-        'bool' => 'phpDocumentor\Reflection\Types\Boolean',
-        'boolean' => 'phpDocumentor\Reflection\Types\Boolean',
-        'float' => 'phpDocumentor\Reflection\Types\Float_',
-        'double' => 'phpDocumentor\Reflection\Types\Float_',
-        'object' => 'phpDocumentor\Reflection\Types\Object_',
-        'mixed' => 'phpDocumentor\Reflection\Types\Mixed',
-        'array' => 'phpDocumentor\Reflection\Types\Array_',
-        'resource' => 'phpDocumentor\Reflection\Types\Resource',
-        'void' => 'phpDocumentor\Reflection\Types\Void_',
-        'null' => 'phpDocumentor\Reflection\Types\Null_',
-        'scalar' => 'phpDocumentor\Reflection\Types\Scalar',
-        'callback' => 'phpDocumentor\Reflection\Types\Callable_',
-        'callable' => 'phpDocumentor\Reflection\Types\Callable_',
-        'false' => 'phpDocumentor\Reflection\Types\Boolean',
-        'true' => 'phpDocumentor\Reflection\Types\Boolean',
-        'self' => 'phpDocumentor\Reflection\Types\Self_',
-        '$this' => 'phpDocumentor\Reflection\Types\This',
-        'static' => 'phpDocumentor\Reflection\Types\Static_'
-    );
-
-    /** @var FqsenResolver */
-    private $fqsenResolver;
-
-    /**
-     * Initializes this TypeResolver with the means to create and resolve Fqsen objects.
-     *
-     * @param FqsenResolver $fqsenResolver
-     */
-    public function __construct(FqsenResolver $fqsenResolver = null)
-    {
-        $this->fqsenResolver = $fqsenResolver ?: new FqsenResolver();
-    }
-
-    /**
-     * Analyzes the given type and returns the FQCN variant.
-     *
-     * When a type is provided this method checks whether it is not a keyword or
-     * Fully Qualified Class Name. If so it will use the given namespace and
-     * aliases to expand the type to a FQCN representation.
-     *
-     * This method only works as expected if the namespace and aliases are set;
-     * no dynamic reflection is being performed here.
-     *
-     * @param string $type     The relative or absolute type.
-     * @param Context $context
-     *
-     * @uses Context::getNamespace()        to determine with what to prefix the type name.
-     * @uses Context::getNamespaceAliases() to check whether the first part of the relative type name should not be
-     *     replaced with another namespace.
-     *
-     * @return Type|null
-     */
-    public function resolve($type, Context $context = null)
-    {
-        if (!is_string($type)) {
-            throw new \InvalidArgumentException(
-                'Attempted to resolve type but it appeared not to be a string, received: ' . var_export($type, true)
-            );
-        }
-
-        $type = trim($type);
-        if (!$type) {
-            throw new \InvalidArgumentException('Attempted to resolve "' . $type . '" but it appears to be empty');
-        }
-
-        if ($context === null) {
-            $context = new Context('');
-        }
-
-        switch (true) {
-            case $this->isKeyword($type):
-                return $this->resolveKeyword($type);
-            case ($this->isCompoundType($type)):
-                return $this->resolveCompoundType($type, $context);
-            case $this->isTypedArray($type):
-                return $this->resolveTypedArray($type, $context);
-            case $this->isFqsen($type):
-                return $this->resolveTypedObject($type);
-            case $this->isPartialStructuralElementName($type):
-                return $this->resolveTypedObject($type, $context);
-            // @codeCoverageIgnoreStart
-            default:
-                // I haven't got the foggiest how the logic would come here but added this as a defense.
-                throw new \RuntimeException(
-                    'Unable to resolve type "' . $type . '", there is no known method to resolve it'
-                );
-        }
-        // @codeCoverageIgnoreEnd
-    }
-
-    /**
-     * Adds a keyword to the list of Keywords and associates it with a specific Value Object.
-     *
-     * @param string $keyword
-     * @param string $typeClassName
-     *
-     * @return void
-     */
-    public function addKeyword($keyword, $typeClassName)
-    {
-        if (!class_exists($typeClassName)) {
-            throw new \InvalidArgumentException(
-                'The Value Object that needs to be created with a keyword "' . $keyword . '" must be an existing class'
-                . ' but we could not find the class ' . $typeClassName
-            );
-        }
-
-        if (!in_array(Type::class, class_implements($typeClassName))) {
-            throw new \InvalidArgumentException(
-                'The class "' . $typeClassName . '" must implement the interface "phpDocumentor\Reflection\Type"'
-            );
-        }
-
-        $this->keywords[$keyword] = $typeClassName;
-    }
-
-    /**
-     * Detects whether the given type represents an array.
-     *
-     * @param string $type A relative or absolute type as defined in the phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    private function isTypedArray($type)
-    {
-        return substr($type, -2) === self::OPERATOR_ARRAY;
-    }
-
-    /**
-     * Detects whether the given type represents a PHPDoc keyword.
-     *
-     * @param string $type A relative or absolute type as defined in the phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    private function isKeyword($type)
-    {
-        return in_array(strtolower($type), array_keys($this->keywords), true);
-    }
-
-    /**
-     * Detects whether the given type represents a relative structural element name.
-     *
-     * @param string $type A relative or absolute type as defined in the phpDocumentor documentation.
-     *
-     * @return bool
-     */
-    private function isPartialStructuralElementName($type)
-    {
-        return ($type[0] !== self::OPERATOR_NAMESPACE) && !$this->isKeyword($type);
-    }
-
-    /**
-     * Tests whether the given type is a Fully Qualified Structural Element Name.
-     *
-     * @param string $type
-     *
-     * @return bool
-     */
-    private function isFqsen($type)
-    {
-        return strpos($type, self::OPERATOR_NAMESPACE) === 0;
-    }
-
-    /**
-     * Tests whether the given type is a compound type (i.e. `string|int`).
-     *
-     * @param string $type
-     *
-     * @return bool
-     */
-    private function isCompoundType($type)
-    {
-        return strpos($type, '|') !== false;
-    }
-
-    /**
-     * Resolves the given typed array string (i.e. `string[]`) into an Array object with the right types set.
-     *
-     * @param string $type
-     * @param Context $context
-     *
-     * @return Array_
-     */
-    private function resolveTypedArray($type, Context $context)
-    {
-        return new Array_($this->resolve(substr($type, 0, -2), $context));
-    }
-
-    /**
-     * Resolves the given keyword (such as `string`) into a Type object representing that keyword.
-     *
-     * @param string $type
-     *
-     * @return Type
-     */
-    private function resolveKeyword($type)
-    {
-        $className = $this->keywords[strtolower($type)];
-
-        return new $className();
-    }
-
-    /**
-     * Resolves the given FQSEN string into an FQSEN object.
-     *
-     * @param string $type
-     *
-     * @return Object_
-     */
-    private function resolveTypedObject($type, Context $context = null)
-    {
-        return new Object_($this->fqsenResolver->resolve($type, $context));
-    }
-
-    /**
-     * Resolves a compound type (i.e. `string|int`) into the appropriate Type objects or FQSEN.
-     *
-     * @param string $type
-     * @param Context $context
-     *
-     * @return Compound
-     */
-    private function resolveCompoundType($type, Context $context)
-    {
-        $types = [];
-
-        foreach (explode('|', $type) as $part) {
-            $types[] = $this->resolve($part, $context);
-        }
-
-        return new Compound($types);
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Fqsen;
-use phpDocumentor\Reflection\Type;
-
-/**
- * Represents an array type as described in the PSR-5, the PHPDoc Standard.
- *
- * An array can be represented in two forms:
- *
- * 1. Untyped (`array`), where the key and value type is unknown and hence classified as 'Mixed'.
- * 2. Types (`string[]`), where the value type is provided by preceding an opening and closing square bracket with a
- *    type name.
- */
-final class Array_ implements Type
-{
-    /** @var Type */
-    private $valueType;
-
-    /** @var Type */
-    private $keyType;
-
-    /**
-     * Initializes this representation of an array with the given Type or Fqsen.
-     *
-     * @param Type $valueType
-     * @param Type $keyType
-     */
-    public function __construct(Type $valueType = null, Type $keyType = null)
-    {
-        if ($keyType === null) {
-            $keyType = new Compound([ new String_(), new Integer() ]);
-        }
-        if ($valueType === null) {
-            $valueType = new Mixed();
-        }
-
-        $this->valueType = $valueType;
-        $this->keyType = $keyType;
-    }
-
-    /**
-     * Returns the type for the keys of this array.
-     *
-     * @return Type
-     */
-    public function getKeyType()
-    {
-        return $this->keyType;
-    }
-
-    /**
-     * Returns the value for the keys of this array.
-     *
-     * @return Type
-     */
-    public function getValueType()
-    {
-        return $this->valueType;
-    }
-
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if ($this->valueType instanceof Mixed) {
-            return 'array';
-        }
-
-        return $this->valueType . '[]';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing a Boolean type.
- */
-final class Boolean implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'bool';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing a Callable type.
- */
-final class Callable_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'callable';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing a Compound Type.
- *
- * A Compound Type is not so much a special keyword or object reference but is a series of Types that are separated
- * using an OR operator (`|`). This combination of types signifies that whatever is associated with this compound type
- * may contain a value with any of the given types.
- */
-final class Compound implements Type
-{
-    /** @var Type[] */
-    private $types = [];
-
-    /**
-     * Initializes a compound type (i.e. `string|int`) and tests if the provided types all implement the Type interface.
-     *
-     * @param Type[] $types
-     */
-    public function __construct(array $types)
-    {
-        foreach ($types as $type) {
-            if (!$type instanceof Type) {
-                throw new \InvalidArgumentException('A compound type can only have other types as elements');
-            }
-        }
-
-        $this->types = $types;
-    }
-
-    /**
-     * Returns the type at the given index.
-     *
-     * @param integer $index
-     *
-     * @return Type|null
-     */
-    public function get($index)
-    {
-        if (!$this->has($index)) {
-            return null;
-        }
-
-        return $this->types[$index];
-    }
-
-    /**
-     * Tests if this compound type has a type with the given index.
-     *
-     * @param integer $index
-     *
-     * @return bool
-     */
-    public function has($index)
-    {
-        return isset($this->types[$index]);
-    }
-
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return implode('|', $this->types);
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-/**
- * Provides information about the Context in which the DocBlock occurs that receives this context.
- *
- * A DocBlock does not know of its own accord in which namespace it occurs and which namespace aliases are applicable
- * for the block of code in which it is in. This information is however necessary to resolve Class names in tags since
- * you can provide a short form or make use of namespace aliases.
- *
- * The phpDocumentor Reflection component knows how to create this class but if you use the DocBlock parser from your
- * own application it is possible to generate a Context class using the ContextFactory; this will analyze the file in
- * which an associated class resides for its namespace and imports.
- *
- * @see ContextFactory::createFromClassReflector()
- * @see ContextFactory::createForNamespace()
- */
-final class Context
-{
-    /** @var string The current namespace. */
-    private $namespace = '';
-
-    /** @var array List of namespace aliases => Fully Qualified Namespace. */
-    private $namespaceAliases = [];
-
-    /**
-     * Initializes the new context and normalizes all passed namespaces to be in Qualified Namespace Name (QNN)
-     * format (without a preceding `\`).
-     *
-     * @param string $namespace The namespace where this DocBlock resides in.
-     * @param array $namespaceAliases List of namespace aliases => Fully Qualified Namespace.
-     */
-    public function __construct($namespace, array $namespaceAliases = [])
-    {
-        $this->namespace = ('global' !== $namespace && 'default' !== $namespace)
-            ? trim((string)$namespace, '\\')
-            : '';
-
-        foreach ($namespaceAliases as $alias => $fqnn) {
-            if ($fqnn[0] === '\\') {
-                $fqnn = substr($fqnn, 1);
-            }
-            if ($fqnn[count($fqnn)-1] === '\\') {
-                $fqnn = substr($fqnn, 0, -1);
-            }
-
-            $namespaceAliases[$alias] = $fqnn;
-        }
-
-        $this->namespaceAliases = $namespaceAliases;
-    }
-
-    /**
-     * Returns the Qualified Namespace Name (thus without `\` in front) where the associated element is in.
-     *
-     * @return string
-     */
-    public function getNamespace()
-    {
-        return $this->namespace;
-    }
-
-    /**
-     * Returns a list of Qualified Namespace Names (thus without `\` in front) that are imported, the keys represent
-     * the alias for the imported Namespace.
-     *
-     * @return string[]
-     */
-    public function getNamespaceAliases()
-    {
-        return $this->namespaceAliases;
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-/**
- * Convenience class to create a Context for DocBlocks when not using the Reflection Component of phpDocumentor.
- *
- * For a DocBlock to be able to resolve types that use partial namespace names or rely on namespace imports we need to
- * provide a bit of context so that the DocBlock can read that and based on it decide how to resolve the types to
- * Fully Qualified names.
- *
- * @see Context for more information.
- */
-final class ContextFactory
-{
-    /** The literal used at the end of a use statement. */
-    const T_LITERAL_END_OF_USE = ';';
-
-    /** The literal used between sets of use statements */
-    const T_LITERAL_USE_SEPARATOR = ',';
-
-    /**
-     * Build a Context given a Class Reflection.
-     *
-     * @param \ReflectionClass $reflector
-     *
-     * @see Context for more information on Contexts.
-     *
-     * @return Context
-     */
-    public function createFromReflector(\Reflector $reflector)
-    {
-        if (method_exists($reflector, 'getDeclaringClass')) {
-            $reflector = $reflector->getDeclaringClass();
-        }
-
-        $fileName = $reflector->getFileName();
-        $namespace = $reflector->getNamespaceName();
-
-        if (file_exists($fileName)) {
-            return $this->createForNamespace($namespace, file_get_contents($fileName));
-        }
-
-        return new Context($namespace, []);
-    }
-
-    /**
-     * Build a Context for a namespace in the provided file contents.
-     *
-     * @param string $namespace It does not matter if a `\` precedes the namespace name, this method first normalizes.
-     * @param string $fileContents the file's contents to retrieve the aliases from with the given namespace.
-     *
-     * @see Context for more information on Contexts.
-     *
-     * @return Context
-     */
-    public function createForNamespace($namespace, $fileContents)
-    {
-        $namespace = trim($namespace, '\\');
-        $useStatements = [];
-        $currentNamespace = '';
-        $tokens = new \ArrayIterator(token_get_all($fileContents));
-
-        while ($tokens->valid()) {
-            switch ($tokens->current()[0]) {
-                case T_NAMESPACE:
-                    $currentNamespace = $this->parseNamespace($tokens);
-                    break;
-                case T_CLASS:
-                    // Fast-forward the iterator through the class so that any
-                    // T_USE tokens found within are skipped - these are not
-                    // valid namespace use statements so should be ignored.
-                    $braceLevel = 0;
-                    $firstBraceFound = false;
-                    while ($tokens->valid() && ($braceLevel > 0 || !$firstBraceFound)) {
-                        if ($tokens->current() === '{'
-                            || $tokens->current()[0] === T_CURLY_OPEN
-                            || $tokens->current()[0] === T_DOLLAR_OPEN_CURLY_BRACES) {
-                            if (!$firstBraceFound) {
-                                $firstBraceFound = true;
-                            }
-                            $braceLevel++;
-                        }
-
-                        if ($tokens->current() === '}') {
-                            $braceLevel--;
-                        }
-                        $tokens->next();
-                    }
-                    break;
-                case T_USE:
-                    if ($currentNamespace === $namespace) {
-                        $useStatements = array_merge($useStatements, $this->parseUseStatement($tokens));
-                    }
-                    break;
-            }
-            $tokens->next();
-        }
-
-        return new Context($namespace, $useStatements);
-    }
-
-    /**
-     * Deduce the name from tokens when we are at the T_NAMESPACE token.
-     *
-     * @param \ArrayIterator $tokens
-     *
-     * @return string
-     */
-    private function parseNamespace(\ArrayIterator $tokens)
-    {
-        // skip to the first string or namespace separator
-        $this->skipToNextStringOrNamespaceSeparator($tokens);
-
-        $name = '';
-        while ($tokens->valid() && ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR)
-        ) {
-            $name .= $tokens->current()[1];
-            $tokens->next();
-        }
-
-        return $name;
-    }
-
-    /**
-     * Deduce the names of all imports when we are at the T_USE token.
-     *
-     * @param \ArrayIterator $tokens
-     *
-     * @return string[]
-     */
-    private function parseUseStatement(\ArrayIterator $tokens)
-    {
-        $uses = [];
-        $continue = true;
-
-        while ($continue) {
-            $this->skipToNextStringOrNamespaceSeparator($tokens);
-
-            list($alias, $fqnn) = $this->extractUseStatement($tokens);
-            $uses[$alias] = $fqnn;
-            if ($tokens->current()[0] === self::T_LITERAL_END_OF_USE) {
-                $continue = false;
-            }
-        }
-
-        return $uses;
-    }
-
-    /**
-     * Fast-forwards the iterator as longs as we don't encounter a T_STRING or T_NS_SEPARATOR token.
-     *
-     * @param \ArrayIterator $tokens
-     *
-     * @return void
-     */
-    private function skipToNextStringOrNamespaceSeparator(\ArrayIterator $tokens)
-    {
-        while ($tokens->valid() && ($tokens->current()[0] !== T_STRING) && ($tokens->current()[0] !== T_NS_SEPARATOR)) {
-            $tokens->next();
-        }
-    }
-
-    /**
-     * Deduce the namespace name and alias of an import when we are at the T_USE token or have not reached the end of
-     * a USE statement yet.
-     *
-     * @param \ArrayIterator $tokens
-     *
-     * @return string
-     */
-    private function extractUseStatement(\ArrayIterator $tokens)
-    {
-        $result = [''];
-        while ($tokens->valid()
-            && ($tokens->current()[0] !== self::T_LITERAL_USE_SEPARATOR)
-            && ($tokens->current()[0] !== self::T_LITERAL_END_OF_USE)
-        ) {
-            if ($tokens->current()[0] === T_AS) {
-                $result[] = '';
-            }
-            if ($tokens->current()[0] === T_STRING || $tokens->current()[0] === T_NS_SEPARATOR) {
-                $result[count($result) - 1] .= $tokens->current()[1];
-            }
-            $tokens->next();
-        }
-
-        if (count($result) == 1) {
-            $backslashPos = strrpos($result[0], '\\');
-
-            if (false !== $backslashPos) {
-                $result[] = substr($result[0], $backslashPos + 1);
-            } else {
-                $result[] = $result[0];
-            }
-        }
-
-        return array_reverse($result);
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing a Float.
- */
-final class Float_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'float';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-final class Integer implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'int';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing an unknown, or mixed, type.
- */
-final class Mixed implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'mixed';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing a null value or type.
- */
-final class Null_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'null';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Fqsen;
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing an object.
- *
- * An object can be either typed or untyped. When an object is typed it means that it has an identifier, the FQSEN,
- * pointing to an element in PHP. Object types that are untyped do not refer to a specific class but represent objects
- * in general.
- */
-final class Object_ implements Type
-{
-    /** @var Fqsen|null */
-    private $fqsen;
-
-    /**
-     * Initializes this object with an optional FQSEN, if not provided this object is considered 'untyped'.
-     *
-     * @param Fqsen $fqsen
-     */
-    public function __construct(Fqsen $fqsen = null)
-    {
-        if (strpos((string)$fqsen, '::') !== false || strpos((string)$fqsen, '()') !== false) {
-            throw new \InvalidArgumentException(
-                'Object types can only refer to a class, interface or trait but a method, function, constant or '
-                . 'property was received: ' . (string)$fqsen
-            );
-        }
-
-        $this->fqsen = $fqsen;
-    }
-
-    /**
-     * Returns the FQSEN associated with this object.
-     *
-     * @return Fqsen|null
-     */
-    public function getFqsen()
-    {
-        return $this->fqsen;
-    }
-
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if ($this->fqsen) {
-            return (string)$this->fqsen;
-        }
-
-        return 'object';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the 'resource' Type.
- */
-final class Resource implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'resource';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the 'scalar' pseudo-type, which is either a string, integer, float or boolean.
- */
-final class Scalar implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'scalar';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the 'self' type.
- *
- * Self, as a Type, represents the class in which the associated element was defined.
- */
-final class Self_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'self';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the 'static' type.
- *
- * Self, as a Type, represents the class in which the associated element was called. This differs from self as self does
- * not take inheritance into account but static means that the return type is always that of the class of the called
- * element.
- *
- * See the documentation on late static binding in the PHP Documentation for more information on the difference between
- * static and self.
- */
-final class Static_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'static';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the type 'string'.
- */
-final class String_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'string';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the '$this' pseudo-type.
- *
- * $this, as a Type, represents the instance of the class associated with the element as it was called. $this is
- * commonly used when documenting fluent interfaces since it represents that the same object is returned.
- */
-final class This implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return '$this';
-    }
-}
-<?php
-/**
- * This file is part of phpDocumentor.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- *
- * @copyright 2010-2015 Mike van Riel<mike@phpdoc.org>
- * @license   http://www.opensource.org/licenses/mit-license.php MIT
- * @link      http://phpdoc.org
- */
-
-namespace phpDocumentor\Reflection\Types;
-
-use phpDocumentor\Reflection\Type;
-
-/**
- * Value Object representing the pseudo-type 'void'.
- *
- * Void is generally only used when working with return types as it signifies that the method intentionally does not
- * return any value.
- */
-final class Void_ implements Type
-{
-    /**
-     * Returns a rendered output of the Type as it would be used in a DocBlock.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'void';
-    }
-}
-Copyright (c) 2013 Konstantin Kudryashov <ever.zet@gmail.com>
-                   Marcello Duarte <marcello.duarte@gmail.com>
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy;
-
-use Prophecy\Argument\Token;
-
-/**
- * Argument tokens shortcuts.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Argument
-{
-    /**
-     * Checks that argument is exact value or object.
-     *
-     * @param mixed $value
-     *
-     * @return Token\ExactValueToken
-     */
-    public static function exact($value)
-    {
-        return new Token\ExactValueToken($value);
-    }
-
-    /**
-     * Checks that argument is of specific type or instance of specific class.
-     *
-     * @param string $type Type name (`integer`, `string`) or full class name
-     *
-     * @return Token\TypeToken
-     */
-    public static function type($type)
-    {
-        return new Token\TypeToken($type);
-    }
-
-    /**
-     * Checks that argument object has specific state.
-     *
-     * @param string $methodName
-     * @param mixed  $value
-     *
-     * @return Token\ObjectStateToken
-     */
-    public static function which($methodName, $value)
-    {
-        return new Token\ObjectStateToken($methodName, $value);
-    }
-
-    /**
-     * Checks that argument matches provided callback.
-     *
-     * @param callable $callback
-     *
-     * @return Token\CallbackToken
-     */
-    public static function that($callback)
-    {
-        return new Token\CallbackToken($callback);
-    }
-
-    /**
-     * Matches any single value.
-     *
-     * @return Token\AnyValueToken
-     */
-    public static function any()
-    {
-        return new Token\AnyValueToken;
-    }
-
-    /**
-     * Matches all values to the rest of the signature.
-     *
-     * @return Token\AnyValuesToken
-     */
-    public static function cetera()
-    {
-        return new Token\AnyValuesToken;
-    }
-
-    /**
-     * Checks that argument matches all tokens
-     *
-     * @param mixed ... a list of tokens
-     *
-     * @return Token\LogicalAndToken
-     */
-    public static function allOf()
-    {
-        return new Token\LogicalAndToken(func_get_args());
-    }
-
-    /**
-     * Checks that argument array or countable object has exact number of elements.
-     *
-     * @param integer $value array elements count
-     *
-     * @return Token\ArrayCountToken
-     */
-    public static function size($value)
-    {
-        return new Token\ArrayCountToken($value);
-    }
-
-    /**
-     * Checks that argument array contains (key, value) pair
-     *
-     * @param mixed $key   exact value or token
-     * @param mixed $value exact value or token
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function withEntry($key, $value)
-    {
-        return new Token\ArrayEntryToken($key, $value);
-    }
-
-    /**
-     * Checks that arguments array entries all match value
-     *
-     * @param mixed $value
-     *
-     * @return Token\ArrayEveryEntryToken
-     */
-    public static function withEveryEntry($value)
-    {
-        return new Token\ArrayEveryEntryToken($value);
-    }
-
-    /**
-     * Checks that argument array contains value
-     *
-     * @param mixed $value
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function containing($value)
-    {
-        return new Token\ArrayEntryToken(self::any(), $value);
-    }
-
-    /**
-     * Checks that argument array has key
-     *
-     * @param mixed $key exact value or token
-     *
-     * @return Token\ArrayEntryToken
-     */
-    public static function withKey($key)
-    {
-        return new Token\ArrayEntryToken($key, self::any());
-    }
-
-    /**
-     * Checks that argument does not match the value|token.
-     *
-     * @param mixed $value either exact value or argument token
-     *
-     * @return Token\LogicalNotToken
-     */
-    public static function not($value)
-    {
-        return new Token\LogicalNotToken($value);
-    }
-
-    /**
-     * @param string $value
-     *
-     * @return Token\StringContainsToken
-     */
-    public static function containingString($value)
-    {
-        return new Token\StringContainsToken($value);
-    }
-
-    /**
-     * Checks that argument is identical value.
-     *
-     * @param mixed $value
-     *
-     * @return Token\IdenticalValueToken
-     */
-    public static function is($value)
-    {
-        return new Token\IdenticalValueToken($value);
-    }
-
-    /**
-     * Check that argument is same value when rounding to the
-     * given precision.
-     *
-     * @param float $value
-     * @param float $precision
-     *
-     * @return Token\ApproximateValueToken
-     */
-    public static function approximate($value, $precision = 0)
-    {
-        return new Token\ApproximateValueToken($value, $precision);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument;
-
-/**
- * Arguments wildcarding.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ArgumentsWildcard
-{
-    /**
-     * @var Token\TokenInterface[]
-     */
-    private $tokens = array();
-    private $string;
-
-    /**
-     * Initializes wildcard.
-     *
-     * @param array $arguments Array of argument tokens or values
-     */
-    public function __construct(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (!$argument instanceof Token\TokenInterface) {
-                $argument = new Token\ExactValueToken($argument);
-            }
-
-            $this->tokens[] = $argument;
-        }
-    }
-
-    /**
-     * Calculates wildcard match score for provided arguments.
-     *
-     * @param array $arguments
-     *
-     * @return false|int False OR integer score (higher - better)
-     */
-    public function scoreArguments(array $arguments)
-    {
-        if (0 == count($arguments) && 0 == count($this->tokens)) {
-            return 1;
-        }
-
-        $arguments  = array_values($arguments);
-        $totalScore = 0;
-        foreach ($this->tokens as $i => $token) {
-            $argument = isset($arguments[$i]) ? $arguments[$i] : null;
-            if (1 >= $score = $token->scoreArgument($argument)) {
-                return false;
-            }
-
-            $totalScore += $score;
-
-            if (true === $token->isLast()) {
-                return $totalScore;
-            }
-        }
-
-        if (count($arguments) > count($this->tokens)) {
-            return false;
-        }
-
-        return $totalScore;
-    }
-
-    /**
-     * Returns string representation for wildcard.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = implode(', ', array_map(function ($token) {
-                return (string) $token;
-            }, $this->tokens));
-        }
-
-        return $this->string;
-    }
-
-    /**
-     * @return array
-     */
-    public function getTokens()
-    {
-        return $this->tokens;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Any single value token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class AnyValueToken implements TokenInterface
-{
-    /**
-     * Always scores 3 for any argument.
-     *
-     * @param $argument
-     *
-     * @return int
-     */
-    public function scoreArgument($argument)
-    {
-        return 3;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return '*';
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Any values token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class AnyValuesToken implements TokenInterface
-{
-    /**
-     * Always scores 2 for any argument.
-     *
-     * @param $argument
-     *
-     * @return int
-     */
-    public function scoreArgument($argument)
-    {
-        return 2;
-    }
-
-    /**
-     * Returns true to stop wildcard from processing other tokens.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return true;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return '* [, ...]';
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Approximate value token
- *
- * @author Daniel Leech <daniel@dantleech.com>
- */
-class ApproximateValueToken implements TokenInterface
-{
-    private $value;
-    private $precision;
-
-    public function __construct($value, $precision = 0)
-    {
-        $this->value = $value;
-        $this->precision = $precision;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function scoreArgument($argument)
-    {
-        return round($argument, $this->precision) === round($this->value, $this->precision) ? 10 : false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('≅%s', round($this->value, $this->precision));
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Array elements count token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-
-class ArrayCountToken implements TokenInterface
-{
-    private $count;
-
-    /**
-     * @param integer $value
-     */
-    public function __construct($value)
-    {
-        $this->count = $value;
-    }
-
-    /**
-     * Scores 6 when argument has preset number of elements.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return $this->isCountable($argument) && $this->hasProperCount($argument) ? 6 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('count(%s)', $this->count);
-    }
-
-    /**
-     * Returns true if object is either array or instance of \Countable
-     *
-     * @param $argument
-     * @return bool
-     */
-    private function isCountable($argument)
-    {
-        return (is_array($argument) || $argument instanceof \Countable);
-    }
-
-    /**
-     * Returns true if $argument has expected number of elements
-     *
-     * @param array|\Countable $argument
-     *
-     * @return bool
-     */
-    private function hasProperCount($argument)
-    {
-        return $this->count === count($argument);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Array entry token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class ArrayEntryToken implements TokenInterface
-{
-    /** @var \Prophecy\Argument\Token\TokenInterface */
-    private $key;
-    /** @var \Prophecy\Argument\Token\TokenInterface */
-    private $value;
-
-    /**
-     * @param mixed $key   exact value or token
-     * @param mixed $value exact value or token
-     */
-    public function __construct($key, $value)
-    {
-        $this->key = $this->wrapIntoExactValueToken($key);
-        $this->value = $this->wrapIntoExactValueToken($value);
-    }
-
-    /**
-     * Scores half of combined scores from key and value tokens for same entry. Capped at 8.
-     * If argument implements \ArrayAccess without \Traversable, then key token is restricted to ExactValueToken.
-     *
-     * @param array|\ArrayAccess|\Traversable $argument
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if ($argument instanceof \Traversable) {
-            $argument = iterator_to_array($argument);
-        }
-
-        if ($argument instanceof \ArrayAccess) {
-            $argument = $this->convertArrayAccessToEntry($argument);
-        }
-
-        if (!is_array($argument) || empty($argument)) {
-            return false;
-        }
-
-        $keyScores = array_map(array($this->key,'scoreArgument'), array_keys($argument));
-        $valueScores = array_map(array($this->value,'scoreArgument'), $argument);
-        $scoreEntry = function ($value, $key) {
-            return $value && $key ? min(8, ($key + $value) / 2) : false;
-        };
-
-        return max(array_map($scoreEntry, $valueScores, $keyScores));
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('[..., %s => %s, ...]', $this->key, $this->value);
-    }
-
-    /**
-     * Returns key
-     *
-     * @return TokenInterface
-     */
-    public function getKey()
-    {
-        return $this->key;
-    }
-
-    /**
-     * Returns value
-     *
-     * @return TokenInterface
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Wraps non token $value into ExactValueToken
-     *
-     * @param $value
-     * @return TokenInterface
-     */
-    private function wrapIntoExactValueToken($value)
-    {
-        return $value instanceof TokenInterface ? $value : new ExactValueToken($value);
-    }
-
-    /**
-     * Converts instance of \ArrayAccess to key => value array entry
-     *
-     * @param \ArrayAccess $object
-     *
-     * @return array|null
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    private function convertArrayAccessToEntry(\ArrayAccess $object)
-    {
-        if (!$this->key instanceof ExactValueToken) {
-            throw new InvalidArgumentException(sprintf(
-                'You can only use exact value tokens to match key of ArrayAccess object'.PHP_EOL.
-                'But you used `%s`.',
-                $this->key
-            ));
-        }
-
-        $key = $this->key->getValue();
-
-        return $object->offsetExists($key) ? array($key => $object[$key]) : array();
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Array every entry token.
- *
- * @author Adrien Brault <adrien.brault@gmail.com>
- */
-class ArrayEveryEntryToken implements TokenInterface
-{
-    /**
-     * @var TokenInterface
-     */
-    private $value;
-
-    /**
-     * @param mixed $value exact value or token
-     */
-    public function __construct($value)
-    {
-        if (!$value instanceof TokenInterface) {
-            $value = new ExactValueToken($value);
-        }
-
-        $this->value = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function scoreArgument($argument)
-    {
-        if (!$argument instanceof \Traversable && !is_array($argument)) {
-            return false;
-        }
-
-        $scores = array();
-        foreach ($argument as $key => $argumentEntry) {
-            $scores[] = $this->value->scoreArgument($argumentEntry);
-        }
-
-        if (empty($scores) || in_array(false, $scores, true)) {
-            return false;
-        }
-
-        return array_sum($scores) / count($scores);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __toString()
-    {
-        return sprintf('[%s, ..., %s]', $this->value, $this->value);
-    }
-
-    /**
-     * @return TokenInterface
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Callback-verified token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackToken implements TokenInterface
-{
-    private $callback;
-
-    /**
-     * Initializes token.
-     *
-     * @param callable $callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackToken, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Scores 7 if callback returns true, false otherwise.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return call_user_func($this->callback, $argument) ? 7 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return 'callback()';
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Comparator\Factory as ComparatorFactory;
-use Prophecy\Util\StringUtil;
-
-/**
- * Exact value token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ExactValueToken implements TokenInterface
-{
-    private $value;
-    private $string;
-    private $util;
-    private $comparatorFactory;
-
-    /**
-     * Initializes token.
-     *
-     * @param mixed             $value
-     * @param StringUtil        $util
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct($value, StringUtil $util = null, ComparatorFactory $comparatorFactory = null)
-    {
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil();
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Scores 10 if argument matches preset value.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (is_object($argument) && is_object($this->value)) {
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $argument, $this->value
-            );
-
-            try {
-                $comparator->assertEquals($argument, $this->value);
-                return 10;
-            } catch (ComparisonFailure $failure) {}
-        }
-
-        // If either one is an object it should be castable to a string
-        if (is_object($argument) xor is_object($this->value)) {
-            if (is_object($argument) && !method_exists($argument, '__toString')) {
-                return false;
-            }
-
-            if (is_object($this->value) && !method_exists($this->value, '__toString')) {
-                return false;
-            }
-        } elseif (is_numeric($argument) && is_numeric($this->value)) {
-            // noop
-        } elseif (gettype($argument) !== gettype($this->value)) {
-            return false;
-        }
-
-        return $argument == $this->value ? 10 : false;
-    }
-
-    /**
-     * Returns preset value against which token checks arguments.
-     *
-     * @return mixed
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = sprintf('exact(%s)', $this->util->stringify($this->value));
-        }
-
-        return $this->string;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Util\StringUtil;
-
-/**
- * Identical value token.
- *
- * @author Florian Voutzinos <florian@voutzinos.com>
- */
-class IdenticalValueToken implements TokenInterface
-{
-    private $value;
-    private $string;
-    private $util;
-
-    /**
-     * Initializes token.
-     *
-     * @param mixed      $value
-     * @param StringUtil $util
-     */
-    public function __construct($value, StringUtil $util = null)
-    {
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil();
-    }
-
-    /**
-     * Scores 11 if argument matches preset value.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return $argument === $this->value ? 11 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        if (null === $this->string) {
-            $this->string = sprintf('identical(%s)', $this->util->stringify($this->value));
-        }
-
-        return $this->string;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Logical AND token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class LogicalAndToken implements TokenInterface
-{
-    private $tokens = array();
-
-    /**
-     * @param array $arguments exact values or tokens
-     */
-    public function __construct(array $arguments)
-    {
-        foreach ($arguments as $argument) {
-            if (!$argument instanceof TokenInterface) {
-                $argument = new ExactValueToken($argument);
-            }
-            $this->tokens[] = $argument;
-        }
-    }
-
-    /**
-     * Scores maximum score from scores returned by tokens for this argument if all of them score.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (0 === count($this->tokens)) {
-            return false;
-        }
-
-        $maxScore = 0;
-        foreach ($this->tokens as $token) {
-            $score = $token->scoreArgument($argument);
-            if (false === $score) {
-                return false;
-            }
-            $maxScore = max($score, $maxScore);
-        }
-
-        return $maxScore;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return boolean
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('bool(%s)', implode(' AND ', $this->tokens));
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Logical NOT token.
- *
- * @author Boris Mikhaylov <kaguxmail@gmail.com>
- */
-class LogicalNotToken implements TokenInterface
-{
-    /** @var \Prophecy\Argument\Token\TokenInterface  */
-    private $token;
-
-    /**
-     * @param mixed $value exact value or token
-     */
-    public function __construct($value)
-    {
-        $this->token = $value instanceof TokenInterface? $value : new ExactValueToken($value);
-    }
-
-    /**
-     * Scores 4 when preset token does not match the argument.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        return false === $this->token->scoreArgument($argument) ? 4 : false;
-    }
-
-    /**
-     * Returns true if preset token is last.
-     *
-     * @return bool|int
-     */
-    public function isLast()
-    {
-        return $this->token->isLast();
-    }
-
-    /**
-     * Returns originating token.
-     *
-     * @return TokenInterface
-     */
-    public function getOriginatingToken()
-    {
-        return $this->token;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('not(%s)', $this->token);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Comparator\Factory as ComparatorFactory;
-use Prophecy\Util\StringUtil;
-
-/**
- * Object state-checker token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ObjectStateToken implements TokenInterface
-{
-    private $name;
-    private $value;
-    private $util;
-    private $comparatorFactory;
-
-    /**
-     * Initializes token.
-     *
-     * @param string            $methodName
-     * @param mixed             $value             Expected return value
-     * @param null|StringUtil   $util
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct(
-        $methodName,
-        $value,
-        StringUtil $util = null,
-        ComparatorFactory $comparatorFactory = null
-    ) {
-        $this->name  = $methodName;
-        $this->value = $value;
-        $this->util  = $util ?: new StringUtil;
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Scores 8 if argument is an object, which method returns expected value.
-     *
-     * @param mixed $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        if (is_object($argument) && method_exists($argument, $this->name)) {
-            $actual = call_user_func(array($argument, $this->name));
-
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $actual, $this->value
-            );
-
-            try {
-                $comparator->assertEquals($actual, $this->value);
-                return 8;
-            } catch (ComparisonFailure $failure) {
-                return false;
-            }
-        }
-
-        if (is_object($argument) && property_exists($argument, $this->name)) {
-            return $argument->{$this->name} === $this->value ? 8 : false;
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('state(%s(), %s)',
-            $this->name,
-            $this->util->stringify($this->value)
-        );
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * String contains token.
- *
- * @author Peter Mitchell <pete@peterjmit.com>
- */
-class StringContainsToken implements TokenInterface
-{
-    private $value;
-
-    /**
-     * Initializes token.
-     *
-     * @param string $value
-     */
-    public function __construct($value)
-    {
-        $this->value = $value;
-    }
-
-    public function scoreArgument($argument)
-    {
-        return strpos($argument, $this->value) !== false ? 6 : false;
-    }
-
-    /**
-     * Returns preset value against which token checks arguments.
-     *
-     * @return mixed
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('contains("%s")', $this->value);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-/**
- * Argument token interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface TokenInterface
-{
-    /**
-     * Calculates token match score for provided argument.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument);
-
-    /**
-     * Returns true if this token prevents check of other tokens (is last one).
-     *
-     * @return bool|int
-     */
-    public function isLast();
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString();
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Argument\Token;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Value type token.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class TypeToken implements TokenInterface
-{
-    private $type;
-
-    /**
-     * @param string $type
-     */
-    public function __construct($type)
-    {
-        $checker = "is_{$type}";
-        if (!function_exists($checker) && !interface_exists($type) && !class_exists($type)) {
-            throw new InvalidArgumentException(sprintf(
-                'Type or class name expected as an argument to TypeToken, but got %s.', $type
-            ));
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Scores 5 if argument has the same type this token was constructed with.
-     *
-     * @param $argument
-     *
-     * @return bool|int
-     */
-    public function scoreArgument($argument)
-    {
-        $checker = "is_{$this->type}";
-        if (function_exists($checker)) {
-            return call_user_func($checker, $argument) ? 5 : false;
-        }
-
-        return $argument instanceof $this->type ? 5 : false;
-    }
-
-    /**
-     * Returns false.
-     *
-     * @return bool
-     */
-    public function isLast()
-    {
-        return false;
-    }
-
-    /**
-     * Returns string representation for token.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return sprintf('type(%s)', $this->type);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Call;
-
-use Exception;
-
-/**
- * Call object.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Call
-{
-    private $methodName;
-    private $arguments;
-    private $returnValue;
-    private $exception;
-    private $file;
-    private $line;
-
-    /**
-     * Initializes call.
-     *
-     * @param string      $methodName
-     * @param array       $arguments
-     * @param mixed       $returnValue
-     * @param Exception   $exception
-     * @param null|string $file
-     * @param null|int    $line
-     */
-    public function __construct($methodName, array $arguments, $returnValue,
-                                Exception $exception = null, $file, $line)
-    {
-        $this->methodName  = $methodName;
-        $this->arguments   = $arguments;
-        $this->returnValue = $returnValue;
-        $this->exception   = $exception;
-
-        if ($file) {
-            $this->file = $file;
-            $this->line = intval($line);
-        }
-    }
-
-    /**
-     * Returns called method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    /**
-     * Returns called method arguments.
-     *
-     * @return array
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    /**
-     * Returns called method return value.
-     *
-     * @return null|mixed
-     */
-    public function getReturnValue()
-    {
-        return $this->returnValue;
-    }
-
-    /**
-     * Returns exception that call thrown.
-     *
-     * @return null|Exception
-     */
-    public function getException()
-    {
-        return $this->exception;
-    }
-
-    /**
-     * Returns callee filename.
-     *
-     * @return string
-     */
-    public function getFile()
-    {
-        return $this->file;
-    }
-
-    /**
-     * Returns callee line number.
-     *
-     * @return int
-     */
-    public function getLine()
-    {
-        return $this->line;
-    }
-
-    /**
-     * Returns short notation for callee place.
-     *
-     * @return string
-     */
-    public function getCallPlace()
-    {
-        if (null === $this->file) {
-            return 'unknown';
-        }
-
-        return sprintf('%s:%d', $this->file, $this->line);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Call;
-
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Call\UnexpectedCallException;
-
-/**
- * Calls receiver & manager.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallCenter
-{
-    private $util;
-
-    /**
-     * @var Call[]
-     */
-    private $recordedCalls = array();
-
-    /**
-     * Initializes call center.
-     *
-     * @param StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Makes and records specific method call for object prophecy.
-     *
-     * @param ObjectProphecy $prophecy
-     * @param string         $methodName
-     * @param array          $arguments
-     *
-     * @return mixed Returns null if no promise for prophecy found or promise return value.
-     *
-     * @throws \Prophecy\Exception\Call\UnexpectedCallException If no appropriate method prophecy found
-     */
-    public function makeCall(ObjectProphecy $prophecy, $methodName, array $arguments)
-    {
-        // For efficiency exclude 'args' from the generated backtrace
-        if (PHP_VERSION_ID >= 50400) {
-            // Limit backtrace to last 3 calls as we don't use the rest
-            // Limit argument was introduced in PHP 5.4.0
-            $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 3);
-        } elseif (defined('DEBUG_BACKTRACE_IGNORE_ARGS')) {
-            // DEBUG_BACKTRACE_IGNORE_ARGS was introduced in PHP 5.3.6
-            $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
-        } else {
-            $backtrace = debug_backtrace();
-        }
-
-        $file = $line = null;
-        if (isset($backtrace[2]) && isset($backtrace[2]['file'])) {
-            $file = $backtrace[2]['file'];
-            $line = $backtrace[2]['line'];
-        }
-
-        // If no method prophecies defined, then it's a dummy, so we'll just return null
-        if ('__destruct' === $methodName || 0 == count($prophecy->getMethodProphecies())) {
-            $this->recordedCalls[] = new Call($methodName, $arguments, null, null, $file, $line);
-
-            return null;
-        }
-
-        // There are method prophecies, so it's a fake/stub. Searching prophecy for this call
-        $matches = array();
-        foreach ($prophecy->getMethodProphecies($methodName) as $methodProphecy) {
-            if (0 < $score = $methodProphecy->getArgumentsWildcard()->scoreArguments($arguments)) {
-                $matches[] = array($score, $methodProphecy);
-            }
-        }
-
-        // If fake/stub doesn't have method prophecy for this call - throw exception
-        if (!count($matches)) {
-            throw $this->createUnexpectedCallException($prophecy, $methodName, $arguments);
-        }
-
-        // Sort matches by their score value
-        @usort($matches, function ($match1, $match2) { return $match2[0] - $match1[0]; });
-
-        // If Highest rated method prophecy has a promise - execute it or return null instead
-        $returnValue = null;
-        $exception   = null;
-        if ($promise = $matches[0][1]->getPromise()) {
-            try {
-                $returnValue = $promise->execute($arguments, $prophecy, $matches[0][1]);
-            } catch (\Exception $e) {
-                $exception = $e;
-            }
-        }
-
-        $this->recordedCalls[] = new Call(
-            $methodName, $arguments, $returnValue, $exception, $file, $line
-        );
-
-        if (null !== $exception) {
-            throw $exception;
-        }
-
-        return $returnValue;
-    }
-
-    /**
-     * Searches for calls by method name & arguments wildcard.
-     *
-     * @param string            $methodName
-     * @param ArgumentsWildcard $wildcard
-     *
-     * @return Call[]
-     */
-    public function findCalls($methodName, ArgumentsWildcard $wildcard)
-    {
-        return array_values(
-            array_filter($this->recordedCalls, function (Call $call) use ($methodName, $wildcard) {
-                return $methodName === $call->getMethodName()
-                    && 0 < $wildcard->scoreArguments($call->getArguments())
-                ;
-            })
-        );
-    }
-
-    private function createUnexpectedCallException(ObjectProphecy $prophecy, $methodName,
-                                                   array $arguments)
-    {
-        $classname = get_class($prophecy->reveal());
-        $argstring = implode(', ', array_map(array($this->util, 'stringify'), $arguments));
-        $expected  = implode("\n", array_map(function (MethodProphecy $methodProphecy) {
-            return sprintf('  - %s(%s)',
-                $methodProphecy->getMethodName(),
-                $methodProphecy->getArgumentsWildcard()
-            );
-        }, call_user_func_array('array_merge', $prophecy->getMethodProphecies())));
-
-        return new UnexpectedCallException(
-            sprintf(
-                "Method call:\n".
-                "  - %s(%s)\n".
-                "on %s was not expected, expected calls were:\n%s",
-
-                $methodName, $argstring, $classname, $expected
-            ),
-            $prophecy, $methodName, $arguments
-        );
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Comparator;
-
-use SebastianBergmann\Comparator\Comparator;
-use SebastianBergmann\Comparator\ComparisonFailure;
-
-/**
- * Closure comparator.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-final class ClosureComparator extends Comparator
-{
-    public function accepts($expected, $actual)
-    {
-        return is_object($expected) && $expected instanceof \Closure
-            && is_object($actual) && $actual instanceof \Closure;
-    }
-
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        throw new ComparisonFailure(
-            $expected,
-            $actual,
-            // we don't need a diff
-            '',
-            '',
-            false,
-            'all closures are born different'
-        );
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Comparator;
-
-use SebastianBergmann\Comparator\Factory as BaseFactory;
-
-/**
- * Prophecy comparator factory.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-final class Factory extends BaseFactory
-{
-    /**
-     * @var Factory
-     */
-    private static $instance;
-
-    public function __construct()
-    {
-        parent::__construct();
-
-        $this->register(new ClosureComparator());
-        $this->register(new ProphecyComparator());
-    }
-
-    /**
-     * @return Factory
-     */
-    public static function getInstance()
-    {
-        if (self::$instance === null) {
-            self::$instance = new Factory;
-        }
-
-        return self::$instance;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Comparator;
-
-use Prophecy\Prophecy\ProphecyInterface;
-use SebastianBergmann\Comparator\ObjectComparator;
-
-class ProphecyComparator extends ObjectComparator
-{
-    public function accepts($expected, $actual)
-    {
-        return is_object($expected) && is_object($actual) && $actual instanceof ProphecyInterface;
-    }
-
-    public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false, array &$processed = array())
-    {
-        parent::assertEquals($expected, $actual->reveal(), $delta, $canonicalize, $ignoreCase, $processed);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use ReflectionClass;
-
-/**
- * Cached class doubler.
- * Prevents mirroring/creation of the same structure twice.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CachedDoubler extends Doubler
-{
-    private $classes = array();
-
-    /**
-     * {@inheritdoc}
-     */
-    public function registerClassPatch(ClassPatch\ClassPatchInterface $patch)
-    {
-        $this->classes[] = array();
-
-        parent::registerClassPatch($patch);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    protected function createDoubleClass(ReflectionClass $class = null, array $interfaces)
-    {
-        $classId = $this->generateClassId($class, $interfaces);
-        if (isset($this->classes[$classId])) {
-            return $this->classes[$classId];
-        }
-
-        return $this->classes[$classId] = parent::createDoubleClass($class, $interfaces);
-    }
-
-    /**
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    private function generateClassId(ReflectionClass $class = null, array $interfaces)
-    {
-        $parts = array();
-        if (null !== $class) {
-            $parts[] = $class->getName();
-        }
-        foreach ($interfaces as $interface) {
-            $parts[] = $interface->getName();
-        }
-        sort($parts);
-
-        return md5(implode('', $parts));
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Class patch interface.
- * Class patches extend doubles functionality or help
- * Prophecy to avoid some internal PHP bugs.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ClassPatchInterface
-{
-    /**
-     * Checks if patch supports specific class node.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node);
-
-    /**
-     * Applies patch to the specific class node.
-     *
-     * @param ClassNode $node
-     * @return void
-     */
-    public function apply(ClassNode $node);
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority();
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * Disable constructor.
- * Makes all constructor arguments optional.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class DisableConstructorPatch implements ClassPatchInterface
-{
-    /**
-     * Checks if class has `__construct` method.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Makes all class constructor arguments optional.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        if (!$node->hasMethod('__construct')) {
-            $node->addMethod(new MethodNode('__construct', ''));
-
-            return;
-        }
-
-        $constructor = $node->getMethod('__construct');
-        foreach ($constructor->getArguments() as $argument) {
-            $argument->setDefault(null);
-        }
-
-        $constructor->setCode(<<<PHP
-if (0 < func_num_args()) {
-    call_user_func_array(array('parent', '__construct'), func_get_args());
-}
-PHP
-        );
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 100;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Exception patch for HHVM to remove the stubs from special methods
- *
- * @author Christophe Coevoet <stof@notk.org>
- */
-class HhvmExceptionPatch implements ClassPatchInterface
-{
-    /**
-     * Supports exceptions on HHVM.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (!defined('HHVM_VERSION')) {
-            return false;
-        }
-
-        return 'Exception' === $node->getParentClass() || is_subclass_of($node->getParentClass(), 'Exception');
-    }
-
-    /**
-     * Removes special exception static methods from the doubled methods.
-     *
-     * @param ClassNode $node
-     *
-     * @return void
-     */
-    public function apply(ClassNode $node)
-    {
-        if ($node->hasMethod('setTraceOptions')) {
-            $node->getMethod('setTraceOptions')->useParentCode();
-        }
-        if ($node->hasMethod('getTraceOptions')) {
-            $node->getMethod('getTraceOptions')->useParentCode();
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return -50;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * Remove method functionality from the double which will clash with php keywords.
- *
- * @author Milan Magudia <milan@magudia.com>
- */
-class KeywordPatch implements ClassPatchInterface
-{
-    /**
-     * Support any class
-     *
-     * @param ClassNode $node
-     *
-     * @return boolean
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Remove methods that clash with php keywords
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $methodNames = array_keys($node->getMethods());
-        $methodsToRemove = array_intersect($methodNames, $this->getKeywords());
-        foreach ($methodsToRemove as $methodName) {
-            $node->removeMethod($methodName);
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority() {
-        return 49;
-    }
-
-    /**
-     * Returns array of php keywords.
-     *
-     * @return array
-     */
-    private function getKeywords() {
-
-        return array(
-            '__halt_compiler',
-            'abstract',
-            'and',
-            'array',
-            'as',
-            'break',
-            'callable',
-            'case',
-            'catch',
-            'class',
-            'clone',
-            'const',
-            'continue',
-            'declare',
-            'default',
-            'die',
-            'do',
-            'echo',
-            'else',
-            'elseif',
-            'empty',
-            'enddeclare',
-            'endfor',
-            'endforeach',
-            'endif',
-            'endswitch',
-            'endwhile',
-            'eval',
-            'exit',
-            'extends',
-            'final',
-            'finally',
-            'for',
-            'foreach',
-            'function',
-            'global',
-            'goto',
-            'if',
-            'implements',
-            'include',
-            'include_once',
-            'instanceof',
-            'insteadof',
-            'interface',
-            'isset',
-            'list',
-            'namespace',
-            'new',
-            'or',
-            'print',
-            'private',
-            'protected',
-            'public',
-            'require',
-            'require_once',
-            'return',
-            'static',
-            'switch',
-            'throw',
-            'trait',
-            'try',
-            'unset',
-            'use',
-            'var',
-            'while',
-            'xor',
-            'yield',
-        );
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-use Prophecy\PhpDocumentor\ClassAndInterfaceTagRetriever;
-use Prophecy\PhpDocumentor\MethodTagRetrieverInterface;
-
-/**
- * Discover Magical API using "@method" PHPDoc format.
- *
- * @author Thomas Tourlourat <thomas@tourlourat.com>
- * @author Kévin Dunglas <dunglas@gmail.com>
- * @author Théo FIDRY <theo.fidry@gmail.com>
- */
-class MagicCallPatch implements ClassPatchInterface
-{
-    private $tagRetriever;
-
-    public function __construct(MethodTagRetrieverInterface $tagRetriever = null)
-    {
-        $this->tagRetriever = null === $tagRetriever ? new ClassAndInterfaceTagRetriever() : $tagRetriever;
-    }
-
-    /**
-     * Support any class
-     *
-     * @param ClassNode $node
-     *
-     * @return boolean
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Discover Magical API
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $parentClass = $node->getParentClass();
-        $reflectionClass = new \ReflectionClass($parentClass);
-
-        $tagList = $this->tagRetriever->getTagList($reflectionClass);
-
-        foreach($tagList as $tag) {
-            $methodName = $tag->getMethodName();
-
-            if (empty($methodName)) {
-                continue;
-            }
-
-            if (!$reflectionClass->hasMethod($methodName)) {
-                $methodNode = new MethodNode($methodName);
-                $methodNode->setStatic($tag->isStatic());
-
-                $node->addMethod($methodNode);
-            }
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return integer Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-}
-
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-use Prophecy\Doubler\Generator\Node\ArgumentNode;
-
-/**
- * Add Prophecy functionality to the double.
- * This is a core class patch for Prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ProphecySubjectPatch implements ClassPatchInterface
-{
-    /**
-     * Always returns true.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return true;
-    }
-
-    /**
-     * Apply Prophecy functionality to class node.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $node->addInterface('Prophecy\Prophecy\ProphecySubjectInterface');
-        $node->addProperty('objectProphecy', 'private');
-
-        foreach ($node->getMethods() as $name => $method) {
-            if ('__construct' === strtolower($name)) {
-                continue;
-            }
-
-            $method->setCode(
-                'return $this->getProphecy()->makeProphecyMethodCall(__FUNCTION__, func_get_args());'
-            );
-        }
-
-        $prophecySetter = new MethodNode('setProphecy');
-        $prophecyArgument = new ArgumentNode('prophecy');
-        $prophecyArgument->setTypeHint('Prophecy\Prophecy\ProphecyInterface');
-        $prophecySetter->addArgument($prophecyArgument);
-        $prophecySetter->setCode('$this->objectProphecy = $prophecy;');
-
-        $prophecyGetter = new MethodNode('getProphecy');
-        $prophecyGetter->setCode('return $this->objectProphecy;');
-
-        if ($node->hasMethod('__call')) {
-            $__call = $node->getMethod('__call');
-        } else {
-            $__call = new MethodNode('__call');
-            $__call->addArgument(new ArgumentNode('name'));
-            $__call->addArgument(new ArgumentNode('arguments'));
-
-            $node->addMethod($__call);
-        }
-
-        $__call->setCode(<<<PHP
-throw new \Prophecy\Exception\Doubler\MethodNotFoundException(
-    sprintf('Method `%s::%s()` not found.', get_class(\$this), func_get_arg(0)),
-    \$this->getProphecy(), func_get_arg(0)
-);
-PHP
-        );
-
-        $node->addMethod($prophecySetter);
-        $node->addMethod($prophecyGetter);
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-/**
- * ReflectionClass::newInstance patch.
- * Makes first argument of newInstance optional, since it works but signature is misleading
- *
- * @author Florian Klein <florian.klein@free.fr>
- */
-class ReflectionClassNewInstancePatch implements ClassPatchInterface
-{
-    /**
-     * Supports ReflectionClass
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        return 'ReflectionClass' === $node->getParentClass();
-    }
-
-    /**
-     * Updates newInstance's first argument to make it optional
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        foreach ($node->getMethod('newInstance')->getArguments() as $argument) {
-            $argument->setDefault(null);
-        }
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher = earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * SplFileInfo patch.
- * Makes SplFileInfo and derivative classes usable with Prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class SplFileInfoPatch implements ClassPatchInterface
-{
-    /**
-     * Supports everything that extends SplFileInfo.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (null === $node->getParentClass()) {
-            return false;
-        }
-
-        return 'SplFileInfo' === $node->getParentClass()
-            || is_subclass_of($node->getParentClass(), 'SplFileInfo')
-        ;
-    }
-
-    /**
-     * Updated constructor code to call parent one with dummy file argument.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        if ($node->hasMethod('__construct')) {
-            $constructor = $node->getMethod('__construct');
-        } else {
-            $constructor = new MethodNode('__construct');
-            $node->addMethod($constructor);
-        }
-
-        if ($this->nodeIsDirectoryIterator($node)) {
-            $constructor->setCode('return parent::__construct("' . __DIR__ . '");');
-
-            return;
-        }
-
-        if ($this->nodeIsSplFileObject($node)) {
-            $constructor->setCode('return parent::__construct("' . __FILE__ .'");');
-
-            return;
-        }
-
-        $constructor->useParentCode();
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 50;
-    }
-
-    /**
-     * @param ClassNode $node
-     * @return boolean
-     */
-    private function nodeIsDirectoryIterator(ClassNode $node)
-    {
-        $parent = $node->getParentClass();
-
-        return 'DirectoryIterator' === $parent
-            || is_subclass_of($parent, 'DirectoryIterator');
-    }
-
-    /**
-     * @param ClassNode $node
-     * @return boolean
-     */
-    private function nodeIsSplFileObject(ClassNode $node)
-    {
-        $parent = $node->getParentClass();
-
-        return 'SplFileObject' === $parent
-            || is_subclass_of($parent, 'SplFileObject');
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\ClassPatch;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-use Prophecy\Doubler\Generator\Node\MethodNode;
-
-/**
- * Traversable interface patch.
- * Forces classes that implement interfaces, that extend Traversable to also implement Iterator.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class TraversablePatch implements ClassPatchInterface
-{
-    /**
-     * Supports nodetree, that implement Traversable, but not Iterator or IteratorAggregate.
-     *
-     * @param ClassNode $node
-     *
-     * @return bool
-     */
-    public function supports(ClassNode $node)
-    {
-        if (in_array('Iterator', $node->getInterfaces())) {
-            return false;
-        }
-        if (in_array('IteratorAggregate', $node->getInterfaces())) {
-            return false;
-        }
-
-        foreach ($node->getInterfaces() as $interface) {
-            if ('Traversable' !== $interface && !is_subclass_of($interface, 'Traversable')) {
-                continue;
-            }
-            if ('Iterator' === $interface || is_subclass_of($interface, 'Iterator')) {
-                continue;
-            }
-            if ('IteratorAggregate' === $interface || is_subclass_of($interface, 'IteratorAggregate')) {
-                continue;
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Forces class to implement Iterator interface.
-     *
-     * @param ClassNode $node
-     */
-    public function apply(ClassNode $node)
-    {
-        $node->addInterface('Iterator');
-
-        $node->addMethod(new MethodNode('current'));
-        $node->addMethod(new MethodNode('key'));
-        $node->addMethod(new MethodNode('next'));
-        $node->addMethod(new MethodNode('rewind'));
-        $node->addMethod(new MethodNode('valid'));
-    }
-
-    /**
-     * Returns patch priority, which determines when patch will be applied.
-     *
-     * @return int Priority number (higher - earlier)
-     */
-    public function getPriority()
-    {
-        return 100;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-/**
- * Core double interface.
- * All doubled classes will implement this one.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface DoubleInterface
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use Doctrine\Instantiator\Instantiator;
-use Prophecy\Doubler\ClassPatch\ClassPatchInterface;
-use Prophecy\Doubler\Generator\ClassMirror;
-use Prophecy\Doubler\Generator\ClassCreator;
-use Prophecy\Exception\InvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Cached class doubler.
- * Prevents mirroring/creation of the same structure twice.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Doubler
-{
-    private $mirror;
-    private $creator;
-    private $namer;
-
-    /**
-     * @var ClassPatchInterface[]
-     */
-    private $patches = array();
-
-    /**
-     * @var \Doctrine\Instantiator\Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * Initializes doubler.
-     *
-     * @param ClassMirror   $mirror
-     * @param ClassCreator  $creator
-     * @param NameGenerator $namer
-     */
-    public function __construct(ClassMirror $mirror = null, ClassCreator $creator = null,
-                                NameGenerator $namer = null)
-    {
-        $this->mirror  = $mirror  ?: new ClassMirror;
-        $this->creator = $creator ?: new ClassCreator;
-        $this->namer   = $namer   ?: new NameGenerator;
-    }
-
-    /**
-     * Returns list of registered class patches.
-     *
-     * @return ClassPatchInterface[]
-     */
-    public function getClassPatches()
-    {
-        return $this->patches;
-    }
-
-    /**
-     * Registers new class patch.
-     *
-     * @param ClassPatchInterface $patch
-     */
-    public function registerClassPatch(ClassPatchInterface $patch)
-    {
-        $this->patches[] = $patch;
-
-        @usort($this->patches, function (ClassPatchInterface $patch1, ClassPatchInterface $patch2) {
-            return $patch2->getPriority() - $patch1->getPriority();
-        });
-    }
-
-    /**
-     * Creates double from specific class or/and list of interfaces.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces Array of ReflectionClass instances
-     * @param array             $args       Constructor arguments
-     *
-     * @return DoubleInterface
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function double(ReflectionClass $class = null, array $interfaces, array $args = null)
-    {
-        foreach ($interfaces as $interface) {
-            if (!$interface instanceof ReflectionClass) {
-                throw new InvalidArgumentException(sprintf(
-                    "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n".
-                    "a second argument to `Doubler::double(...)`, but got %s.",
-                    is_object($interface) ? get_class($interface).' class' : gettype($interface)
-                ));
-            }
-        }
-
-        $classname  = $this->createDoubleClass($class, $interfaces);
-        $reflection = new ReflectionClass($classname);
-
-        if (null !== $args) {
-            return $reflection->newInstanceArgs($args);
-        }
-        if ((null === $constructor = $reflection->getConstructor())
-            || ($constructor->isPublic() && !$constructor->isFinal())) {
-            return $reflection->newInstance();
-        }
-
-        if (!$this->instantiator) {
-            $this->instantiator = new Instantiator();
-        }
-
-        return $this->instantiator->instantiate($classname);
-    }
-
-    /**
-     * Creates double class and returns its FQN.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    protected function createDoubleClass(ReflectionClass $class = null, array $interfaces)
-    {
-        $name = $this->namer->name($class, $interfaces);
-        $node = $this->mirror->reflect($class, $interfaces);
-
-        foreach ($this->patches as $patch) {
-            if ($patch->supports($node)) {
-                $patch->apply($node);
-            }
-        }
-
-        $this->creator->create($name, $node);
-
-        return $name;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-/**
- * Class code creator.
- * Generates PHP code for specific class node tree.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassCodeGenerator
-{
-    /**
-     * Generates PHP code for class node.
-     *
-     * @param string         $classname
-     * @param Node\ClassNode $class
-     *
-     * @return string
-     */
-    public function generate($classname, Node\ClassNode $class)
-    {
-        $parts     = explode('\\', $classname);
-        $classname = array_pop($parts);
-        $namespace = implode('\\', $parts);
-
-        $code = sprintf("class %s extends \%s implements %s {\n",
-            $classname, $class->getParentClass(), implode(', ',
-                array_map(function ($interface) {return '\\'.$interface;}, $class->getInterfaces())
-            )
-        );
-
-        foreach ($class->getProperties() as $name => $visibility) {
-            $code .= sprintf("%s \$%s;\n", $visibility, $name);
-        }
-        $code .= "\n";
-
-        foreach ($class->getMethods() as $method) {
-            $code .= $this->generateMethod($method)."\n";
-        }
-        $code .= "\n}";
-
-        return sprintf("namespace %s {\n%s\n}", $namespace, $code);
-    }
-
-    private function generateMethod(Node\MethodNode $method)
-    {
-        $php = sprintf("%s %s function %s%s(%s)%s {\n",
-            $method->getVisibility(),
-            $method->isStatic() ? 'static' : '',
-            $method->returnsReference() ? '&':'',
-            $method->getName(),
-            implode(', ', $this->generateArguments($method->getArguments())),
-            version_compare(PHP_VERSION, '7.0', '>=') && $method->hasReturnType()
-                ? sprintf(': %s', $method->getReturnType())
-                : ''
-        );
-        $php .= $method->getCode()."\n";
-
-        return $php.'}';
-    }
-
-    private function generateArguments(array $arguments)
-    {
-        return array_map(function (Node\ArgumentNode $argument) {
-            $php = '';
-
-            if ($hint = $argument->getTypeHint()) {
-                switch ($hint) {
-                    case 'array':
-                    case 'callable':
-                        $php .= $hint;
-                        break;
-
-                    case 'string':
-                    case 'int':
-                    case 'float':
-                    case 'bool':
-                        if (version_compare(PHP_VERSION, '7.0', '>=')) {
-                            $php .= $hint;
-                            break;
-                        }
-                        // Fall-through to default case for PHP 5.x
-
-                    default:
-                        $php .= '\\'.$hint;
-                }
-            }
-
-            $php .= ' '.($argument->isPassedByReference() ? '&' : '');
-
-            $php .= $argument->isVariadic() ? '...' : '';
-
-            $php .= '$'.$argument->getName();
-
-            if ($argument->isOptional() && !$argument->isVariadic()) {
-                $php .= ' = '.var_export($argument->getDefault(), true);
-            }
-
-            return $php;
-        }, $arguments);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-use Prophecy\Exception\Doubler\ClassCreatorException;
-
-/**
- * Class creator.
- * Creates specific class in current environment.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassCreator
-{
-    private $generator;
-
-    /**
-     * Initializes creator.
-     *
-     * @param ClassCodeGenerator $generator
-     */
-    public function __construct(ClassCodeGenerator $generator = null)
-    {
-        $this->generator = $generator ?: new ClassCodeGenerator;
-    }
-
-    /**
-     * Creates class.
-     *
-     * @param string         $classname
-     * @param Node\ClassNode $class
-     *
-     * @return mixed
-     *
-     * @throws \Prophecy\Exception\Doubler\ClassCreatorException
-     */
-    public function create($classname, Node\ClassNode $class)
-    {
-        $code = $this->generator->generate($classname, $class);
-        $return = eval($code);
-
-        if (!class_exists($classname, false)) {
-            if (count($class->getInterfaces())) {
-                throw new ClassCreatorException(sprintf(
-                    'Could not double `%s` and implement interfaces: [%s].',
-                    $class->getParentClass(), implode(', ', $class->getInterfaces())
-                ), $class);
-            }
-
-            throw new ClassCreatorException(
-                sprintf('Could not double `%s`.', $class->getParentClass()),
-                $class
-            );
-        }
-
-        return $return;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Exception\Doubler\ClassMirrorException;
-use ReflectionClass;
-use ReflectionMethod;
-use ReflectionParameter;
-
-/**
- * Class mirror.
- * Core doubler class. Mirrors specific class and/or interfaces into class node tree.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassMirror
-{
-    private static $reflectableMethods = array(
-        '__construct',
-        '__destruct',
-        '__sleep',
-        '__wakeup',
-        '__toString',
-        '__call',
-        '__invoke'
-    );
-
-    /**
-     * Reflects provided arguments into class node.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return Node\ClassNode
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function reflect(ReflectionClass $class = null, array $interfaces)
-    {
-        $node = new Node\ClassNode;
-
-        if (null !== $class) {
-            if (true === $class->isInterface()) {
-                throw new InvalidArgumentException(sprintf(
-                    "Could not reflect %s as a class, because it\n".
-                    "is interface - use the second argument instead.",
-                    $class->getName()
-                ));
-            }
-
-            $this->reflectClassToNode($class, $node);
-        }
-
-        foreach ($interfaces as $interface) {
-            if (!$interface instanceof ReflectionClass) {
-                throw new InvalidArgumentException(sprintf(
-                    "[ReflectionClass \$interface1 [, ReflectionClass \$interface2]] array expected as\n".
-                    "a second argument to `ClassMirror::reflect(...)`, but got %s.",
-                    is_object($interface) ? get_class($interface).' class' : gettype($interface)
-                ));
-            }
-            if (false === $interface->isInterface()) {
-                throw new InvalidArgumentException(sprintf(
-                    "Could not reflect %s as an interface, because it\n".
-                    "is class - use the first argument instead.",
-                    $interface->getName()
-                ));
-            }
-
-            $this->reflectInterfaceToNode($interface, $node);
-        }
-
-        $node->addInterface('Prophecy\Doubler\Generator\ReflectionInterface');
-
-        return $node;
-    }
-
-    private function reflectClassToNode(ReflectionClass $class, Node\ClassNode $node)
-    {
-        if (true === $class->isFinal()) {
-            throw new ClassMirrorException(sprintf(
-                'Could not reflect class %s as it is marked final.', $class->getName()
-            ), $class);
-        }
-
-        $node->setParentClass($class->getName());
-
-        foreach ($class->getMethods(ReflectionMethod::IS_ABSTRACT) as $method) {
-            if (false === $method->isProtected()) {
-                continue;
-            }
-
-            $this->reflectMethodToNode($method, $node);
-        }
-
-        foreach ($class->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
-            if (0 === strpos($method->getName(), '_')
-                && !in_array($method->getName(), self::$reflectableMethods)) {
-                continue;
-            }
-
-            if (true === $method->isFinal()) {
-                $node->addUnextendableMethod($method->getName());
-                continue;
-            }
-
-            $this->reflectMethodToNode($method, $node);
-        }
-    }
-
-    private function reflectInterfaceToNode(ReflectionClass $interface, Node\ClassNode $node)
-    {
-        $node->addInterface($interface->getName());
-
-        foreach ($interface->getMethods() as $method) {
-            $this->reflectMethodToNode($method, $node);
-        }
-    }
-
-    private function reflectMethodToNode(ReflectionMethod $method, Node\ClassNode $classNode)
-    {
-        $node = new Node\MethodNode($method->getName());
-
-        if (true === $method->isProtected()) {
-            $node->setVisibility('protected');
-        }
-
-        if (true === $method->isStatic()) {
-            $node->setStatic();
-        }
-
-        if (true === $method->returnsReference()) {
-            $node->setReturnsReference();
-        }
-
-        if (version_compare(PHP_VERSION, '7.0', '>=') && true === $method->hasReturnType()) {
-            $returnType = (string) $method->getReturnType();
-            $returnTypeLower = strtolower($returnType);
-
-            if ('self' === $returnTypeLower) {
-                $returnType = $method->getDeclaringClass()->getName();
-            }
-            if ('parent' === $returnTypeLower) {
-                $returnType = $method->getDeclaringClass()->getParentClass()->getName();
-            }
-
-            $node->setReturnType($returnType);
-        }
-
-        if (is_array($params = $method->getParameters()) && count($params)) {
-            foreach ($params as $param) {
-                $this->reflectArgumentToNode($param, $node);
-            }
-        }
-
-        $classNode->addMethod($node);
-    }
-
-    private function reflectArgumentToNode(ReflectionParameter $parameter, Node\MethodNode $methodNode)
-    {
-        $name = $parameter->getName() == '...' ? '__dot_dot_dot__' : $parameter->getName();
-        $node = new Node\ArgumentNode($name);
-
-        $node->setTypeHint($this->getTypeHint($parameter));
-
-        if ($this->isVariadic($parameter)) {
-            $node->setAsVariadic();
-        }
-
-        if ($this->hasDefaultValue($parameter)) {
-            $node->setDefault($this->getDefaultValue($parameter));
-        }
-
-        if ($parameter->isPassedByReference()) {
-            $node->setAsPassedByReference();
-        }
-
-        $methodNode->addArgument($node);
-    }
-
-    private function hasDefaultValue(ReflectionParameter $parameter)
-    {
-        if ($this->isVariadic($parameter)) {
-            return false;
-        }
-
-        if ($parameter->isDefaultValueAvailable()) {
-            return true;
-        }
-
-        return $parameter->isOptional() || $this->isNullable($parameter);
-    }
-
-    private function getDefaultValue(ReflectionParameter $parameter)
-    {
-        if (!$parameter->isDefaultValueAvailable()) {
-            return null;
-        }
-
-        return $parameter->getDefaultValue();
-    }
-
-    private function getTypeHint(ReflectionParameter $parameter)
-    {
-        if (null !== $className = $this->getParameterClassName($parameter)) {
-            return $className;
-        }
-
-        if (true === $parameter->isArray()) {
-            return 'array';
-        }
-
-        if (version_compare(PHP_VERSION, '5.4', '>=') && true === $parameter->isCallable()) {
-            return 'callable';
-        }
-
-        if (version_compare(PHP_VERSION, '7.0', '>=') && true === $parameter->hasType()) {
-            return (string) $parameter->getType();
-        }
-
-        return null;
-    }
-
-    private function isVariadic(ReflectionParameter $parameter)
-    {
-        return PHP_VERSION_ID >= 50600 && $parameter->isVariadic();
-    }
-
-    private function isNullable(ReflectionParameter $parameter)
-    {
-        return $parameter->allowsNull() && null !== $this->getTypeHint($parameter);
-    }
-
-    private function getParameterClassName(ReflectionParameter $parameter)
-    {
-        try {
-            return $parameter->getClass() ? $parameter->getClass()->getName() : null;
-        } catch (\ReflectionException $e) {
-            preg_match('/\[\s\<\w+?>\s([\w,\\\]+)/s', $parameter, $matches);
-
-            return isset($matches[1]) ? $matches[1] : null;
-        }
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-/**
- * Argument node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ArgumentNode
-{
-    private $name;
-    private $typeHint;
-    private $default;
-    private $optional    = false;
-    private $byReference = false;
-    private $isVariadic  = false;
-
-    /**
-     * @param string $name
-     */
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getTypeHint()
-    {
-        return $this->typeHint;
-    }
-
-    public function setTypeHint($typeHint = null)
-    {
-        $this->typeHint = $typeHint;
-    }
-
-    public function hasDefault()
-    {
-        return $this->isOptional() && !$this->isVariadic();
-    }
-
-    public function getDefault()
-    {
-        return $this->default;
-    }
-
-    public function setDefault($default = null)
-    {
-        $this->optional = true;
-        $this->default  = $default;
-    }
-
-    public function isOptional()
-    {
-        return $this->optional;
-    }
-
-    public function setAsPassedByReference($byReference = true)
-    {
-        $this->byReference = $byReference;
-    }
-
-    public function isPassedByReference()
-    {
-        return $this->byReference;
-    }
-
-    public function setAsVariadic($isVariadic = true)
-    {
-        $this->isVariadic = $isVariadic;
-    }
-
-    public function isVariadic()
-    {
-        return $this->isVariadic;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-use Prophecy\Exception\Doubler\MethodNotExtendableException;
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Class node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ClassNode
-{
-    private $parentClass = 'stdClass';
-    private $interfaces  = array();
-    private $properties  = array();
-    private $unextendableMethods = array();
-
-    /**
-     * @var MethodNode[]
-     */
-    private $methods     = array();
-
-    public function getParentClass()
-    {
-        return $this->parentClass;
-    }
-
-    /**
-     * @param string $class
-     */
-    public function setParentClass($class)
-    {
-        $this->parentClass = $class ?: 'stdClass';
-    }
-
-    /**
-     * @return string[]
-     */
-    public function getInterfaces()
-    {
-        return $this->interfaces;
-    }
-
-    /**
-     * @param string $interface
-     */
-    public function addInterface($interface)
-    {
-        if ($this->hasInterface($interface)) {
-            return;
-        }
-
-        array_unshift($this->interfaces, $interface);
-    }
-
-    /**
-     * @param string $interface
-     *
-     * @return bool
-     */
-    public function hasInterface($interface)
-    {
-        return in_array($interface, $this->interfaces);
-    }
-
-    public function getProperties()
-    {
-        return $this->properties;
-    }
-
-    public function addProperty($name, $visibility = 'public')
-    {
-        $visibility = strtolower($visibility);
-
-        if (!in_array($visibility, array('public', 'private', 'protected'))) {
-            throw new InvalidArgumentException(sprintf(
-                '`%s` property visibility is not supported.', $visibility
-            ));
-        }
-
-        $this->properties[$name] = $visibility;
-    }
-
-    /**
-     * @return MethodNode[]
-     */
-    public function getMethods()
-    {
-        return $this->methods;
-    }
-
-    public function addMethod(MethodNode $method)
-    {
-        if (!$this->isExtendable($method->getName())){
-            $message = sprintf(
-                'Method `%s` is not extendable, so can not be added.', $method->getName()
-            );
-            throw new MethodNotExtendableException($message, $this->getParentClass(), $method->getName());
-        }
-        $this->methods[$method->getName()] = $method;
-    }
-
-    public function removeMethod($name)
-    {
-        unset($this->methods[$name]);
-    }
-
-    /**
-     * @param string $name
-     *
-     * @return MethodNode|null
-     */
-    public function getMethod($name)
-    {
-        return $this->hasMethod($name) ? $this->methods[$name] : null;
-    }
-
-    /**
-     * @param string $name
-     *
-     * @return bool
-     */
-    public function hasMethod($name)
-    {
-        return isset($this->methods[$name]);
-    }
-
-    /**
-     * @return string[]
-     */
-    public function getUnextendableMethods()
-    {
-        return $this->unextendableMethods;
-    }
-
-    /**
-     * @param string $unextendableMethod
-     */
-    public function addUnextendableMethod($unextendableMethod)
-    {
-        if (!$this->isExtendable($unextendableMethod)){
-            return;
-        }
-        $this->unextendableMethods[] = $unextendableMethod;
-    }
-
-    /**
-     * @param string $method
-     * @return bool
-     */
-    public function isExtendable($method)
-    {
-        return !in_array($method, $this->unextendableMethods);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator\Node;
-
-use Prophecy\Exception\InvalidArgumentException;
-
-/**
- * Method node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class MethodNode
-{
-    private $name;
-    private $code;
-    private $visibility = 'public';
-    private $static = false;
-    private $returnsReference = false;
-    private $returnType;
-
-    /**
-     * @var ArgumentNode[]
-     */
-    private $arguments = array();
-
-    /**
-     * @param string $name
-     * @param string $code
-     */
-    public function __construct($name, $code = null)
-    {
-        $this->name = $name;
-        $this->code = $code;
-    }
-
-    public function getVisibility()
-    {
-        return $this->visibility;
-    }
-
-    /**
-     * @param string $visibility
-     */
-    public function setVisibility($visibility)
-    {
-        $visibility = strtolower($visibility);
-
-        if (!in_array($visibility, array('public', 'private', 'protected'))) {
-            throw new InvalidArgumentException(sprintf(
-                '`%s` method visibility is not supported.', $visibility
-            ));
-        }
-
-        $this->visibility = $visibility;
-    }
-
-    public function isStatic()
-    {
-        return $this->static;
-    }
-
-    public function setStatic($static = true)
-    {
-        $this->static = (bool) $static;
-    }
-
-    public function returnsReference()
-    {
-        return $this->returnsReference;
-    }
-
-    public function setReturnsReference()
-    {
-        $this->returnsReference = true;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function addArgument(ArgumentNode $argument)
-    {
-        $this->arguments[] = $argument;
-    }
-
-    /**
-     * @return ArgumentNode[]
-     */
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function hasReturnType()
-    {
-        return null !== $this->returnType;
-    }
-
-    /**
-     * @param string $type
-     */
-    public function setReturnType($type = null)
-    {
-        switch ($type) {
-            case '':
-                $this->returnType = null;
-                break;
-
-            case 'string';
-            case 'float':
-            case 'int':
-            case 'bool':
-            case 'array':
-            case 'callable':
-                $this->returnType = $type;
-                break;
-
-            case 'double':
-            case 'real':
-                $this->returnType = 'float';
-                break;
-
-            case 'boolean':
-                $this->returnType = 'bool';
-                break;
-
-            case 'integer':
-                $this->returnType = 'int';
-                break;
-
-            default:
-                $this->returnType = '\\' . ltrim($type, '\\');
-        }
-    }
-
-    public function getReturnType()
-    {
-        return $this->returnType;
-    }
-
-    /**
-     * @param string $code
-     */
-    public function setCode($code)
-    {
-        $this->code = $code;
-    }
-
-    public function getCode()
-    {
-        if ($this->returnsReference)
-        {
-            return "throw new \Prophecy\Exception\Doubler\ReturnByReferenceException('Returning by reference not supported', get_class(\$this), '{$this->name}');";
-        }
-
-        return (string) $this->code;
-    }
-
-    public function useParentCode()
-    {
-        $this->code = sprintf(
-            'return parent::%s(%s);', $this->getName(), implode(', ',
-                array_map(array($this, 'generateArgument'), $this->arguments)
-            )
-        );
-    }
-
-    private function generateArgument(ArgumentNode $arg)
-    {
-        $argument = '$'.$arg->getName();
-
-        if ($arg->isVariadic()) {
-            $argument = '...'.$argument;
-        }
-
-        return $argument;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler\Generator;
-
-/**
- * Reflection interface.
- * All reflected classes implement this interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ReflectionInterface
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use Prophecy\Exception\Doubler\DoubleException;
-use Prophecy\Exception\Doubler\ClassNotFoundException;
-use Prophecy\Exception\Doubler\InterfaceNotFoundException;
-use ReflectionClass;
-
-/**
- * Lazy double.
- * Gives simple interface to describe double before creating it.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class LazyDouble
-{
-    private $doubler;
-    private $class;
-    private $interfaces = array();
-    private $arguments  = null;
-    private $double;
-
-    /**
-     * Initializes lazy double.
-     *
-     * @param Doubler $doubler
-     */
-    public function __construct(Doubler $doubler)
-    {
-        $this->doubler = $doubler;
-    }
-
-    /**
-     * Tells doubler to use specific class as parent one for double.
-     *
-     * @param string|ReflectionClass $class
-     *
-     * @throws \Prophecy\Exception\Doubler\ClassNotFoundException
-     * @throws \Prophecy\Exception\Doubler\DoubleException
-     */
-    public function setParentClass($class)
-    {
-        if (null !== $this->double) {
-            throw new DoubleException('Can not extend class with already instantiated double.');
-        }
-
-        if (!$class instanceof ReflectionClass) {
-            if (!class_exists($class)) {
-                throw new ClassNotFoundException(sprintf('Class %s not found.', $class), $class);
-            }
-
-            $class = new ReflectionClass($class);
-        }
-
-        $this->class = $class;
-    }
-
-    /**
-     * Tells doubler to implement specific interface with double.
-     *
-     * @param string|ReflectionClass $interface
-     *
-     * @throws \Prophecy\Exception\Doubler\InterfaceNotFoundException
-     * @throws \Prophecy\Exception\Doubler\DoubleException
-     */
-    public function addInterface($interface)
-    {
-        if (null !== $this->double) {
-            throw new DoubleException(
-                'Can not implement interface with already instantiated double.'
-            );
-        }
-
-        if (!$interface instanceof ReflectionClass) {
-            if (!interface_exists($interface)) {
-                throw new InterfaceNotFoundException(
-                    sprintf('Interface %s not found.', $interface),
-                    $interface
-                );
-            }
-
-            $interface = new ReflectionClass($interface);
-        }
-
-        $this->interfaces[] = $interface;
-    }
-
-    /**
-     * Sets constructor arguments.
-     *
-     * @param array $arguments
-     */
-    public function setArguments(array $arguments = null)
-    {
-        $this->arguments = $arguments;
-    }
-
-    /**
-     * Creates double instance or returns already created one.
-     *
-     * @return DoubleInterface
-     */
-    public function getInstance()
-    {
-        if (null === $this->double) {
-            if (null !== $this->arguments) {
-                return $this->double = $this->doubler->double(
-                    $this->class, $this->interfaces, $this->arguments
-                );
-            }
-
-            $this->double = $this->doubler->double($this->class, $this->interfaces);
-        }
-
-        return $this->double;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Doubler;
-
-use ReflectionClass;
-
-/**
- * Name generator.
- * Generates classname for double.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NameGenerator
-{
-    private static $counter = 1;
-
-    /**
-     * Generates name.
-     *
-     * @param ReflectionClass   $class
-     * @param ReflectionClass[] $interfaces
-     *
-     * @return string
-     */
-    public function name(ReflectionClass $class = null, array $interfaces)
-    {
-        $parts = array();
-
-        if (null !== $class) {
-            $parts[] = $class->getName();
-        } else {
-            foreach ($interfaces as $interface) {
-                $parts[] = $interface->getShortName();
-            }
-        }
-
-        if (!count($parts)) {
-            $parts[] = 'stdClass';
-        }
-
-        return sprintf('Double\%s\P%d', implode('\\', $parts), self::$counter++);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Call;
-
-use Prophecy\Exception\Prophecy\ObjectProphecyException;
-use Prophecy\Prophecy\ObjectProphecy;
-
-class UnexpectedCallException extends ObjectProphecyException
-{
-    private $methodName;
-    private $arguments;
-
-    public function __construct($message, ObjectProphecy $objectProphecy,
-                                $methodName, array $arguments)
-    {
-        parent::__construct($message, $objectProphecy);
-
-        $this->methodName = $methodName;
-        $this->arguments = $arguments;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use Prophecy\Doubler\Generator\Node\ClassNode;
-
-class ClassCreatorException extends \RuntimeException implements DoublerException
-{
-    private $node;
-
-    public function __construct($message, ClassNode $node)
-    {
-        parent::__construct($message);
-
-        $this->node = $node;
-    }
-
-    public function getClassNode()
-    {
-        return $this->node;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use ReflectionClass;
-
-class ClassMirrorException extends \RuntimeException implements DoublerException
-{
-    private $class;
-
-    public function __construct($message, ReflectionClass $class)
-    {
-        parent::__construct($message);
-
-        $this->class = $class;
-    }
-
-    public function getReflectedClass()
-    {
-        return $this->class;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class ClassNotFoundException extends DoubleException
-{
-    private $classname;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     */
-    public function __construct($message, $classname)
-    {
-        parent::__construct($message);
-
-        $this->classname = $classname;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use RuntimeException;
-
-class DoubleException extends RuntimeException implements DoublerException
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-use Prophecy\Exception\Exception;
-
-interface DoublerException extends Exception
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class InterfaceNotFoundException extends ClassNotFoundException
-{
-    public function getInterfaceName()
-    {
-        return $this->getClassname();
-    }
-}
-<?php
-
-    namespace Prophecy\Exception\Doubler;
-
-    class MethodNotExtendableException extends DoubleException
-    {
-        private $methodName;
-
-        private $className;
-
-        /**
-         * @param string $message
-         * @param string $className
-         * @param string $methodName
-         */
-        public function __construct($message, $className, $methodName)
-        {
-            parent::__construct($message);
-
-            $this->methodName = $methodName;
-            $this->className = $className;
-        }
-
-
-        /**
-         * @return string
-         */
-        public function getMethodName()
-        {
-            return $this->methodName;
-        }
-
-        /**
-         * @return string
-         */
-        public function getClassName()
-        {
-            return $this->className;
-        }
-
-    }
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class MethodNotFoundException extends DoubleException
-{
-    /**
-     * @var string
-     */
-    private $classname;
-
-    /**
-     * @var string
-     */
-    private $methodName;
-
-    /**
-     * @var array
-     */
-    private $arguments;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     * @param string $methodName
-     * @param null|Argument\ArgumentsWildcard|array $arguments
-     */
-    public function __construct($message, $classname, $methodName, $arguments = null)
-    {
-        parent::__construct($message);
-
-        $this->classname  = $classname;
-        $this->methodName = $methodName;
-        $this->arguments = $arguments;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Doubler;
-
-class ReturnByReferenceException extends DoubleException
-{
-    private $classname;
-    private $methodName;
-
-    /**
-     * @param string $message
-     * @param string $classname
-     * @param string $methodName
-     */
-    public function __construct($message, $classname, $methodName)
-    {
-        parent::__construct($message);
-
-        $this->classname  = $classname;
-        $this->methodName = $methodName;
-    }
-
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception;
-
-/**
- * Core Prophecy exception interface.
- * All Prophecy exceptions implement it.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface Exception
-{
-    /**
-     * @return string
-     */
-    public function getMessage();
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception;
-
-class InvalidArgumentException extends \InvalidArgumentException implements Exception
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\ObjectProphecy;
-
-class AggregateException extends \RuntimeException implements PredictionException
-{
-    private $exceptions = array();
-    private $objectProphecy;
-
-    public function append(PredictionException $exception)
-    {
-        $message = $exception->getMessage();
-        $message = '  '.strtr($message, array("\n" => "\n  "))."\n";
-
-        $this->message      = rtrim($this->message.$message);
-        $this->exceptions[] = $exception;
-    }
-
-    /**
-     * @return PredictionException[]
-     */
-    public function getExceptions()
-    {
-        return $this->exceptions;
-    }
-
-    public function setObjectProphecy(ObjectProphecy $objectProphecy)
-    {
-        $this->objectProphecy = $objectProphecy;
-    }
-
-    /**
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use RuntimeException;
-
-/**
- * Basic failed prediction exception.
- * Use it for custom prediction failures.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class FailedPredictionException extends RuntimeException implements PredictionException
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-class NoCallsException extends MethodProphecyException implements PredictionException
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Exception\Exception;
-
-interface PredictionException extends Exception
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\MethodProphecy;
-
-class UnexpectedCallsCountException extends UnexpectedCallsException
-{
-    private $expectedCount;
-
-    public function __construct($message, MethodProphecy $methodProphecy, $count, array $calls)
-    {
-        parent::__construct($message, $methodProphecy, $calls);
-
-        $this->expectedCount = intval($count);
-    }
-
-    public function getExpectedCount()
-    {
-        return $this->expectedCount;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prediction;
-
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-class UnexpectedCallsException extends MethodProphecyException implements PredictionException
-{
-    private $calls = array();
-
-    public function __construct($message, MethodProphecy $methodProphecy, array $calls)
-    {
-        parent::__construct($message, $methodProphecy);
-
-        $this->calls = $calls;
-    }
-
-    public function getCalls()
-    {
-        return $this->calls;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Prophecy\MethodProphecy;
-
-class MethodProphecyException extends ObjectProphecyException
-{
-    private $methodProphecy;
-
-    public function __construct($message, MethodProphecy $methodProphecy)
-    {
-        parent::__construct($message, $methodProphecy->getObjectProphecy());
-
-        $this->methodProphecy = $methodProphecy;
-    }
-
-    /**
-     * @return MethodProphecy
-     */
-    public function getMethodProphecy()
-    {
-        return $this->methodProphecy;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Prophecy\ObjectProphecy;
-
-class ObjectProphecyException extends \RuntimeException implements ProphecyException
-{
-    private $objectProphecy;
-
-    public function __construct($message, ObjectProphecy $objectProphecy)
-    {
-        parent::__construct($message);
-
-        $this->objectProphecy = $objectProphecy;
-    }
-
-    /**
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Exception\Prophecy;
-
-use Prophecy\Exception\Exception;
-
-interface ProphecyException extends Exception
-{
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\PhpDocumentor;
-
-use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag;
-use phpDocumentor\Reflection\DocBlock\Tags\Method;
-
-/**
- * @author Théo FIDRY <theo.fidry@gmail.com>
- *
- * @internal
- */
-final class ClassAndInterfaceTagRetriever implements MethodTagRetrieverInterface
-{
-    private $classRetriever;
-
-    public function __construct(MethodTagRetrieverInterface $classRetriever = null)
-    {
-        if (null !== $classRetriever) {
-            $this->classRetriever = $classRetriever;
-
-            return;
-        }
-
-        $this->classRetriever = class_exists('phpDocumentor\Reflection\DocBlockFactory') && class_exists('phpDocumentor\Reflection\Types\ContextFactory')
-            ? new ClassTagRetriever()
-            : new LegacyClassTagRetriever()
-        ;
-    }
-
-    /**
-     * @param \ReflectionClass $reflectionClass
-     *
-     * @return LegacyMethodTag[]|Method[]
-     */
-    public function getTagList(\ReflectionClass $reflectionClass)
-    {
-        return array_merge(
-            $this->classRetriever->getTagList($reflectionClass),
-            $this->getInterfacesTagList($reflectionClass)
-        );
-    }
-
-    /**
-     * @param \ReflectionClass $reflectionClass
-     *
-     * @return LegacyMethodTag[]|Method[]
-     */
-    private function getInterfacesTagList(\ReflectionClass $reflectionClass)
-    {
-        $interfaces = $reflectionClass->getInterfaces();
-        $tagList = array();
-
-        foreach($interfaces as $interface) {
-            $tagList = array_merge($tagList, $this->classRetriever->getTagList($interface));
-        }
-
-        return $tagList;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\PhpDocumentor;
-
-use phpDocumentor\Reflection\DocBlock\Tags\Method;
-use phpDocumentor\Reflection\DocBlockFactory;
-use phpDocumentor\Reflection\Types\ContextFactory;
-
-/**
- * @author Théo FIDRY <theo.fidry@gmail.com>
- *
- * @internal
- */
-final class ClassTagRetriever implements MethodTagRetrieverInterface
-{
-    private $docBlockFactory;
-    private $contextFactory;
-
-    public function __construct()
-    {
-        $this->docBlockFactory = DocBlockFactory::createInstance();
-        $this->contextFactory = new ContextFactory();
-    }
-
-    /**
-     * @param \ReflectionClass $reflectionClass
-     *
-     * @return Method[]
-     */
-    public function getTagList(\ReflectionClass $reflectionClass)
-    {
-        try {
-            $phpdoc = $this->docBlockFactory->create(
-                $reflectionClass,
-                $this->contextFactory->createFromReflector($reflectionClass)
-            );
-
-            return $phpdoc->getTagsByName('method');
-        } catch (\InvalidArgumentException $e) {
-            return array();
-        }
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\PhpDocumentor;
-
-use phpDocumentor\Reflection\DocBlock;
-use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag;
-
-/**
- * @author Théo FIDRY <theo.fidry@gmail.com>
- *
- * @internal
- */
-final class LegacyClassTagRetriever implements MethodTagRetrieverInterface
-{
-    /**
-     * @param \ReflectionClass $reflectionClass
-     *
-     * @return LegacyMethodTag[]
-     */
-    public function getTagList(\ReflectionClass $reflectionClass)
-    {
-        $phpdoc = new DocBlock($reflectionClass->getDocComment());
-
-        return $phpdoc->getTagsByName('method');
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\PhpDocumentor;
-
-use phpDocumentor\Reflection\DocBlock\Tag\MethodTag as LegacyMethodTag;
-use phpDocumentor\Reflection\DocBlock\Tags\Method;
-
-/**
- * @author Théo FIDRY <theo.fidry@gmail.com>
- *
- * @internal
- */
-interface MethodTagRetrieverInterface
-{
-    /**
-     * @param \ReflectionClass $reflectionClass
-     *
-     * @return LegacyMethodTag[]|Method[]
-     */
-    public function getTagList(\ReflectionClass $reflectionClass);
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Argument\Token\AnyValuesToken;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\NoCallsException;
-
-/**
- * Call prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallPrediction implements PredictionInterface
-{
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there was at least one call.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\NoCallsException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (count($calls)) {
-            return;
-        }
-
-        $methodCalls = $object->findProphecyMethodCalls(
-            $method->getMethodName(),
-            new ArgumentsWildcard(array(new AnyValuesToken))
-        );
-
-        if (count($methodCalls)) {
-            throw new NoCallsException(sprintf(
-                "No calls have been made that match:\n".
-                "  %s->%s(%s)\n".
-                "but expected at least one.\n".
-                "Recorded `%s(...)` calls:\n%s",
-
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                $method->getMethodName(),
-                $this->util->stringifyCalls($methodCalls)
-            ), $method);
-        }
-
-        throw new NoCallsException(sprintf(
-            "No calls have been made that match:\n".
-            "  %s->%s(%s)\n".
-            "but expected at least one.",
-
-            get_class($object->reveal()),
-            $method->getMethodName(),
-            $method->getArgumentsWildcard()
-        ), $method);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Argument\Token\AnyValuesToken;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\UnexpectedCallsCountException;
-
-/**
- * Prediction interface.
- * Predictions are logical test blocks, tied to `should...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallTimesPrediction implements PredictionInterface
-{
-    private $times;
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param int        $times
-     * @param StringUtil $util
-     */
-    public function __construct($times, StringUtil $util = null)
-    {
-        $this->times = intval($times);
-        $this->util  = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there was exact amount of calls made.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\UnexpectedCallsCountException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if ($this->times == count($calls)) {
-            return;
-        }
-
-        $methodCalls = $object->findProphecyMethodCalls(
-            $method->getMethodName(),
-            new ArgumentsWildcard(array(new AnyValuesToken))
-        );
-
-        if (count($calls)) {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but %d were made:\n%s",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                count($calls),
-                $this->util->stringifyCalls($calls)
-            );
-        } elseif (count($methodCalls)) {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but none were made.\n".
-                "Recorded `%s(...)` calls:\n%s",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard(),
-                $method->getMethodName(),
-                $this->util->stringifyCalls($methodCalls)
-            );
-        } else {
-            $message = sprintf(
-                "Expected exactly %d calls that match:\n".
-                "  %s->%s(%s)\n".
-                "but none were made.",
-
-                $this->times,
-                get_class($object->reveal()),
-                $method->getMethodName(),
-                $method->getArgumentsWildcard()
-            );
-        }
-
-        throw new UnexpectedCallsCountException($message, $method, $this->times, $calls);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use Closure;
-
-/**
- * Callback prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackPrediction implements PredictionInterface
-{
-    private $callback;
-
-    /**
-     * Initializes callback prediction.
-     *
-     * @param callable $callback Custom callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackPrediction, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Executes preset callback.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $callback = $this->callback;
-
-        if ($callback instanceof Closure && method_exists('Closure', 'bind')) {
-            $callback = Closure::bind($callback, $object);
-        }
-
-        call_user_func($callback, $calls, $object, $method);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\UnexpectedCallsException;
-
-/**
- * No calls prediction.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NoCallsPrediction implements PredictionInterface
-{
-    private $util;
-
-    /**
-     * Initializes prediction.
-     *
-     * @param null|StringUtil $util
-     */
-    public function __construct(StringUtil $util = null)
-    {
-        $this->util = $util ?: new StringUtil;
-    }
-
-    /**
-     * Tests that there were no calls made.
-     *
-     * @param Call[]         $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws \Prophecy\Exception\Prediction\UnexpectedCallsException
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (!count($calls)) {
-            return;
-        }
-
-        $verb = count($calls) === 1 ? 'was' : 'were';
-
-        throw new UnexpectedCallsException(sprintf(
-            "No calls expected that match:\n".
-            "  %s->%s(%s)\n".
-            "but %d %s made:\n%s",
-            get_class($object->reveal()),
-            $method->getMethodName(),
-            $method->getArgumentsWildcard(),
-            count($calls),
-            $verb,
-            $this->util->stringifyCalls($calls)
-        ), $method, $calls);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prediction;
-
-use Prophecy\Call\Call;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Prediction interface.
- * Predictions are logical test blocks, tied to `should...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface PredictionInterface
-{
-    /**
-     * Tests that double fulfilled prediction.
-     *
-     * @param Call[]        $calls
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws object
-     * @return void
-     */
-    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method);
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use Closure;
-
-/**
- * Callback promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class CallbackPromise implements PromiseInterface
-{
-    private $callback;
-
-    /**
-     * Initializes callback promise.
-     *
-     * @param callable $callback Custom callback
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw new InvalidArgumentException(sprintf(
-                'Callable expected as an argument to CallbackPromise, but got %s.',
-                gettype($callback)
-            ));
-        }
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Evaluates promise callback.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $callback = $this->callback;
-
-        if ($callback instanceof Closure && method_exists('Closure', 'bind')) {
-            $callback = Closure::bind($callback, $object);
-        }
-
-        return call_user_func($callback, $args, $object, $method);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Promise interface.
- * Promises are logical blocks, tied to `will...` keyword.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface PromiseInterface
-{
-    /**
-     * Evaluates promise.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method);
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Return argument promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ReturnArgumentPromise implements PromiseInterface
-{
-    /**
-     * @var int
-     */
-    private $index;
-
-    /**
-     * Initializes callback promise.
-     *
-     * @param int $index The zero-indexed number of the argument to return
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($index = 0)
-    {
-        if (!is_int($index) || $index < 0) {
-            throw new InvalidArgumentException(sprintf(
-                'Zero-based index expected as argument to ReturnArgumentPromise, but got %s.',
-                $index
-            ));
-        }
-        $this->index = $index;
-    }
-
-    /**
-     * Returns nth argument if has one, null otherwise.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return null|mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        return count($args) > $this->index ? $args[$this->index] : null;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-
-/**
- * Return promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ReturnPromise implements PromiseInterface
-{
-    private $returnValues = array();
-
-    /**
-     * Initializes promise.
-     *
-     * @param array $returnValues Array of values
-     */
-    public function __construct(array $returnValues)
-    {
-        $this->returnValues = $returnValues;
-    }
-
-    /**
-     * Returns saved values one by one until last one, then continuously returns last value.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @return mixed
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        $value = array_shift($this->returnValues);
-
-        if (!count($this->returnValues)) {
-            $this->returnValues[] = $value;
-        }
-
-        return $value;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Promise;
-
-use Doctrine\Instantiator\Instantiator;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\MethodProphecy;
-use Prophecy\Exception\InvalidArgumentException;
-use ReflectionClass;
-
-/**
- * Throw promise.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ThrowPromise implements PromiseInterface
-{
-    private $exception;
-
-    /**
-     * @var \Doctrine\Instantiator\Instantiator
-     */
-    private $instantiator;
-
-    /**
-     * Initializes promise.
-     *
-     * @param string|\Exception $exception Exception class name or instance
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function __construct($exception)
-    {
-        if (is_string($exception)) {
-            if (!class_exists($exception)
-             && 'Exception' !== $exception
-             && !is_subclass_of($exception, 'Exception')) {
-                throw new InvalidArgumentException(sprintf(
-                    'Exception class or instance expected as argument to ThrowPromise, but got %s.',
-                    $exception
-                ));
-            }
-        } elseif (!$exception instanceof \Exception) {
-            throw new InvalidArgumentException(sprintf(
-                'Exception class or instance expected as argument to ThrowPromise, but got %s.',
-                is_object($exception) ? get_class($exception) : gettype($exception)
-            ));
-        }
-
-        $this->exception = $exception;
-    }
-
-    /**
-     * Throws predefined exception.
-     *
-     * @param array          $args
-     * @param ObjectProphecy $object
-     * @param MethodProphecy $method
-     *
-     * @throws object
-     */
-    public function execute(array $args, ObjectProphecy $object, MethodProphecy $method)
-    {
-        if (is_string($this->exception)) {
-            $classname   = $this->exception;
-            $reflection  = new ReflectionClass($classname);
-            $constructor = $reflection->getConstructor();
-
-            if ($constructor->isPublic() && 0 == $constructor->getNumberOfRequiredParameters()) {
-                throw $reflection->newInstance();
-            }
-
-            if (!$this->instantiator) {
-                $this->instantiator = new Instantiator();
-            }
-
-            throw $this->instantiator->instantiate($classname);
-        }
-
-        throw $this->exception;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-use Prophecy\Argument;
-use Prophecy\Prophet;
-use Prophecy\Promise;
-use Prophecy\Prediction;
-use Prophecy\Exception\Doubler\MethodNotFoundException;
-use Prophecy\Exception\InvalidArgumentException;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-
-/**
- * Method prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class MethodProphecy
-{
-    private $objectProphecy;
-    private $methodName;
-    private $argumentsWildcard;
-    private $promise;
-    private $prediction;
-    private $checkedPredictions = array();
-    private $bound = false;
-
-    /**
-     * Initializes method prophecy.
-     *
-     * @param ObjectProphecy                        $objectProphecy
-     * @param string                                $methodName
-     * @param null|Argument\ArgumentsWildcard|array $arguments
-     *
-     * @throws \Prophecy\Exception\Doubler\MethodNotFoundException If method not found
-     */
-    public function __construct(ObjectProphecy $objectProphecy, $methodName, $arguments = null)
-    {
-        $double = $objectProphecy->reveal();
-        if (!method_exists($double, $methodName)) {
-            throw new MethodNotFoundException(sprintf(
-                'Method `%s::%s()` is not defined.', get_class($double), $methodName
-            ), get_class($double), $methodName, $arguments);
-        }
-
-        $this->objectProphecy = $objectProphecy;
-        $this->methodName     = $methodName;
-
-        $reflectedMethod = new \ReflectionMethod($double, $methodName);
-        if ($reflectedMethod->isFinal()) {
-            throw new MethodProphecyException(sprintf(
-                "Can not add prophecy for a method `%s::%s()`\n".
-                "as it is a final method.",
-                get_class($double),
-                $methodName
-            ), $this);
-        }
-
-        if (null !== $arguments) {
-            $this->withArguments($arguments);
-        }
-
-        if (version_compare(PHP_VERSION, '7.0', '>=') && true === $reflectedMethod->hasReturnType()) {
-            $type = (string) $reflectedMethod->getReturnType();
-            $this->will(function () use ($type) {
-                switch ($type) {
-                    case 'string': return '';
-                    case 'float':  return 0.0;
-                    case 'int':    return 0;
-                    case 'bool':   return false;
-                    case 'array':  return array();
-
-                    case 'callable':
-                    case 'Closure':
-                        return function () {};
-
-                    case 'Traversable':
-                    case 'Generator':
-                        // Remove eval() when minimum version >=5.5
-                        /** @var callable $generator */
-                        $generator = eval('return function () { yield; };');
-                        return $generator();
-
-                    default:
-                        $prophet = new Prophet;
-                        return $prophet->prophesize($type)->reveal();
-                }
-            });
-        }
-    }
-
-    /**
-     * Sets argument wildcard.
-     *
-     * @param array|Argument\ArgumentsWildcard $arguments
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function withArguments($arguments)
-    {
-        if (is_array($arguments)) {
-            $arguments = new Argument\ArgumentsWildcard($arguments);
-        }
-
-        if (!$arguments instanceof Argument\ArgumentsWildcard) {
-            throw new InvalidArgumentException(sprintf(
-                "Either an array or an instance of ArgumentsWildcard expected as\n".
-                'a `MethodProphecy::withArguments()` argument, but got %s.',
-                gettype($arguments)
-            ));
-        }
-
-        $this->argumentsWildcard = $arguments;
-
-        return $this;
-    }
-
-    /**
-     * Sets custom promise to the prophecy.
-     *
-     * @param callable|Promise\PromiseInterface $promise
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function will($promise)
-    {
-        if (is_callable($promise)) {
-            $promise = new Promise\CallbackPromise($promise);
-        }
-
-        if (!$promise instanceof Promise\PromiseInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PromiseInterface, but got %s.',
-                gettype($promise)
-            ));
-        }
-
-        $this->bindToObjectProphecy();
-        $this->promise = $promise;
-
-        return $this;
-    }
-
-    /**
-     * Sets return promise to the prophecy.
-     *
-     * @see Prophecy\Promise\ReturnPromise
-     *
-     * @return $this
-     */
-    public function willReturn()
-    {
-        return $this->will(new Promise\ReturnPromise(func_get_args()));
-    }
-
-    /**
-     * Sets return argument promise to the prophecy.
-     *
-     * @param int $index The zero-indexed number of the argument to return
-     *
-     * @see Prophecy\Promise\ReturnArgumentPromise
-     *
-     * @return $this
-     */
-    public function willReturnArgument($index = 0)
-    {
-        return $this->will(new Promise\ReturnArgumentPromise($index));
-    }
-
-    /**
-     * Sets throw promise to the prophecy.
-     *
-     * @see Prophecy\Promise\ThrowPromise
-     *
-     * @param string|\Exception $exception Exception class or instance
-     *
-     * @return $this
-     */
-    public function willThrow($exception)
-    {
-        return $this->will(new Promise\ThrowPromise($exception));
-    }
-
-    /**
-     * Sets custom prediction to the prophecy.
-     *
-     * @param callable|Prediction\PredictionInterface $prediction
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function should($prediction)
-    {
-        if (is_callable($prediction)) {
-            $prediction = new Prediction\CallbackPrediction($prediction);
-        }
-
-        if (!$prediction instanceof Prediction\PredictionInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PredictionInterface, but got %s.',
-                gettype($prediction)
-            ));
-        }
-
-        $this->bindToObjectProphecy();
-        $this->prediction = $prediction;
-
-        return $this;
-    }
-
-    /**
-     * Sets call prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\CallPrediction
-     *
-     * @return $this
-     */
-    public function shouldBeCalled()
-    {
-        return $this->should(new Prediction\CallPrediction);
-    }
-
-    /**
-     * Sets no calls prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     *
-     * @return $this
-     */
-    public function shouldNotBeCalled()
-    {
-        return $this->should(new Prediction\NoCallsPrediction);
-    }
-
-    /**
-     * Sets call times prediction to the prophecy.
-     *
-     * @see Prophecy\Prediction\CallTimesPrediction
-     *
-     * @param $count
-     *
-     * @return $this
-     */
-    public function shouldBeCalledTimes($count)
-    {
-        return $this->should(new Prediction\CallTimesPrediction($count));
-    }
-
-    /**
-     * Checks provided prediction immediately.
-     *
-     * @param callable|Prediction\PredictionInterface $prediction
-     *
-     * @return $this
-     *
-     * @throws \Prophecy\Exception\InvalidArgumentException
-     */
-    public function shouldHave($prediction)
-    {
-        if (is_callable($prediction)) {
-            $prediction = new Prediction\CallbackPrediction($prediction);
-        }
-
-        if (!$prediction instanceof Prediction\PredictionInterface) {
-            throw new InvalidArgumentException(sprintf(
-                'Expected callable or instance of PredictionInterface, but got %s.',
-                gettype($prediction)
-            ));
-        }
-
-        if (null === $this->promise) {
-            $this->willReturn();
-        }
-
-        $calls = $this->getObjectProphecy()->findProphecyMethodCalls(
-            $this->getMethodName(),
-            $this->getArgumentsWildcard()
-        );
-
-        try {
-            $prediction->check($calls, $this->getObjectProphecy(), $this);
-            $this->checkedPredictions[] = $prediction;
-        } catch (\Exception $e) {
-            $this->checkedPredictions[] = $prediction;
-
-            throw $e;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Checks call prediction.
-     *
-     * @see Prophecy\Prediction\CallPrediction
-     *
-     * @return $this
-     */
-    public function shouldHaveBeenCalled()
-    {
-        return $this->shouldHave(new Prediction\CallPrediction);
-    }
-
-    /**
-     * Checks no calls prediction.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     *
-     * @return $this
-     */
-    public function shouldNotHaveBeenCalled()
-    {
-        return $this->shouldHave(new Prediction\NoCallsPrediction);
-    }
-
-    /**
-     * Checks no calls prediction.
-     *
-     * @see Prophecy\Prediction\NoCallsPrediction
-     * @deprecated
-     *
-     * @return $this
-     */
-    public function shouldNotBeenCalled()
-    {
-        return $this->shouldNotHaveBeenCalled();
-    }
-
-    /**
-     * Checks call times prediction.
-     *
-     * @see Prophecy\Prediction\CallTimesPrediction
-     *
-     * @param int $count
-     *
-     * @return $this
-     */
-    public function shouldHaveBeenCalledTimes($count)
-    {
-        return $this->shouldHave(new Prediction\CallTimesPrediction($count));
-    }
-
-    /**
-     * Checks currently registered [with should(...)] prediction.
-     */
-    public function checkPrediction()
-    {
-        if (null === $this->prediction) {
-            return;
-        }
-
-        $this->shouldHave($this->prediction);
-    }
-
-    /**
-     * Returns currently registered promise.
-     *
-     * @return null|Promise\PromiseInterface
-     */
-    public function getPromise()
-    {
-        return $this->promise;
-    }
-
-    /**
-     * Returns currently registered prediction.
-     *
-     * @return null|Prediction\PredictionInterface
-     */
-    public function getPrediction()
-    {
-        return $this->prediction;
-    }
-
-    /**
-     * Returns predictions that were checked on this object.
-     *
-     * @return Prediction\PredictionInterface[]
-     */
-    public function getCheckedPredictions()
-    {
-        return $this->checkedPredictions;
-    }
-
-    /**
-     * Returns object prophecy this method prophecy is tied to.
-     *
-     * @return ObjectProphecy
-     */
-    public function getObjectProphecy()
-    {
-        return $this->objectProphecy;
-    }
-
-    /**
-     * Returns method name.
-     *
-     * @return string
-     */
-    public function getMethodName()
-    {
-        return $this->methodName;
-    }
-
-    /**
-     * Returns arguments wildcard.
-     *
-     * @return Argument\ArgumentsWildcard
-     */
-    public function getArgumentsWildcard()
-    {
-        return $this->argumentsWildcard;
-    }
-
-    private function bindToObjectProphecy()
-    {
-        if ($this->bound) {
-            return;
-        }
-
-        $this->getObjectProphecy()->addMethodProphecy($this);
-        $this->bound = true;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-use SebastianBergmann\Comparator\ComparisonFailure;
-use Prophecy\Comparator\Factory as ComparatorFactory;
-use Prophecy\Call\Call;
-use Prophecy\Doubler\LazyDouble;
-use Prophecy\Argument\ArgumentsWildcard;
-use Prophecy\Call\CallCenter;
-use Prophecy\Exception\Prophecy\ObjectProphecyException;
-use Prophecy\Exception\Prophecy\MethodProphecyException;
-use Prophecy\Exception\Prediction\AggregateException;
-use Prophecy\Exception\Prediction\PredictionException;
-
-/**
- * Object prophecy.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ObjectProphecy implements ProphecyInterface
-{
-    private $lazyDouble;
-    private $callCenter;
-    private $revealer;
-    private $comparatorFactory;
-
-    /**
-     * @var MethodProphecy[][]
-     */
-    private $methodProphecies = array();
-
-    /**
-     * Initializes object prophecy.
-     *
-     * @param LazyDouble        $lazyDouble
-     * @param CallCenter        $callCenter
-     * @param RevealerInterface $revealer
-     * @param ComparatorFactory $comparatorFactory
-     */
-    public function __construct(
-        LazyDouble $lazyDouble,
-        CallCenter $callCenter = null,
-        RevealerInterface $revealer = null,
-        ComparatorFactory $comparatorFactory = null
-    ) {
-        $this->lazyDouble = $lazyDouble;
-        $this->callCenter = $callCenter ?: new CallCenter;
-        $this->revealer   = $revealer ?: new Revealer;
-
-        $this->comparatorFactory = $comparatorFactory ?: ComparatorFactory::getInstance();
-    }
-
-    /**
-     * Forces double to extend specific class.
-     *
-     * @param string $class
-     *
-     * @return $this
-     */
-    public function willExtend($class)
-    {
-        $this->lazyDouble->setParentClass($class);
-
-        return $this;
-    }
-
-    /**
-     * Forces double to implement specific interface.
-     *
-     * @param string $interface
-     *
-     * @return $this
-     */
-    public function willImplement($interface)
-    {
-        $this->lazyDouble->addInterface($interface);
-
-        return $this;
-    }
-
-    /**
-     * Sets constructor arguments.
-     *
-     * @param array $arguments
-     *
-     * @return $this
-     */
-    public function willBeConstructedWith(array $arguments = null)
-    {
-        $this->lazyDouble->setArguments($arguments);
-
-        return $this;
-    }
-
-    /**
-     * Reveals double.
-     *
-     * @return object
-     *
-     * @throws \Prophecy\Exception\Prophecy\ObjectProphecyException If double doesn't implement needed interface
-     */
-    public function reveal()
-    {
-        $double = $this->lazyDouble->getInstance();
-
-        if (null === $double || !$double instanceof ProphecySubjectInterface) {
-            throw new ObjectProphecyException(
-                "Generated double must implement ProphecySubjectInterface, but it does not.\n".
-                'It seems you have wrongly configured doubler without required ClassPatch.',
-                $this
-            );
-        }
-
-        $double->setProphecy($this);
-
-        return $double;
-    }
-
-    /**
-     * Adds method prophecy to object prophecy.
-     *
-     * @param MethodProphecy $methodProphecy
-     *
-     * @throws \Prophecy\Exception\Prophecy\MethodProphecyException If method prophecy doesn't
-     *                                                              have arguments wildcard
-     */
-    public function addMethodProphecy(MethodProphecy $methodProphecy)
-    {
-        $argumentsWildcard = $methodProphecy->getArgumentsWildcard();
-        if (null === $argumentsWildcard) {
-            throw new MethodProphecyException(sprintf(
-                "Can not add prophecy for a method `%s::%s()`\n".
-                "as you did not specify arguments wildcard for it.",
-                get_class($this->reveal()),
-                $methodProphecy->getMethodName()
-            ), $methodProphecy);
-        }
-
-        $methodName = $methodProphecy->getMethodName();
-
-        if (!isset($this->methodProphecies[$methodName])) {
-            $this->methodProphecies[$methodName] = array();
-        }
-
-        $this->methodProphecies[$methodName][] = $methodProphecy;
-    }
-
-    /**
-     * Returns either all or related to single method prophecies.
-     *
-     * @param null|string $methodName
-     *
-     * @return MethodProphecy[]
-     */
-    public function getMethodProphecies($methodName = null)
-    {
-        if (null === $methodName) {
-            return $this->methodProphecies;
-        }
-
-        if (!isset($this->methodProphecies[$methodName])) {
-            return array();
-        }
-
-        return $this->methodProphecies[$methodName];
-    }
-
-    /**
-     * Makes specific method call.
-     *
-     * @param string $methodName
-     * @param array  $arguments
-     *
-     * @return mixed
-     */
-    public function makeProphecyMethodCall($methodName, array $arguments)
-    {
-        $arguments = $this->revealer->reveal($arguments);
-        $return    = $this->callCenter->makeCall($this, $methodName, $arguments);
-
-        return $this->revealer->reveal($return);
-    }
-
-    /**
-     * Finds calls by method name & arguments wildcard.
-     *
-     * @param string            $methodName
-     * @param ArgumentsWildcard $wildcard
-     *
-     * @return Call[]
-     */
-    public function findProphecyMethodCalls($methodName, ArgumentsWildcard $wildcard)
-    {
-        return $this->callCenter->findCalls($methodName, $wildcard);
-    }
-
-    /**
-     * Checks that registered method predictions do not fail.
-     *
-     * @throws \Prophecy\Exception\Prediction\AggregateException If any of registered predictions fail
-     */
-    public function checkProphecyMethodsPredictions()
-    {
-        $exception = new AggregateException(sprintf("%s:\n", get_class($this->reveal())));
-        $exception->setObjectProphecy($this);
-
-        foreach ($this->methodProphecies as $prophecies) {
-            foreach ($prophecies as $prophecy) {
-                try {
-                    $prophecy->checkPrediction();
-                } catch (PredictionException $e) {
-                    $exception->append($e);
-                }
-            }
-        }
-
-        if (count($exception->getExceptions())) {
-            throw $exception;
-        }
-    }
-
-    /**
-     * Creates new method prophecy using specified method name and arguments.
-     *
-     * @param string $methodName
-     * @param array  $arguments
-     *
-     * @return MethodProphecy
-     */
-    public function __call($methodName, array $arguments)
-    {
-        $arguments = new ArgumentsWildcard($this->revealer->reveal($arguments));
-
-        foreach ($this->getMethodProphecies($methodName) as $prophecy) {
-            $argumentsWildcard = $prophecy->getArgumentsWildcard();
-            $comparator = $this->comparatorFactory->getComparatorFor(
-                $argumentsWildcard, $arguments
-            );
-
-            try {
-                $comparator->assertEquals($argumentsWildcard, $arguments);
-                return $prophecy;
-            } catch (ComparisonFailure $failure) {}
-        }
-
-        return new MethodProphecy($this, $methodName, $arguments);
-    }
-
-    /**
-     * Tries to get property value from double.
-     *
-     * @param string $name
-     *
-     * @return mixed
-     */
-    public function __get($name)
-    {
-        return $this->reveal()->$name;
-    }
-
-    /**
-     * Tries to set property value to double.
-     *
-     * @param string $name
-     * @param mixed  $value
-     */
-    public function __set($name, $value)
-    {
-        $this->reveal()->$name = $this->revealer->reveal($value);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Core Prophecy interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ProphecyInterface
-{
-    /**
-     * Reveals prophecy object (double) .
-     *
-     * @return object
-     */
-    public function reveal();
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Controllable doubles interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ProphecySubjectInterface
-{
-    /**
-     * Sets subject prophecy.
-     *
-     * @param ProphecyInterface $prophecy
-     */
-    public function setProphecy(ProphecyInterface $prophecy);
-
-    /**
-     * Returns subject prophecy.
-     *
-     * @return ProphecyInterface
-     */
-    public function getProphecy();
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Basic prophecies revealer.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Revealer implements RevealerInterface
-{
-    /**
-     * Unwraps value(s).
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function reveal($value)
-    {
-        if (is_array($value)) {
-            return array_map(array($this, __FUNCTION__), $value);
-        }
-
-        if (!is_object($value)) {
-            return $value;
-        }
-
-        if ($value instanceof ProphecyInterface) {
-            $value = $value->reveal();
-        }
-
-        return $value;
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Prophecy;
-
-/**
- * Prophecies revealer interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface RevealerInterface
-{
-    /**
-     * Unwraps value(s).
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public function reveal($value);
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy;
-
-use Prophecy\Doubler\Doubler;
-use Prophecy\Doubler\LazyDouble;
-use Prophecy\Doubler\ClassPatch;
-use Prophecy\Prophecy\ObjectProphecy;
-use Prophecy\Prophecy\RevealerInterface;
-use Prophecy\Prophecy\Revealer;
-use Prophecy\Call\CallCenter;
-use Prophecy\Util\StringUtil;
-use Prophecy\Exception\Prediction\PredictionException;
-use Prophecy\Exception\Prediction\AggregateException;
-
-/**
- * Prophet creates prophecies.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Prophet
-{
-    private $doubler;
-    private $revealer;
-    private $util;
-
-    /**
-     * @var ObjectProphecy[]
-     */
-    private $prophecies = array();
-
-    /**
-     * Initializes Prophet.
-     *
-     * @param null|Doubler           $doubler
-     * @param null|RevealerInterface $revealer
-     * @param null|StringUtil        $util
-     */
-    public function __construct(Doubler $doubler = null, RevealerInterface $revealer = null,
-                                StringUtil $util = null)
-    {
-        if (null === $doubler) {
-            $doubler = new Doubler;
-            $doubler->registerClassPatch(new ClassPatch\SplFileInfoPatch);
-            $doubler->registerClassPatch(new ClassPatch\TraversablePatch);
-            $doubler->registerClassPatch(new ClassPatch\DisableConstructorPatch);
-            $doubler->registerClassPatch(new ClassPatch\ProphecySubjectPatch);
-            $doubler->registerClassPatch(new ClassPatch\ReflectionClassNewInstancePatch);
-            $doubler->registerClassPatch(new ClassPatch\HhvmExceptionPatch());
-            $doubler->registerClassPatch(new ClassPatch\MagicCallPatch);
-            $doubler->registerClassPatch(new ClassPatch\KeywordPatch);
-        }
-
-        $this->doubler  = $doubler;
-        $this->revealer = $revealer ?: new Revealer;
-        $this->util     = $util ?: new StringUtil;
-    }
-
-    /**
-     * Creates new object prophecy.
-     *
-     * @param null|string $classOrInterface Class or interface name
-     *
-     * @return ObjectProphecy
-     */
-    public function prophesize($classOrInterface = null)
-    {
-        $this->prophecies[] = $prophecy = new ObjectProphecy(
-            new LazyDouble($this->doubler),
-            new CallCenter($this->util),
-            $this->revealer
-        );
-
-        if ($classOrInterface && class_exists($classOrInterface)) {
-            return $prophecy->willExtend($classOrInterface);
-        }
-
-        if ($classOrInterface && interface_exists($classOrInterface)) {
-            return $prophecy->willImplement($classOrInterface);
-        }
-
-        return $prophecy;
-    }
-
-    /**
-     * Returns all created object prophecies.
-     *
-     * @return ObjectProphecy[]
-     */
-    public function getProphecies()
-    {
-        return $this->prophecies;
-    }
-
-    /**
-     * Returns Doubler instance assigned to this Prophet.
-     *
-     * @return Doubler
-     */
-    public function getDoubler()
-    {
-        return $this->doubler;
-    }
-
-    /**
-     * Checks all predictions defined by prophecies of this Prophet.
-     *
-     * @throws Exception\Prediction\AggregateException If any prediction fails
-     */
-    public function checkPredictions()
-    {
-        $exception = new AggregateException("Some predictions failed:\n");
-        foreach ($this->prophecies as $prophecy) {
-            try {
-                $prophecy->checkProphecyMethodsPredictions();
-            } catch (PredictionException $e) {
-                $exception->append($e);
-            }
-        }
-
-        if (count($exception->getExceptions())) {
-            throw $exception;
-        }
-    }
-}
-<?php
-
-namespace Prophecy\Util;
-
-use Prophecy\Prophecy\ProphecyInterface;
-use SebastianBergmann\RecursionContext\Context;
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class is a modification from sebastianbergmann/exporter
- * @see https://github.com/sebastianbergmann/exporter
- */
-class ExportUtil
-{
-    /**
-     * Exports a value as a string
-     *
-     * The output of this method is similar to the output of print_r(), but
-     * improved in various aspects:
-     *
-     *  - NULL is rendered as "null" (instead of "")
-     *  - TRUE is rendered as "true" (instead of "1")
-     *  - FALSE is rendered as "false" (instead of "")
-     *  - Strings are always quoted with single quotes
-     *  - Carriage returns and newlines are normalized to \n
-     *  - Recursion and repeated rendering is treated properly
-     *
-     * @param  mixed  $value
-     * @param  int    $indentation The indentation level of the 2nd+ line
-     * @return string
-     */
-    public static function export($value, $indentation = 0)
-    {
-        return self::recursiveExport($value, $indentation);
-    }
-
-    /**
-     * Converts an object to an array containing all of its private, protected
-     * and public properties.
-     *
-     * @param  mixed $value
-     * @return array
-     */
-    public static function toArray($value)
-    {
-        if (!is_object($value)) {
-            return (array) $value;
-        }
-
-        $array = array();
-
-        foreach ((array) $value as $key => $val) {
-            // properties are transformed to keys in the following way:
-            // private   $property => "\0Classname\0property"
-            // protected $property => "\0*\0property"
-            // public    $property => "property"
-            if (preg_match('/^\0.+\0(.+)$/', $key, $matches)) {
-                $key = $matches[1];
-            }
-
-            // See https://github.com/php/php-src/commit/5721132
-            if ($key === "\0gcdata") {
-                continue;
-            }
-
-            $array[$key] = $val;
-        }
-
-        // Some internal classes like SplObjectStorage don't work with the
-        // above (fast) mechanism nor with reflection in Zend.
-        // Format the output similarly to print_r() in this case
-        if ($value instanceof \SplObjectStorage) {
-            // However, the fast method does work in HHVM, and exposes the
-            // internal implementation. Hide it again.
-            if (property_exists('\SplObjectStorage', '__storage')) {
-                unset($array['__storage']);
-            } elseif (property_exists('\SplObjectStorage', 'storage')) {
-                unset($array['storage']);
-            }
-
-            if (property_exists('\SplObjectStorage', '__key')) {
-                unset($array['__key']);
-            }
-
-            foreach ($value as $key => $val) {
-                $array[spl_object_hash($val)] = array(
-                    'obj' => $val,
-                    'inf' => $value->getInfo(),
-                );
-            }
-        }
-
-        return $array;
-    }
-
-    /**
-     * Recursive implementation of export
-     *
-     * @param  mixed                                       $value       The value to export
-     * @param  int                                         $indentation The indentation level of the 2nd+ line
-     * @param  \SebastianBergmann\RecursionContext\Context $processed   Previously processed objects
-     * @return string
-     * @see    SebastianBergmann\Exporter\Exporter::export
-     */
-    protected static function recursiveExport(&$value, $indentation, $processed = null)
-    {
-        if ($value === null) {
-            return 'null';
-        }
-
-        if ($value === true) {
-            return 'true';
-        }
-
-        if ($value === false) {
-            return 'false';
-        }
-
-        if (is_float($value) && floatval(intval($value)) === $value) {
-            return "$value.0";
-        }
-
-        if (is_resource($value)) {
-            return sprintf(
-                'resource(%d) of type (%s)',
-                $value,
-                get_resource_type($value)
-            );
-        }
-
-        if (is_string($value)) {
-            // Match for most non printable chars somewhat taking multibyte chars into account
-            if (preg_match('/[^\x09-\x0d\x20-\xff]/', $value)) {
-                return 'Binary String: 0x' . bin2hex($value);
-            }
-
-            return "'" .
-            str_replace(array("\r\n", "\n\r", "\r"), array("\n", "\n", "\n"), $value) .
-            "'";
-        }
-
-        $whitespace = str_repeat(' ', 4 * $indentation);
-
-        if (!$processed) {
-            $processed = new Context;
-        }
-
-        if (is_array($value)) {
-            if (($key = $processed->contains($value)) !== false) {
-                return 'Array &' . $key;
-            }
-
-            $key    = $processed->add($value);
-            $values = '';
-
-            if (count($value) > 0) {
-                foreach ($value as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        self::recursiveExport($k, $indentation),
-                        self::recursiveExport($value[$k], $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('Array &%s (%s)', $key, $values);
-        }
-
-        if (is_object($value)) {
-            $class = get_class($value);
-
-            if ($value instanceof ProphecyInterface) {
-                return sprintf('%s Object (*Prophecy*)', $class);
-            } elseif ($hash = $processed->contains($value)) {
-                return sprintf('%s:%s Object', $class, $hash);
-            }
-
-            $hash   = $processed->add($value);
-            $values = '';
-            $array  = self::toArray($value);
-
-            if (count($array) > 0) {
-                foreach ($array as $k => $v) {
-                    $values .= sprintf(
-                        '%s    %s => %s' . "\n",
-                        $whitespace,
-                        self::recursiveExport($k, $indentation),
-                        self::recursiveExport($v, $indentation + 1, $processed)
-                    );
-                }
-
-                $values = "\n" . $values . $whitespace;
-            }
-
-            return sprintf('%s:%s Object (%s)', $class, $hash, $values);
-        }
-
-        return var_export($value, true);
-    }
-}
-<?php
-
-/*
- * This file is part of the Prophecy.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *     Marcello Duarte <marcello.duarte@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Prophecy\Util;
-
-use Prophecy\Call\Call;
-
-/**
- * String utility.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class StringUtil
-{
-    /**
-     * Stringifies any provided value.
-     *
-     * @param mixed   $value
-     * @param boolean $exportObject
-     *
-     * @return string
-     */
-    public function stringify($value, $exportObject = true)
-    {
-        if (is_array($value)) {
-            if (range(0, count($value) - 1) === array_keys($value)) {
-                return '['.implode(', ', array_map(array($this, __FUNCTION__), $value)).']';
-            }
-
-            $stringify = array($this, __FUNCTION__);
-
-            return '['.implode(', ', array_map(function ($item, $key) use ($stringify) {
-                return (is_integer($key) ? $key : '"'.$key.'"').
-                    ' => '.call_user_func($stringify, $item);
-            }, $value, array_keys($value))).']';
-        }
-        if (is_resource($value)) {
-            return get_resource_type($value).':'.$value;
-        }
-        if (is_object($value)) {
-            return $exportObject ? ExportUtil::export($value) : sprintf('%s:%s', get_class($value), spl_object_hash($value));
-        }
-        if (true === $value || false === $value) {
-            return $value ? 'true' : 'false';
-        }
-        if (is_string($value)) {
-            $str = sprintf('"%s"', str_replace("\n", '\\n', $value));
-
-            if (50 <= strlen($str)) {
-                return substr($str, 0, 50).'"...';
-            }
-
-            return $str;
-        }
-        if (null === $value) {
-            return 'null';
-        }
-
-        return (string) $value;
-    }
-
-    /**
-     * Stringifies provided array of calls.
-     *
-     * @param Call[] $calls Array of Call instances
-     *
-     * @return string
-     */
-    public function stringifyCalls(array $calls)
-    {
-        $self = $this;
-
-        return implode(PHP_EOL, array_map(function (Call $call) use ($self) {
-            return sprintf('  - %s(%s) @ %s',
-                $call->getMethodName(),
-                implode(', ', array_map(array($self, 'stringify'), $call->getArguments())),
-                str_replace(GETCWD().DIRECTORY_SEPARATOR, '', $call->getCallPlace())
-            );
-        }, $calls));
-    }
-}
-The MIT License (MIT)
-
-Copyright (c) 2013 My C-Sense
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-<?php
-
-namespace DeepCopy;
-
-use DeepCopy\Exception\CloneException;
-use DeepCopy\Filter\Filter;
-use DeepCopy\Matcher\Matcher;
-use DeepCopy\TypeFilter\TypeFilter;
-use DeepCopy\TypeMatcher\TypeMatcher;
-use ReflectionProperty;
-use DeepCopy\Reflection\ReflectionHelper;
-
-/**
- * DeepCopy
- */
-class DeepCopy
-{
-    /**
-     * @var array
-     */
-    private $hashMap = [];
-
-    /**
-     * Filters to apply.
-     * @var array
-     */
-    private $filters = [];
-
-    /**
-     * Type Filters to apply.
-     * @var array
-     */
-    private $typeFilters = [];
-
-    private $skipUncloneable = false;
-
-    /**
-     * Cloning uncloneable properties won't throw exception.
-     * @param $skipUncloneable
-     * @return $this
-     */
-    public function skipUncloneable($skipUncloneable = true)
-    {
-        $this->skipUncloneable = $skipUncloneable;
-        return $this;
-    }
-
-    /**
-     * Perform a deep copy of the object.
-     * @param mixed $object
-     * @return mixed
-     */
-    public function copy($object)
-    {
-        $this->hashMap = [];
-
-        return $this->recursiveCopy($object);
-    }
-
-    public function addFilter(Filter $filter, Matcher $matcher)
-    {
-        $this->filters[] = [
-            'matcher' => $matcher,
-            'filter'  => $filter,
-        ];
-    }
-
-    public function addTypeFilter(TypeFilter $filter, TypeMatcher $matcher)
-    {
-        $this->typeFilters[] = [
-            'matcher' => $matcher,
-            'filter'  => $filter,
-        ];
-    }
-
-
-    private function recursiveCopy($var)
-    {
-        // Matches Type Filter
-        if ($filter = $this->getFirstMatchedTypeFilter($this->typeFilters, $var)) {
-            return $filter->apply($var);
-        }
-
-        // Resource
-        if (is_resource($var)) {
-            return $var;
-        }
-        // Array
-        if (is_array($var)) {
-            return $this->copyArray($var);
-        }
-        // Scalar
-        if (! is_object($var)) {
-            return $var;
-        }
-        // Object
-        return $this->copyObject($var);
-    }
-
-    /**
-     * Copy an array
-     * @param array $array
-     * @return array
-     */
-    private function copyArray(array $array)
-    {
-        $copier = function($item) {
-            return $this->recursiveCopy($item);
-        };
-
-        return array_map($copier, $array);
-    }
-
-    /**
-     * Copy an object
-     * @param object $object
-     * @return object
-     */
-    private function copyObject($object)
-    {
-        $objectHash = spl_object_hash($object);
-
-        if (isset($this->hashMap[$objectHash])) {
-            return $this->hashMap[$objectHash];
-        }
-
-        $reflectedObject = new \ReflectionObject($object);
-
-        if (false === $isCloneable = $reflectedObject->isCloneable() and $this->skipUncloneable) {
-            $this->hashMap[$objectHash] = $object;
-            return $object;
-        }
-
-        if (false === $isCloneable) {
-            throw new CloneException(sprintf(
-                'Class "%s" is not cloneable.',
-                $reflectedObject->getName()
-            ));
-        }
-
-        $newObject = clone $object;
-        $this->hashMap[$objectHash] = $newObject;
-
-        foreach (ReflectionHelper::getProperties($reflectedObject) as $property) {
-            $this->copyObjectProperty($newObject, $property);
-        }
-
-        return $newObject;
-    }
-
-    private function copyObjectProperty($object, ReflectionProperty $property)
-    {
-        // Ignore static properties
-        if ($property->isStatic()) {
-            return;
-        }
-
-        // Apply the filters
-        foreach ($this->filters as $item) {
-            /** @var Matcher $matcher */
-            $matcher = $item['matcher'];
-            /** @var Filter $filter */
-            $filter = $item['filter'];
-
-            if ($matcher->matches($object, $property->getName())) {
-                $filter->apply(
-                    $object,
-                    $property->getName(),
-                    function ($object) {
-                        return $this->recursiveCopy($object);
-                    }
-                );
-                // If a filter matches, we stop processing this property
-                return;
-            }
-        }
-
-        $property->setAccessible(true);
-        $propertyValue = $property->getValue($object);
-
-        // Copy the property
-        $property->setValue($object, $this->recursiveCopy($propertyValue));
-    }
-
-    /**
-     * Returns first filter that matches variable, NULL if no such filter found.
-     * @param array $filterRecords Associative array with 2 members: 'filter' with value of type {@see TypeFilter} and
-     *                             'matcher' with value of type {@see TypeMatcher}
-     * @param mixed $var
-     * @return TypeFilter|null
-     */
-    private function getFirstMatchedTypeFilter(array $filterRecords, $var)
-    {
-        $matched = $this->first(
-            $filterRecords,
-            function (array $record) use ($var) {
-                /* @var TypeMatcher $matcher */
-                $matcher = $record['matcher'];
-
-                return $matcher->matches($var);
-            }
-        );
-
-        return isset($matched) ? $matched['filter'] : null;
-    }
-
-    /**
-     * Returns first element that matches predicate, NULL if no such element found.
-     * @param array    $elements
-     * @param callable $predicate Predicate arguments are: element.
-     * @return mixed|null
-     */
-    private function first(array $elements, callable $predicate)
-    {
-        foreach ($elements as $element) {
-            if (call_user_func($predicate, $element)) {
-                return $element;
-            }
-        }
-
-        return null;
-    }
-}
-<?php
-namespace DeepCopy\Exception;
-
-class CloneException extends \UnexpectedValueException
-{
-} <?php
-
-namespace DeepCopy\Filter\Doctrine;
-
-use DeepCopy\Filter\Filter;
-use ReflectionProperty;
-
-/**
- * Set a null value for a property
- */
-class DoctrineCollectionFilter implements Filter
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($object, $property, $objectCopier)
-    {
-        $reflectionProperty = new ReflectionProperty($object, $property);
-
-        $reflectionProperty->setAccessible(true);
-        $oldCollection = $reflectionProperty->getValue($object);
-
-        $newCollection = $oldCollection->map(
-            function ($item) use ($objectCopier) {
-                return $objectCopier($item);
-            }
-        );
-
-        $reflectionProperty->setValue($object, $newCollection);
-    }
-}
-<?php
-
-namespace DeepCopy\Filter\Doctrine;
-
-use DeepCopy\Filter\Filter;
-use Doctrine\Common\Collections\ArrayCollection;
-
-class DoctrineEmptyCollectionFilter implements Filter
-{
-    /**
-     * Apply the filter to the object.
-     *
-     * @param object   $object
-     * @param string   $property
-     * @param callable $objectCopier
-     */
-    public function apply($object, $property, $objectCopier)
-    {
-        $reflectionProperty = new \ReflectionProperty($object, $property);
-        $reflectionProperty->setAccessible(true);
-
-        $reflectionProperty->setValue($object, new ArrayCollection());
-    }
-} <?php
-
-namespace DeepCopy\Filter;
-
-/**
- * Filter to apply to a property while copying an object
- */
-interface Filter
-{
-    /**
-     * Apply the filter to the object.
-     * @param object   $object
-     * @param string   $property
-     * @param callable $objectCopier
-     */
-    public function apply($object, $property, $objectCopier);
-}
-<?php
-
-namespace DeepCopy\Filter;
-
-/**
- * Keep the value of a property
- */
-class KeepFilter implements Filter
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($object, $property, $objectCopier)
-    {
-        // Nothing to do
-    }
-}
-<?php
-
-namespace DeepCopy\Filter;
-
-/**
- * Replace the value of a property
- */
-class ReplaceFilter implements Filter
-{
-    /**
-     * @var callable
-     */
-    protected $callback;
-
-    /**
-     * @param callable $callable Will be called to get the new value for each property to replace
-     */
-    public function __construct(callable $callable)
-    {
-        $this->callback = $callable;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($object, $property, $objectCopier)
-    {
-        $reflectionProperty = new \ReflectionProperty($object, $property);
-        $reflectionProperty->setAccessible(true);
-
-        $value = call_user_func($this->callback, $reflectionProperty->getValue($object));
-
-        $reflectionProperty->setValue($object, $value);
-    }
-}
-<?php
-
-namespace DeepCopy\Filter;
-
-use ReflectionProperty;
-
-/**
- * Set a null value for a property
- */
-class SetNullFilter implements Filter
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($object, $property, $objectCopier)
-    {
-        $reflectionProperty = new ReflectionProperty($object, $property);
-
-        $reflectionProperty->setAccessible(true);
-        $reflectionProperty->setValue($object, null);
-    }
-}
-<?php
-
-namespace DeepCopy\Matcher;
-
-/**
- * Matcher interface
- */
-interface Matcher
-{
-    /**
-     * @param object $object
-     * @param string $property
-     * @return boolean
-     */
-    public function matches($object, $property);
-}
-<?php
-
-namespace DeepCopy\Matcher;
-
-/**
- * Match a specific property of a specific class
- */
-class PropertyMatcher implements Matcher
-{
-    /**
-     * @var string
-     */
-    private $class;
-
-    /**
-     * @var string
-     */
-    private $property;
-
-    /**
-     * @param string $class    Class name
-     * @param string $property Property name
-     */
-    public function __construct($class, $property)
-    {
-        $this->class = $class;
-        $this->property = $property;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function matches($object, $property)
-    {
-        return ($object instanceof $this->class) && ($property == $this->property);
-    }
-}
-<?php
-
-namespace DeepCopy\Matcher;
-
-/**
- * Match a property by its name
- */
-class PropertyNameMatcher implements Matcher
-{
-    /**
-     * @var string
-     */
-    private $property;
-
-    /**
-     * @param string $property Property name
-     */
-    public function __construct($property)
-    {
-        $this->property = $property;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function matches($object, $property)
-    {
-        return $property == $this->property;
-    }
-}
-<?php
-
-namespace DeepCopy\Matcher;
-
-use ReflectionProperty;
-
-/**
- * Match a property by its type
- *
- * @deprecated It is recommended to use {@see DeepCopy\TypeFilter\TypeFilter} instead, as it applies on all occurrences
- *             of given type in copied context (eg. array elements), not just on object properties.
- */
-class PropertyTypeMatcher implements Matcher
-{
-    /**
-     * @var string
-     */
-    private $propertyType;
-
-    /**
-     * @param string $propertyType Property type
-     */
-    public function __construct($propertyType)
-    {
-        $this->propertyType = $propertyType;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function matches($object, $property)
-    {
-        $reflectionProperty = new ReflectionProperty($object, $property);
-        $reflectionProperty->setAccessible(true);
-
-        return $reflectionProperty->getValue($object) instanceof $this->propertyType;
-    }
-}
-<?php
-
-namespace DeepCopy\Reflection;
-
-class ReflectionHelper
-{
-    /**
-     * Retrieves all properties (including private ones), from object and all its ancestors.
-     *
-     * Standard \ReflectionClass->getProperties() does not return private properties from ancestor classes.
-     *
-     * @author muratyaman@gmail.com
-     * @see http://php.net/manual/en/reflectionclass.getproperties.php
-     *
-     * @param \ReflectionClass $ref
-     * @return \ReflectionProperty[]
-     */
-    public static function getProperties(\ReflectionClass $ref)
-    {
-        $props = $ref->getProperties();
-        $propsArr = array();
-
-        foreach ($props as $prop) {
-            $f = $prop->getName();
-            $propsArr[$f] = $prop;
-        }
-
-        if ($parentClass = $ref->getParentClass()) {
-            $parentPropsArr = self::getProperties($parentClass);
-            if (count($parentPropsArr) > 0) {
-                $propsArr = array_merge($parentPropsArr, $propsArr);
-            }
-        }
-        return $propsArr;
-    }
-}
-<?php
-
-namespace DeepCopy\TypeFilter;
-
-class ReplaceFilter implements TypeFilter
-{
-    /**
-     * @var callable
-     */
-    protected $callback;
-
-    /**
-     * @param callable $callable Will be called to get the new value for each element to replace
-     */
-    public function __construct(callable $callable)
-    {
-        $this->callback = $callable;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($element)
-    {
-        return call_user_func($this->callback, $element);
-    }
-}
-<?php
-
-namespace DeepCopy\TypeFilter;
-
-class ShallowCopyFilter implements TypeFilter
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function apply($element)
-    {
-        return clone $element;
-    }
-}
-<?php
-
-namespace DeepCopy\TypeFilter;
-
-interface TypeFilter
-{
-    /**
-     * Apply the filter to the object.
-     * @param mixed $element
-     */
-    public function apply($element);
-}
-<?php
-
-namespace DeepCopy\TypeMatcher;
-
-/**
- * TypeMatcher class
- */
-class TypeMatcher
-{
-    /**
-     * @var string
-     */
-    private $type;
-
-    /**
-     * @param string $type
-     */
-    public function __construct($type)
-    {
-        $this->type = $type;
-    }
-
-    /**
-     * @param $element
-     * @return boolean
-     */
-    public function matches($element)
-    {
-        return is_object($element) ? is_a($element, $this->type) : gettype($element) === $this->type;
-    }
-}
-The MIT License (MIT)
-
-Copyright (c) 2014 Bernhard Schussek
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-<?php
-
-/*
- * This file is part of the webmozart/assert package.
- *
- * (c) Bernhard Schussek <bschussek@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Webmozart\Assert;
-
-use BadMethodCallException;
-use InvalidArgumentException;
-use Traversable;
-
-/**
- * Efficient assertions to validate the input/output of your methods.
- *
- * @method static void nullOrString($value, $message = '')
- * @method static void nullOrStringNotEmpty($value, $message = '')
- * @method static void nullOrInteger($value, $message = '')
- * @method static void nullOrIntegerish($value, $message = '')
- * @method static void nullOrFloat($value, $message = '')
- * @method static void nullOrNumeric($value, $message = '')
- * @method static void nullOrBoolean($value, $message = '')
- * @method static void nullOrScalar($value, $message = '')
- * @method static void nullOrResource($value, $type = null, $message = '')
- * @method static void nullOrIsCallable($value, $message = '')
- * @method static void nullOrIsArray($value, $message = '')
- * @method static void nullOrIsTraversable($value, $message = '')
- * @method static void nullOrIsInstanceOf($value, $class, $message = '')
- * @method static void nullOrNotInstanceOf($value, $class, $message = '')
- * @method static void nullOrIsEmpty($value, $message = '')
- * @method static void nullOrNotEmpty($value, $message = '')
- * @method static void nullOrTrue($value, $message = '')
- * @method static void nullOrFalse($value, $message = '')
- * @method static void nullOrEq($value, $value2, $message = '')
- * @method static void nullOrNotEq($value,$value2,  $message = '')
- * @method static void nullOrSame($value, $value2, $message = '')
- * @method static void nullOrNotSame($value, $value2, $message = '')
- * @method static void nullOrGreaterThan($value, $value2, $message = '')
- * @method static void nullOrGreaterThanEq($value, $value2, $message = '')
- * @method static void nullOrLessThan($value, $value2, $message = '')
- * @method static void nullOrLessThanEq($value, $value2, $message = '')
- * @method static void nullOrRange($value, $min, $max, $message = '')
- * @method static void nullOrOneOf($value, $values, $message = '')
- * @method static void nullOrContains($value, $subString, $message = '')
- * @method static void nullOrStartsWith($value, $prefix, $message = '')
- * @method static void nullOrStartsWithLetter($value, $message = '')
- * @method static void nullOrEndsWith($value, $suffix, $message = '')
- * @method static void nullOrRegex($value, $pattern, $message = '')
- * @method static void nullOrAlpha($value, $message = '')
- * @method static void nullOrDigits($value, $message = '')
- * @method static void nullOrAlnum($value, $message = '')
- * @method static void nullOrLower($value, $message = '')
- * @method static void nullOrUpper($value, $message = '')
- * @method static void nullOrLength($value, $length, $message = '')
- * @method static void nullOrMinLength($value, $min, $message = '')
- * @method static void nullOrMaxLength($value, $max, $message = '')
- * @method static void nullOrLengthBetween($value, $min, $max, $message = '')
- * @method static void nullOrFileExists($value, $message = '')
- * @method static void nullOrFile($value, $message = '')
- * @method static void nullOrDirectory($value, $message = '')
- * @method static void nullOrReadable($value, $message = '')
- * @method static void nullOrWritable($value, $message = '')
- * @method static void nullOrClassExists($value, $message = '')
- * @method static void nullOrSubclassOf($value, $class, $message = '')
- * @method static void nullOrImplementsInterface($value, $interface, $message = '')
- * @method static void allString($values, $message = '')
- * @method static void allStringNotEmpty($values, $message = '')
- * @method static void allInteger($values, $message = '')
- * @method static void allIntegerish($values, $message = '')
- * @method static void allFloat($values, $message = '')
- * @method static void allNumeric($values, $message = '')
- * @method static void allBoolean($values, $message = '')
- * @method static void allScalar($values, $message = '')
- * @method static void allResource($values, $type = null, $message = '')
- * @method static void allIsCallable($values, $message = '')
- * @method static void allIsArray($values, $message = '')
- * @method static void allIsTraversable($values, $message = '')
- * @method static void allIsInstanceOf($values, $class, $message = '')
- * @method static void allNotInstanceOf($values, $class, $message = '')
- * @method static void allNull($values, $message = '')
- * @method static void allNotNull($values, $message = '')
- * @method static void allIsEmpty($values, $message = '')
- * @method static void allNotEmpty($values, $message = '')
- * @method static void allTrue($values, $message = '')
- * @method static void allFalse($values, $message = '')
- * @method static void allEq($values, $value2, $message = '')
- * @method static void allNotEq($values,$value2,  $message = '')
- * @method static void allSame($values, $value2, $message = '')
- * @method static void allNotSame($values, $value2, $message = '')
- * @method static void allGreaterThan($values, $value2, $message = '')
- * @method static void allGreaterThanEq($values, $value2, $message = '')
- * @method static void allLessThan($values, $value2, $message = '')
- * @method static void allLessThanEq($values, $value2, $message = '')
- * @method static void allRange($values, $min, $max, $message = '')
- * @method static void allOneOf($values, $values, $message = '')
- * @method static void allContains($values, $subString, $message = '')
- * @method static void allStartsWith($values, $prefix, $message = '')
- * @method static void allStartsWithLetter($values, $message = '')
- * @method static void allEndsWith($values, $suffix, $message = '')
- * @method static void allRegex($values, $pattern, $message = '')
- * @method static void allAlpha($values, $message = '')
- * @method static void allDigits($values, $message = '')
- * @method static void allAlnum($values, $message = '')
- * @method static void allLower($values, $message = '')
- * @method static void allUpper($values, $message = '')
- * @method static void allLength($values, $length, $message = '')
- * @method static void allMinLength($values, $min, $message = '')
- * @method static void allMaxLength($values, $max, $message = '')
- * @method static void allLengthBetween($values, $min, $max, $message = '')
- * @method static void allFileExists($values, $message = '')
- * @method static void allFile($values, $message = '')
- * @method static void allDirectory($values, $message = '')
- * @method static void allReadable($values, $message = '')
- * @method static void allWritable($values, $message = '')
- * @method static void allClassExists($values, $message = '')
- * @method static void allSubclassOf($values, $class, $message = '')
- * @method static void allImplementsInterface($values, $interface, $message = '')
- *
- * @since  1.0
- *
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class Assert
-{
-    public static function string($value, $message = '')
-    {
-        if (!is_string($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a string. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function stringNotEmpty($value, $message = '')
-    {
-        self::string($value, $message);
-        self::notEmpty($value, $message);
-    }
-
-    public static function integer($value, $message = '')
-    {
-        if (!is_int($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an integer. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function integerish($value, $message = '')
-    {
-        if (!is_numeric($value) || $value != (int) $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an integerish value. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function float($value, $message = '')
-    {
-        if (!is_float($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a float. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function numeric($value, $message = '')
-    {
-        if (!is_numeric($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a numeric. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function boolean($value, $message = '')
-    {
-        if (!is_bool($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a boolean. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function scalar($value, $message = '')
-    {
-        if (!is_scalar($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a scalar. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function resource($value, $type = null, $message = '')
-    {
-        if (!is_resource($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a resource. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-
-        if ($type && $type !== get_resource_type($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a resource of type %2$s. Got: %s',
-                self::typeToString($value),
-                $type
-            ));
-        }
-    }
-
-    public static function isCallable($value, $message = '')
-    {
-        if (!is_callable($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a callable. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function isArray($value, $message = '')
-    {
-        if (!is_array($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an array. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function isTraversable($value, $message = '')
-    {
-        if (!is_array($value) && !($value instanceof Traversable)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a traversable. Got: %s',
-                self::typeToString($value)
-            ));
-        }
-    }
-
-    public static function isInstanceOf($value, $class, $message = '')
-    {
-        if (!($value instanceof $class)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an instance of %2$s. Got: %s',
-                self::typeToString($value),
-                $class
-            ));
-        }
-    }
-
-    public static function notInstanceOf($value, $class, $message = '')
-    {
-        if ($value instanceof $class) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an instance other than %2$s. Got: %s',
-                self::typeToString($value),
-                $class
-            ));
-        }
-    }
-
-    public static function isEmpty($value, $message = '')
-    {
-        if (!empty($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an empty value. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function notEmpty($value, $message = '')
-    {
-        if (empty($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a non-empty value. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function null($value, $message = '')
-    {
-        if (null !== $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected null. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function notNull($value, $message = '')
-    {
-        if (null === $value) {
-            throw new InvalidArgumentException(
-                $message ?: 'Expected a value other than null.'
-            );
-        }
-    }
-
-    public static function true($value, $message = '')
-    {
-        if (true !== $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to be true. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function false($value, $message = '')
-    {
-        if (false !== $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to be false. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function eq($value, $value2, $message = '')
-    {
-        if ($value2 != $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value equal to %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($value2)
-            ));
-        }
-    }
-
-    public static function notEq($value, $value2, $message = '')
-    {
-        if ($value2 == $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a different value than %s.',
-                self::valueToString($value2)
-            ));
-        }
-    }
-
-    public static function same($value, $value2, $message = '')
-    {
-        if ($value2 !== $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value identical to %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($value2)
-            ));
-        }
-    }
-
-    public static function notSame($value, $value2, $message = '')
-    {
-        if ($value2 === $value) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value not identical to %s.',
-                self::valueToString($value2)
-            ));
-        }
-    }
-
-    public static function greaterThan($value, $limit, $message = '')
-    {
-        if ($value <= $limit) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value greater than %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($limit)
-            ));
-        }
-    }
-
-    public static function greaterThanEq($value, $limit, $message = '')
-    {
-        if ($value < $limit) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value greater than or equal to %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($limit)
-            ));
-        }
-    }
-
-    public static function lessThan($value, $limit, $message = '')
-    {
-        if ($value >= $limit) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value less than %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($limit)
-            ));
-        }
-    }
-
-    public static function lessThanEq($value, $limit, $message = '')
-    {
-        if ($value > $limit) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value less than or equal to %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($limit)
-            ));
-        }
-    }
-
-    public static function range($value, $min, $max, $message = '')
-    {
-        if ($value < $min || $value > $max) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value between %2$s and %3$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($min),
-                self::valueToString($max)
-            ));
-        }
-    }
-
-    public static function oneOf($value, array $values, $message = '')
-    {
-        if (!in_array($value, $values, true)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected one of: %2$s. Got: %s',
-                self::valueToString($value),
-                implode(', ', array_map(array(__CLASS__, 'valueToString'), $values))
-            ));
-        }
-    }
-
-    public static function contains($value, $subString, $message = '')
-    {
-        if (false === strpos($value, $subString)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($subString)
-            ));
-        }
-    }
-
-    public static function startsWith($value, $prefix, $message = '')
-    {
-        if (0 !== strpos($value, $prefix)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to start with %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($prefix)
-            ));
-        }
-    }
-
-    public static function startsWithLetter($value, $message = '')
-    {
-        $valid = isset($value[0]);
-
-        if ($valid) {
-            $locale = setlocale(LC_CTYPE, 0);
-            setlocale(LC_CTYPE, 'C');
-            $valid = ctype_alpha($value[0]);
-            setlocale(LC_CTYPE, $locale);
-        }
-
-        if (!$valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to start with a letter. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function endsWith($value, $suffix, $message = '')
-    {
-        if ($suffix !== substr($value, -self::strlen($suffix))) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to end with %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($suffix)
-            ));
-        }
-    }
-
-    public static function regex($value, $pattern, $message = '')
-    {
-        if (!preg_match($pattern, $value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The value %s does not match the expected pattern.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function alpha($value, $message = '')
-    {
-        $locale = setlocale(LC_CTYPE, 0);
-        setlocale(LC_CTYPE, 'C');
-        $valid = !ctype_alpha($value);
-        setlocale(LC_CTYPE, $locale);
-
-        if ($valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain only letters. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function digits($value, $message = '')
-    {
-        $locale = setlocale(LC_CTYPE, 0);
-        setlocale(LC_CTYPE, 'C');
-        $valid = !ctype_digit($value);
-        setlocale(LC_CTYPE, $locale);
-
-        if ($valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain digits only. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function alnum($value, $message = '')
-    {
-        $locale = setlocale(LC_CTYPE, 0);
-        setlocale(LC_CTYPE, 'C');
-        $valid = !ctype_alnum($value);
-        setlocale(LC_CTYPE, $locale);
-
-        if ($valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain letters and digits only. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function lower($value, $message = '')
-    {
-        $locale = setlocale(LC_CTYPE, 0);
-        setlocale(LC_CTYPE, 'C');
-        $valid = !ctype_lower($value);
-        setlocale(LC_CTYPE, $locale);
-
-        if ($valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain lowercase characters only. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function upper($value, $message = '')
-    {
-        $locale = setlocale(LC_CTYPE, 0);
-        setlocale(LC_CTYPE, 'C');
-        $valid = !ctype_upper($value);
-        setlocale(LC_CTYPE, $locale);
-
-        if ($valid) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain uppercase characters only. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function length($value, $length, $message = '')
-    {
-        if ($length !== self::strlen($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain %2$s characters. Got: %s',
-                self::valueToString($value),
-                $length
-            ));
-        }
-    }
-
-    public static function minLength($value, $min, $message = '')
-    {
-        if (self::strlen($value) < $min) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain at least %2$s characters. Got: %s',
-                self::valueToString($value),
-                $min
-            ));
-        }
-    }
-
-    public static function maxLength($value, $max, $message = '')
-    {
-        if (self::strlen($value) > $max) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain at most %2$s characters. Got: %s',
-                self::valueToString($value),
-                $max
-            ));
-        }
-    }
-
-    public static function lengthBetween($value, $min, $max, $message = '')
-    {
-        $length = self::strlen($value);
-
-        if ($length < $min || $length > $max) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a value to contain between %2$s and %3$s characters. Got: %s',
-                self::valueToString($value),
-                $min,
-                $max
-            ));
-        }
-    }
-
-    public static function fileExists($value, $message = '')
-    {
-        self::string($value);
-
-        if (!file_exists($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The file %s does not exist.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function file($value, $message = '')
-    {
-        self::fileExists($value, $message);
-
-        if (!is_file($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The path %s is not a file.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function directory($value, $message = '')
-    {
-        self::fileExists($value, $message);
-
-        if (!is_dir($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The path %s is no directory.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function readable($value, $message = '')
-    {
-        if (!is_readable($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The path %s is not readable.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function writable($value, $message = '')
-    {
-        if (!is_writable($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'The path %s is not writable.',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function classExists($value, $message = '')
-    {
-        if (!class_exists($value)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an existing class name. Got: %s',
-                self::valueToString($value)
-            ));
-        }
-    }
-
-    public static function subclassOf($value, $class, $message = '')
-    {
-        if (!is_subclass_of($value, $class)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected a sub-class of %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($class)
-            ));
-        }
-    }
-
-    public static function implementsInterface($value, $interface, $message = '')
-    {
-        if (!in_array($interface, class_implements($value))) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected an implementation of %2$s. Got: %s',
-                self::valueToString($value),
-                self::valueToString($interface)
-            ));
-        }
-    }
-
-    public static function keyExists($array, $key, $message = '')
-    {
-        if (!array_key_exists($key, $array)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected the key %s to exist.',
-                self::valueToString($key)
-            ));
-        }
-    }
-
-    public static function keyNotExists($array, $key, $message = '')
-    {
-        if (array_key_exists($key, $array)) {
-            throw new InvalidArgumentException(sprintf(
-                $message ?: 'Expected the key %s to not exist.',
-                self::valueToString($key)
-            ));
-        }
-    }
-
-    public static function __callStatic($name, $arguments)
-    {
-        if ('nullOr' === substr($name, 0, 6)) {
-            if (null !== $arguments[0]) {
-                $method = lcfirst(substr($name, 6));
-                call_user_func_array(array('static', $method), $arguments);
-            }
-
-            return;
-        }
-
-        if ('all' === substr($name, 0, 3)) {
-            self::isTraversable($arguments[0]);
-
-            $method = lcfirst(substr($name, 3));
-            $args = $arguments;
-
-            foreach ($arguments[0] as $entry) {
-                $args[0] = $entry;
-
-                call_user_func_array(array('static', $method), $args);
-            }
-
-            return;
-        }
-
-        throw new BadMethodCallException('No such method: '.$name);
-    }
-
-    protected static function valueToString($value)
-    {
-        if (null === $value) {
-            return 'null';
-        }
-
-        if (true === $value) {
-            return 'true';
-        }
-
-        if (false === $value) {
-            return 'false';
-        }
-
-        if (is_array($value)) {
-            return 'array';
-        }
-
-        if (is_object($value)) {
-            return get_class($value);
-        }
-
-        if (is_resource($value)) {
-            return 'resource';
-        }
-
-        if (is_string($value)) {
-            return '"'.$value.'"';
-        }
-
-        return (string) $value;
-    }
-
-    protected static function typeToString($value)
-    {
-        return is_object($value) ? get_class($value) : gettype($value);
-    }
-
-    protected static function strlen($value)
-    {
-        if (!function_exists('mb_detect_encoding')) {
-            return strlen($value);
-        }
-
-        if (false === $encoding = mb_detect_encoding($value)) {
-            return strlen($value);
-        }
-
-        return mb_strwidth($value, $encoding);
-    }
-
-    private function __construct()
-    {
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marker interface for PHPUnit exceptions.
- *
- * @since      Interface available since Release 4.0.0
- */
-interface PHPUnit_Exception
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * We have a TestSuite object A.
- * In TestSuite object A we have Tests tagged with @group.
- * We want a TestSuite object B that contains TestSuite objects C, D, ...
- * for the Tests tagged with @group C, @group D, ...
- * Running the Tests from TestSuite object B results in Tests tagged with both
- *
- * @group C and @group D in TestSuite object A to be run twice .
- *
- * <code>
- * $suite = new PHPUnit_Extensions_GroupTestSuite($A, array('C', 'D'));
- * </code>
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Extensions_GroupTestSuite extends PHPUnit_Framework_TestSuite
-{
-    public function __construct(PHPUnit_Framework_TestSuite $suite, array $groups)
-    {
-        $groupSuites = [];
-        $name        = $suite->getName();
-
-        foreach ($groups as $group) {
-            $groupSuites[$group] = new PHPUnit_Framework_TestSuite($name . ' - ' . $group);
-            $this->addTest($groupSuites[$group]);
-        }
-
-        $tests = new RecursiveIteratorIterator(
-            new PHPUnit_Util_TestSuiteIterator($suite),
-            RecursiveIteratorIterator::LEAVES_ONLY
-        );
-
-        foreach ($tests as $test) {
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                $testGroups = PHPUnit_Util_Test::getGroups(
-                    get_class($test),
-                    $test->getName(false)
-                );
-
-                foreach ($groups as $group) {
-                    foreach ($testGroups as $testGroup) {
-                        if ($group == $testGroup) {
-                            $groupSuites[$group]->addTest($test);
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Runner for PHPT test cases.
- *
- * @since Class available since Release 3.1.4
- */
-class PHPUnit_Extensions_PhptTestCase implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * @var string
-     */
-    private $filename;
-
-    /**
-     * @var PHPUnit_Util_PHP
-     */
-    private $phpUtil;
-
-    /**
-     * @var array
-     */
-    private $settings = [
-        'allow_url_fopen=1',
-        'auto_append_file=',
-        'auto_prepend_file=',
-        'disable_functions=',
-        'display_errors=1',
-        'docref_root=',
-        'docref_ext=.html',
-        'error_append_string=',
-        'error_prepend_string=',
-        'error_reporting=-1',
-        'html_errors=0',
-        'log_errors=0',
-        'magic_quotes_runtime=0',
-        'output_handler=',
-        'open_basedir=',
-        'output_buffering=Off',
-        'report_memleaks=0',
-        'report_zend_debug=0',
-        'safe_mode=0',
-        'track_errors=1',
-        'xdebug.default_enable=0'
-    ];
-
-    /**
-     * Constructs a test case with the given filename.
-     *
-     * @param string           $filename
-     * @param PHPUnit_Util_PHP $phpUtil
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($filename, $phpUtil = null)
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_file($filename)) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'File "%s" does not exist.',
-                    $filename
-                )
-            );
-        }
-
-        $this->filename = $filename;
-        $this->phpUtil  = $phpUtil ?: PHPUnit_Util_PHP::factory();
-    }
-
-    /**
-     * Counts the number of test cases executed by run(TestResult result).
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * @param array  $sections
-     * @param string $output
-     */
-    private function assertPhptExpectation(array $sections, $output)
-    {
-        $assertions = [
-            'EXPECT'      => 'assertEquals',
-            'EXPECTF'     => 'assertStringMatchesFormat',
-            'EXPECTREGEX' => 'assertRegExp',
-        ];
-
-        $actual = preg_replace('/\r\n/', "\n", trim($output));
-
-        foreach ($assertions as $sectionName => $sectionAssertion) {
-            if (isset($sections[$sectionName])) {
-                $sectionContent = preg_replace('/\r\n/', "\n", trim($sections[$sectionName]));
-                $assertion      = $sectionAssertion;
-                $expected       = $sectionName == 'EXPECTREGEX' ? "/{$sectionContent}/" : $sectionContent;
-
-                break;
-            }
-        }
-
-        PHPUnit_Framework_Assert::$assertion($expected, $actual);
-    }
-
-    /**
-     * Runs a test and collects its result in a TestResult instance.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        $sections = $this->parse();
-        $code     = $this->render($sections['FILE']);
-
-        if ($result === null) {
-            $result = new PHPUnit_Framework_TestResult;
-        }
-
-        $skip     = false;
-        $xfail    = false;
-        $time     = 0;
-        $settings = $this->settings;
-
-        $result->startTest($this);
-
-        if (isset($sections['INI'])) {
-            $settings = array_merge($settings, $this->parseIniSection($sections['INI']));
-        }
-
-        if (isset($sections['ENV'])) {
-            $env = $this->parseEnvSection($sections['ENV']);
-            $this->phpUtil->setEnv($env);
-        }
-
-        // Redirects STDERR to STDOUT
-        $this->phpUtil->setUseStderrRedirection(true);
-
-        if ($result->enforcesTimeLimit()) {
-            $this->phpUtil->setTimeout($result->getTimeoutForLargeTests());
-        }
-
-        if (isset($sections['SKIPIF'])) {
-            $jobResult = $this->phpUtil->runJob($sections['SKIPIF'], $settings);
-
-            if (!strncasecmp('skip', ltrim($jobResult['stdout']), 4)) {
-                if (preg_match('/^\s*skip\s*(.+)\s*/i', $jobResult['stdout'], $message)) {
-                    $message = substr($message[1], 2);
-                } else {
-                    $message = '';
-                }
-
-                $result->addFailure($this, new PHPUnit_Framework_SkippedTestError($message), 0);
-
-                $skip = true;
-            }
-        }
-
-        if (isset($sections['XFAIL'])) {
-            $xfail = trim($sections['XFAIL']);
-        }
-
-        if (!$skip) {
-            if (isset($sections['STDIN'])) {
-                $this->phpUtil->setStdin($sections['STDIN']);
-            }
-
-            if (isset($sections['ARGS'])) {
-                $this->phpUtil->setArgs($sections['ARGS']);
-            }
-
-            PHP_Timer::start();
-
-            $jobResult = $this->phpUtil->runJob($code, $settings);
-            $time      = PHP_Timer::stop();
-
-            try {
-                $this->assertPhptExpectation($sections, $jobResult['stdout']);
-            } catch (PHPUnit_Framework_AssertionFailedError $e) {
-                if ($xfail !== false) {
-                    $result->addFailure(
-                        $this,
-                        new PHPUnit_Framework_IncompleteTestError(
-                            $xfail,
-                            0,
-                            $e
-                        ),
-                        $time
-                    );
-                } else {
-                    $result->addFailure($this, $e, $time);
-                }
-            } catch (Throwable $t) {
-                $result->addError($this, $t, $time);
-            } catch (Exception $e) {
-                $result->addError($this, $e, $time);
-            }
-
-            if ($result->allCompletelyImplemented() && $xfail !== false) {
-                $result->addFailure(
-                    $this,
-                    new PHPUnit_Framework_IncompleteTestError(
-                        'XFAIL section but test passes'
-                    ),
-                    $time
-                );
-            }
-
-            $this->phpUtil->setStdin('');
-            $this->phpUtil->setArgs('');
-
-            if (isset($sections['CLEAN'])) {
-                $cleanCode = $this->render($sections['CLEAN']);
-
-                $this->phpUtil->runJob($cleanCode, $this->settings);
-            }
-        }
-
-        $result->endTest($this, $time);
-
-        return $result;
-    }
-
-    /**
-     * Returns the name of the test case.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->toString();
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * @return array
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    private function parse()
-    {
-        $sections = [];
-        $section  = '';
-
-        $allowExternalSections = [
-            'FILE',
-            'EXPECT',
-            'EXPECTF',
-            'EXPECTREGEX'
-        ];
-
-        $requiredSections = [
-            'FILE',
-            [
-                'EXPECT',
-                'EXPECTF',
-                'EXPECTREGEX'
-            ]
-        ];
-
-        $unsupportedSections = [
-            'REDIRECTTEST',
-            'REQUEST',
-            'POST',
-            'PUT',
-            'POST_RAW',
-            'GZIP_POST',
-            'DEFLATE_POST',
-            'GET',
-            'COOKIE',
-            'HEADERS',
-            'CGI',
-            'EXPECTHEADERS',
-            'EXTENSIONS',
-            'PHPDBG'
-        ];
-
-        foreach (file($this->filename) as $line) {
-            if (preg_match('/^--([_A-Z]+)--/', $line, $result)) {
-                $section            = $result[1];
-                $sections[$section] = '';
-
-                continue;
-            } elseif (empty($section)) {
-                throw new PHPUnit_Framework_Exception('Invalid PHPT file');
-            }
-
-            $sections[$section] .= $line;
-        }
-
-        if (isset($sections['FILEEOF'])) {
-            $sections['FILE'] = rtrim($sections['FILEEOF'], "\r\n");
-            unset($sections['FILEEOF']);
-        }
-
-        $testDirectory = dirname($this->filename) . DIRECTORY_SEPARATOR;
-
-        foreach ($allowExternalSections as $section) {
-            if (isset($sections[$section . '_EXTERNAL'])) {
-                // do not allow directory traversal
-                $externalFilename = str_replace('..', '', trim($sections[$section . '_EXTERNAL']));
-
-                // only allow files from the test directory
-                if (!is_file($testDirectory . $externalFilename) || !is_readable($testDirectory . $externalFilename)) {
-                    throw new PHPUnit_Framework_Exception(
-                        sprintf(
-                            'Could not load --%s-- %s for PHPT file',
-                            $section . '_EXTERNAL',
-                            $testDirectory . $externalFilename
-                        )
-                    );
-                }
-
-                $sections[$section] = file_get_contents($testDirectory . $externalFilename);
-
-                unset($sections[$section . '_EXTERNAL']);
-            }
-        }
-
-        $isValid = true;
-
-        foreach ($requiredSections as $section) {
-            if (is_array($section)) {
-                $foundSection = false;
-
-                foreach ($section as $anySection) {
-                    if (isset($sections[$anySection])) {
-                        $foundSection = true;
-
-                        break;
-                    }
-                }
-
-                if (!$foundSection) {
-                    $isValid = false;
-
-                    break;
-                }
-            } else {
-                if (!isset($sections[$section])) {
-                    $isValid = false;
-
-                    break;
-                }
-            }
-        }
-
-        if (!$isValid) {
-            throw new PHPUnit_Framework_Exception('Invalid PHPT file');
-        }
-
-        foreach ($unsupportedSections as $section) {
-            if (isset($sections[$section])) {
-                throw new PHPUnit_Framework_Exception(
-                    'PHPUnit does not support this PHPT file'
-                );
-            }
-        }
-
-        return $sections;
-    }
-
-    /**
-     * @param string $code
-     *
-     * @return string
-     */
-    private function render($code)
-    {
-        return str_replace(
-            [
-                '__DIR__',
-                '__FILE__'
-            ],
-            [
-                "'" . dirname($this->filename) . "'",
-                "'" . $this->filename . "'"
-            ],
-            $code
-        );
-    }
-
-    /**
-     * @return array
-     */
-    private function cleanupForCoverage()
-    {
-        $files    = $this->getCoverageFiles();
-        $coverage = @unserialize(file_get_contents($files['coverage']));
-
-        foreach ($files as $file) {
-            @unlink($file);
-        }
-
-        return $coverage;
-    }
-
-    /**
-     * Parse --INI-- section key value pairs and return as array.
-     *
-     * @param string
-     *
-     * @return array
-     */
-    protected function parseIniSection($content)
-    {
-        return preg_split('/\n|\r/', $content, -1, PREG_SPLIT_NO_EMPTY);
-    }
-
-    protected function parseEnvSection($content)
-    {
-        $env = [];
-
-        foreach (explode("\n", trim($content)) as $e) {
-            $e = explode('=', trim($e), 2);
-
-            if (!empty($e[0]) && isset($e[1])) {
-                $env[$e[0]] = $e[1];
-            }
-        }
-
-        return $env;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Suite for .phpt test cases.
- *
- * @since Class available since Release 3.1.4
- */
-class PHPUnit_Extensions_PhptTestSuite extends PHPUnit_Framework_TestSuite
-{
-    /**
-     * Constructs a new TestSuite for .phpt test cases.
-     *
-     * @param string $directory
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($directory)
-    {
-        if (is_string($directory) && is_dir($directory)) {
-            $this->setName($directory);
-
-            $facade = new File_Iterator_Facade;
-            $files  = $facade->getFilesAsArray($directory, '.phpt');
-
-            foreach ($files as $file) {
-                $this->addTestFile($file);
-            }
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'directory name');
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Decorator that runs a test repeatedly.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator
-{
-    /**
-     * @var bool
-     */
-    protected $processIsolation = false;
-
-    /**
-     * @var int
-     */
-    protected $timesRepeat = 1;
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     * @param int                    $timesRepeat
-     * @param bool                   $processIsolation
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct(PHPUnit_Framework_Test $test, $timesRepeat = 1, $processIsolation = false)
-    {
-        parent::__construct($test);
-
-        if (is_integer($timesRepeat) &&
-            $timesRepeat >= 0) {
-            $this->timesRepeat = $timesRepeat;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'positive integer'
-            );
-        }
-
-        $this->processIsolation = $processIsolation;
-    }
-
-    /**
-     * Counts the number of test cases that
-     * will be run by this test.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return $this->timesRepeat * count($this->test);
-    }
-
-    /**
-     * Runs the decorated test and collects the
-     * result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        //@codingStandardsIgnoreStart
-        for ($i = 0; $i < $this->timesRepeat && !$result->shouldStop(); $i++) {
-            //@codingStandardsIgnoreEnd
-            if ($this->test instanceof PHPUnit_Framework_TestSuite) {
-                $this->test->setRunTestInSeparateProcess($this->processIsolation);
-            }
-            $this->test->run($result);
-        }
-
-        return $result;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Decorator for Tests.
- *
- * Use TestDecorator as the base class for defining new
- * test decorators. Test decorator subclasses can be introduced
- * to add behaviour before or after a test is run.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Extensions_TestDecorator extends PHPUnit_Framework_Assert implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * The Test to be decorated.
-     *
-     * @var object
-     */
-    protected $test = null;
-
-    /**
-     * Constructor.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function __construct(PHPUnit_Framework_Test $test)
-    {
-        $this->test = $test;
-    }
-
-    /**
-     * Returns a string representation of the test.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->test->toString();
-    }
-
-    /**
-     * Runs the test and collects the
-     * result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function basicRun(PHPUnit_Framework_TestResult $result)
-    {
-        $this->test->run($result);
-    }
-
-    /**
-     * Counts the number of test cases that
-     * will be run by this test.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return count($this->test);
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * Returns the test to be run.
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function getTest()
-    {
-        return $this->test;
-    }
-
-    /**
-     * Runs the decorated test and collects the
-     * result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        $this->basicRun($result);
-
-        return $result;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for test listeners that interact with an issue tracker.
- *
- * @since Class available since Release 3.4.0
- */
-abstract class PHPUnit_Extensions_TicketListener implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var array
-     */
-    protected $ticketCounts = [];
-
-    /**
-     * @var bool
-     */
-    protected $ran = false;
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * A test suite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test suite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if (!$test instanceof PHPUnit_Framework_WarningTestCase) {
-            if ($this->ran) {
-                return;
-            }
-
-            $name    = $test->getName(false);
-            $tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
-
-            foreach ($tickets as $ticket) {
-                $this->ticketCounts[$ticket][$name] = 1;
-            }
-
-            $this->ran = true;
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$test instanceof PHPUnit_Framework_WarningTestCase) {
-            if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                $ifStatus   = ['assigned', 'new', 'reopened'];
-                $newStatus  = 'closed';
-                $message    = 'Automatically closed by PHPUnit (test passed).';
-                $resolution = 'fixed';
-                $cumulative = true;
-            } elseif ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
-                $ifStatus   = ['closed'];
-                $newStatus  = 'reopened';
-                $message    = 'Automatically reopened by PHPUnit (test failed).';
-                $resolution = '';
-                $cumulative = false;
-            } else {
-                return;
-            }
-
-            $name    = $test->getName(false);
-            $tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
-
-            foreach ($tickets as $ticket) {
-                // Remove this test from the totals (if it passed).
-                if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                    unset($this->ticketCounts[$ticket][$name]);
-                }
-
-                // Only close tickets if ALL referenced cases pass
-                // but reopen tickets if a single test fails.
-                if ($cumulative) {
-                    // Determine number of to-pass tests:
-                    if (count($this->ticketCounts[$ticket]) > 0) {
-                        // There exist remaining test cases with this reference.
-                        $adjustTicket = false;
-                    } else {
-                        // No remaining tickets, go ahead and adjust.
-                        $adjustTicket = true;
-                    }
-                } else {
-                    $adjustTicket = true;
-                }
-
-                $ticketInfo = $this->getTicketInfo($ticket);
-
-                if ($adjustTicket && in_array($ticketInfo['status'], $ifStatus)) {
-                    $this->updateTicket($ticket, $newStatus, $message, $resolution);
-                }
-            }
-        }
-    }
-
-    /**
-     * @param mixed $ticketId
-     *
-     * @return mixed
-     */
-    abstract protected function getTicketInfo($ticketId = null);
-
-    /**
-     * @param string $ticketId
-     * @param string $newStatus
-     * @param string $message
-     * @param string $resolution
-     */
-    abstract protected function updateTicket($ticketId, $newStatus, $message, $resolution);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace PHPUnit\Framework;
-
-use PHPUnit_Framework_TestCase;
-
-class TestCase extends PHPUnit_Framework_TestCase
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A set of assert methods.
- *
- * @since Class available since Release 2.0.0
- */
-abstract class PHPUnit_Framework_Assert
-{
-    /**
-     * @var int
-     */
-    private static $count = 0;
-
-    /**
-     * Asserts that an array has a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertArrayHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-
-        static::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array has a specified subset.
-     *
-     * @param array|ArrayAccess $subset
-     * @param array|ArrayAccess $array
-     * @param bool              $strict  Check for object identity
-     * @param string            $message
-     *
-     * @since Method available since Release 4.4.0
-     */
-    public static function assertArraySubset($subset, $array, $strict = false, $message = '')
-    {
-        if (!is_array($subset)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'array or ArrayAccess'
-            );
-        }
-
-        if (!is_array($array)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArraySubset($subset, $strict);
-
-        static::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array does not have a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertArrayNotHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ArrayHasKey($key)
-        );
-
-        static::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack contains a needle.
-     *
-     * @param mixed  $needle
-     * @param mixed  $haystack
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     *
-     * @since Method available since Release 2.1.0
-     */
-    public static function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_TraversableContains(
-                $needle,
-                $checkForObjectIdentity,
-                $checkForNonObjectIdentity
-            );
-        } elseif (is_string($haystack)) {
-            if (!is_string($needle)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'string'
-                );
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_StringContains(
-                $needle,
-                $ignoreCase
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        static::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains a needle.
-     *
-     * @param mixed         $needle
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     * @param bool          $ignoreCase
-     * @param bool          $checkForObjectIdentity
-     * @param bool          $checkForNonObjectIdentity
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        static::assertContains(
-            $needle,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain a needle.
-     *
-     * @param mixed  $needle
-     * @param mixed  $haystack
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     *
-     * @since Method available since Release 2.1.0
-     */
-    public static function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContains(
-                    $needle,
-                    $checkForObjectIdentity,
-                    $checkForNonObjectIdentity
-                )
-            );
-        } elseif (is_string($haystack)) {
-            if (!is_string($needle)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'string'
-                );
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_StringContains(
-                    $needle,
-                    $ignoreCase
-                )
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        static::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain a needle.
-     *
-     * @param mixed         $needle
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     * @param bool          $ignoreCase
-     * @param bool          $checkForObjectIdentity
-     * @param bool          $checkForNonObjectIdentity
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        static::assertNotContains(
-            $needle,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only values of a given type.
-     *
-     * @param string $type
-     * @param mixed  $haystack
-     * @param bool   $isNativeType
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.4
-     */
-    public static function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        static::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $type,
-                $isNativeType
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only instances of a given classname
-     *
-     * @param string            $classname
-     * @param array|Traversable $haystack
-     * @param string            $message
-     */
-    public static function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        static::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $classname,
-                false
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains only values of a given type.
-     *
-     * @param string        $type
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param bool          $isNativeType
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.4
-     */
-    public static function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        static::assertContainsOnly(
-            $type,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain only values of a given type.
-     *
-     * @param string $type
-     * @param mixed  $haystack
-     * @param bool   $isNativeType
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.4
-     */
-    public static function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        static::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                    $type,
-                    $isNativeType
-                )
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain only values of a given
-     * type.
-     *
-     * @param string        $type
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param bool          $isNativeType
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.4
-     */
-    public static function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        static::assertNotContainsOnly(
-            $type,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param int    $expectedCount
-     * @param mixed  $haystack
-     * @param string $message
-     */
-    public static function assertCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        static::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Count($expectedCount),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param int           $expectedCount
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        static::assertCount(
-            $expectedCount,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param int    $expectedCount
-     * @param mixed  $haystack
-     * @param string $message
-     */
-    public static function assertNotCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_Count($expectedCount)
-        );
-
-        static::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param int           $expectedCount
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        static::assertNotCount(
-            $expectedCount,
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables are equal.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     */
-    public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-            $expected,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is equal to an attribute of an object.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     * @param float         $delta
-     * @param int           $maxDepth
-     * @param bool          $canonicalize
-     * @param bool          $ignoreCase
-     */
-    public static function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertEquals(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that two variables are not equal.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @since Method available since Release 2.3.0
-     */
-    public static function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsEqual(
-                $expected,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            )
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is not equal to an attribute of an object.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     * @param float         $delta
-     * @param int           $maxDepth
-     * @param bool          $canonicalize
-     * @param bool          $ignoreCase
-     */
-    public static function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertNotEquals(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a variable is empty.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertEmpty($actual, $message = '')
-    {
-        static::assertThat($actual, static::isEmpty(), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is empty.
-     *
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        static::assertEmpty(
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not empty.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotEmpty($actual, $message = '')
-    {
-        static::assertThat($actual, static::logicalNot(static::isEmpty()), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is not empty.
-     *
-     * @param string        $haystackAttributeName
-     * @param string|object $haystackClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        static::assertNotEmpty(
-            static::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertGreaterThan($expected, $actual, $message = '')
-    {
-        static::assertThat($actual, static::greaterThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is greater than another value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertGreaterThan(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertGreaterThanOrEqual($expected, $actual, $message = '')
-    {
-        static::assertThat(
-            $actual,
-            static::greaterThanOrEqual($expected),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that an attribute is greater than or equal to another value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertGreaterThanOrEqual(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertLessThan($expected, $actual, $message = '')
-    {
-        static::assertThat($actual, static::lessThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than another value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertLessThan(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertLessThanOrEqual($expected, $actual, $message = '')
-    {
-        static::assertThat($actual, static::lessThanOrEqual($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than or equal to another value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertLessThanOrEqual(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is equal to the contents of another
-     * file.
-     *
-     * @param string $expected
-     * @param string $actual
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @since Method available since Release 3.2.14
-     */
-    public static function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertFileExists($expected, $message);
-        static::assertFileExists($actual, $message);
-
-        static::assertEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is not equal to the contents of
-     * another file.
-     *
-     * @param string $expected
-     * @param string $actual
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @since Method available since Release 3.2.14
-     */
-    public static function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertFileExists($expected, $message);
-        static::assertFileExists($actual, $message);
-
-        static::assertNotEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is equal
-     * to the contents of a file.
-     *
-     * @param string $expectedFile
-     * @param string $actualString
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertFileExists($expectedFile, $message);
-
-        static::assertEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is not equal
-     * to the contents of a file.
-     *
-     * @param string $expectedFile
-     * @param string $actualString
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        static::assertFileExists($expectedFile, $message);
-
-        static::assertNotEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a file exists.
-     *
-     * @param string $filename
-     * @param string $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertFileExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_FileExists;
-
-        static::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a file does not exist.
-     *
-     * @param string $filename
-     * @param string $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertFileNotExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_FileExists
-        );
-
-        static::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a condition is true.
-     *
-     * @param bool   $condition
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertTrue($condition, $message = '')
-    {
-        static::assertThat($condition, static::isTrue(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not true.
-     *
-     * @param bool   $condition
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotTrue($condition, $message = '')
-    {
-        static::assertThat($condition, static::logicalNot(static::isTrue()), $message);
-    }
-
-    /**
-     * Asserts that a condition is false.
-     *
-     * @param bool   $condition
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertFalse($condition, $message = '')
-    {
-        static::assertThat($condition, static::isFalse(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not false.
-     *
-     * @param bool   $condition
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotFalse($condition, $message = '')
-    {
-        static::assertThat($condition, static::logicalNot(static::isFalse()), $message);
-    }
-
-    /**
-     * Asserts that a variable is null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNull($actual, $message = '')
-    {
-        static::assertThat($actual, static::isNull(), $message);
-    }
-
-    /**
-     * Asserts that a variable is not null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotNull($actual, $message = '')
-    {
-        static::assertThat($actual, static::logicalNot(static::isNull()), $message);
-    }
-
-    /**
-     * Asserts that a variable is finite.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertFinite($actual, $message = '')
-    {
-        static::assertThat($actual, static::isFinite(), $message);
-    }
-
-    /**
-     * Asserts that a variable is infinite.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertInfinite($actual, $message = '')
-    {
-        static::assertThat($actual, static::isInfinite(), $message);
-    }
-
-    /**
-     * Asserts that a variable is nan.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNan($actual, $message = '')
-    {
-        static::assertThat($actual, static::isNan(), $message);
-    }
-
-    /**
-     * Asserts that a class has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertClassHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-
-        static::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasAttribute($attributeName)
-        );
-
-        static::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class has a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertClassHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-
-        static::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-                $attributeName
-            )
-        );
-
-        static::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertObjectHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-
-        static::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertObjectNotHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ObjectHasAttribute($attributeName)
-        );
-
-        static::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two variables have the same type and value.
-     * Used on objects, it asserts that two variables reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            static::assertEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_IsIdentical(
-                $expected
-            );
-
-            static::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object have the same type
-     * and value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     */
-    public static function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertSame(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables do not have the same type and value.
-     * Used on objects, it asserts that two variables do not reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            static::assertNotEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_IsIdentical($expected)
-            );
-
-            static::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object do not have the
-     * same type and value.
-     *
-     * @param mixed         $expected
-     * @param string        $actualAttributeName
-     * @param string|object $actualClassOrObject
-     * @param string        $message
-     */
-    public static function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        static::assertNotSame(
-            $expected,
-            static::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
-            $expected
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string        $expected
-     * @param string        $attributeName
-     * @param string|object $classOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        static::assertInstanceOf(
-            $expected,
-            static::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsInstanceOf($expected)
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string        $expected
-     * @param string        $attributeName
-     * @param string|object $classOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        static::assertNotInstanceOf(
-            $expected,
-            static::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsType(
-            $expected
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string        $expected
-     * @param string        $attributeName
-     * @param string|object $classOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        static::assertInternalType(
-            $expected,
-            static::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsType($expected)
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string        $expected
-     * @param string        $attributeName
-     * @param string|object $classOrObject
-     * @param string        $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        static::assertNotInternalType(
-            $expected,
-            static::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a string matches a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     */
-    public static function assertRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 2.1.0
-     */
-    public static function assertNotRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_PCREMatch($pattern)
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        static::assertThat(
-            $actual,
-            new PHPUnit_Framework_Constraint_SameSize($expected),
-            $message
-        );
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is not the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertNotSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_SameSize($expected)
-        );
-
-        static::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches($format);
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches($format)
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format file.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        static::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches(
-            file_get_contents($formatFile)
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        static::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches(
-                file_get_contents($formatFile)
-            )
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function assertStringStartsWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringStartsWith(
-            $prefix
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts not with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function assertStringStartsNotWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringStartsWith($prefix)
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function assertStringEndsWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends not with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function assertStringEndsNotWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringEndsWith($suffix)
-        );
-
-        static::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two XML files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
-        $actual   = PHPUnit_Util_XML::loadFile($actualFile);
-
-        static::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
-        $actual   = PHPUnit_Util_XML::loadFile($actualFile);
-
-        static::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
-        $actual   = PHPUnit_Util_XML::load($actualXml);
-
-        static::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
-        $actual   = PHPUnit_Util_XML::load($actualXml);
-
-        static::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::load($expectedXml);
-        $actual   = PHPUnit_Util_XML::load($actualXml);
-
-        static::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected = PHPUnit_Util_XML::load($expectedXml);
-        $actual   = PHPUnit_Util_XML::load($actualXml);
-
-        static::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that a hierarchy of DOMElements matches.
-     *
-     * @param DOMElement $expectedElement
-     * @param DOMElement $actualElement
-     * @param bool       $checkAttributes
-     * @param string     $message
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
-    {
-        $tmp             = new DOMDocument;
-        $expectedElement = $tmp->importNode($expectedElement, true);
-
-        $tmp           = new DOMDocument;
-        $actualElement = $tmp->importNode($actualElement, true);
-
-        unset($tmp);
-
-        static::assertEquals(
-            $expectedElement->tagName,
-            $actualElement->tagName,
-            $message
-        );
-
-        if ($checkAttributes) {
-            static::assertEquals(
-                $expectedElement->attributes->length,
-                $actualElement->attributes->length,
-                sprintf(
-                    '%s%sNumber of attributes on node "%s" does not match',
-                    $message,
-                    !empty($message) ? "\n" : '',
-                    $expectedElement->tagName
-                )
-            );
-
-            for ($i = 0; $i < $expectedElement->attributes->length; $i++) {
-                $expectedAttribute = $expectedElement->attributes->item($i);
-                $actualAttribute   = $actualElement->attributes->getNamedItem(
-                    $expectedAttribute->name
-                );
-
-                if (!$actualAttribute) {
-                    static::fail(
-                        sprintf(
-                            '%s%sCould not find attribute "%s" on node "%s"',
-                            $message,
-                            !empty($message) ? "\n" : '',
-                            $expectedAttribute->name,
-                            $expectedElement->tagName
-                        )
-                    );
-                }
-            }
-        }
-
-        PHPUnit_Util_XML::removeCharacterDataNodes($expectedElement);
-        PHPUnit_Util_XML::removeCharacterDataNodes($actualElement);
-
-        static::assertEquals(
-            $expectedElement->childNodes->length,
-            $actualElement->childNodes->length,
-            sprintf(
-                '%s%sNumber of child nodes of "%s" differs',
-                $message,
-                !empty($message) ? "\n" : '',
-                $expectedElement->tagName
-            )
-        );
-
-        for ($i = 0; $i < $expectedElement->childNodes->length; $i++) {
-            static::assertEqualXMLStructure(
-                $expectedElement->childNodes->item($i),
-                $actualElement->childNodes->item($i),
-                $checkAttributes,
-                $message
-            );
-        }
-    }
-
-    /**
-     * Evaluates a PHPUnit_Framework_Constraint matcher object.
-     *
-     * @param mixed                        $value
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $message
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
-    {
-        self::$count += count($constraint);
-
-        $constraint->evaluate($value, $message);
-    }
-
-    /**
-     * Asserts that a string is a valid JSON string.
-     *
-     * @param string $actualJson
-     * @param string $message
-     *
-     * @since Method available since Release 3.7.20
-     */
-    public static function assertJson($actualJson, $message = '')
-    {
-        if (!is_string($actualJson)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        static::assertThat($actualJson, static::isJson(), $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        static::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are not equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        static::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        static::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        static::assertThat($actualJson, $constraint, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        static::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        static::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraint), $message);
-    }
-
-    /**
-     * Asserts that two JSON files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        static::assertFileExists($expectedFile, $message);
-        static::assertFileExists($actualFile, $message);
-
-        $actualJson   = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        static::assertThat($expectedJson, $constraintActual, $message);
-        static::assertThat($actualJson, $constraintExpected, $message);
-    }
-
-    /**
-     * Asserts that two JSON files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        static::assertFileExists($expectedFile, $message);
-        static::assertFileExists($actualFile, $message);
-
-        $actualJson   = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        static::assertJson($expectedJson, $message);
-        static::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        static::assertThat($expectedJson, new PHPUnit_Framework_Constraint_Not($constraintActual), $message);
-        static::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraintExpected), $message);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_And matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_And
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function logicalAnd()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_And;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Or
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function logicalOr()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Or;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Not matcher object.
-     *
-     * @param PHPUnit_Framework_Constraint $constraint
-     *
-     * @return PHPUnit_Framework_Constraint_Not
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function logicalNot(PHPUnit_Framework_Constraint $constraint)
-    {
-        return new PHPUnit_Framework_Constraint_Not($constraint);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Xor
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function logicalXor()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Xor;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsAnything
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function anything()
-    {
-        return new PHPUnit_Framework_Constraint_IsAnything;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsTrue
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function isTrue()
-    {
-        return new PHPUnit_Framework_Constraint_IsTrue;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
-     *
-     * @param callable $callback
-     *
-     * @return PHPUnit_Framework_Constraint_Callback
-     */
-    public static function callback($callback)
-    {
-        return new PHPUnit_Framework_Constraint_Callback($callback);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsFalse
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function isFalse()
-    {
-        return new PHPUnit_Framework_Constraint_IsFalse;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsJson
-     *
-     * @since Method available since Release 3.7.20
-     */
-    public static function isJson()
-    {
-        return new PHPUnit_Framework_Constraint_IsJson;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsNull
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function isNull()
-    {
-        return new PHPUnit_Framework_Constraint_IsNull;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsFinite matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsFinite
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public static function isFinite()
-    {
-        return new PHPUnit_Framework_Constraint_IsFinite;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsInfinite matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsInfinite
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public static function isInfinite()
-    {
-        return new PHPUnit_Framework_Constraint_IsInfinite;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsNan matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsNan
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public static function isNan()
-    {
-        return new PHPUnit_Framework_Constraint_IsNan;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
-     *
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $attributeName
-     *
-     * @return PHPUnit_Framework_Constraint_Attribute
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_Attribute(
-            $constraint,
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
-     * object.
-     *
-     * @param mixed $value
-     * @param bool  $checkForObjectIdentity
-     * @param bool  $checkForNonObjectIdentity
-     *
-     * @return PHPUnit_Framework_Constraint_TraversableContains
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContains($value, $checkForObjectIdentity, $checkForNonObjectIdentity);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param string $type
-     *
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     *
-     * @since Method available since Release 3.1.4
-     */
-    public static function containsOnly($type)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param string $classname
-     *
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     */
-    public static function containsOnlyInstancesOf($classname)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($classname, false);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
-     *
-     * @param mixed $key
-     *
-     * @return PHPUnit_Framework_Constraint_ArrayHasKey
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function arrayHasKey($key)
-    {
-        return new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
-     *
-     * @param mixed $value
-     * @param float $delta
-     * @param int   $maxDepth
-     * @param bool  $canonicalize
-     * @param bool  $ignoreCase
-     *
-     * @return PHPUnit_Framework_Constraint_IsEqual
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return new PHPUnit_Framework_Constraint_IsEqual(
-            $value,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
-     * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
-     * object.
-     *
-     * @param string $attributeName
-     * @param mixed  $value
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     *
-     * @return PHPUnit_Framework_Constraint_Attribute
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return static::attribute(
-            static::equalTo(
-                $value,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            ),
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsEmpty
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function isEmpty()
-    {
-        return new PHPUnit_Framework_Constraint_IsEmpty;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_FileExists
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function fileExists()
-    {
-        return new PHPUnit_Framework_Constraint_FileExists;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_Constraint_GreaterThan
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function greaterThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_GreaterThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_Constraint_Or
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function greaterThanOrEqual($value)
-    {
-        return static::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_GreaterThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
-     *
-     * @param string $attributeName
-     *
-     * @return PHPUnit_Framework_Constraint_ClassHasAttribute
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function classHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
-     * object.
-     *
-     * @param string $attributeName
-     *
-     * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function classHasStaticAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
-     *
-     * @param string $attributeName
-     *
-     * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function objectHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
-     *
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_Constraint_IsIdentical
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function identicalTo($value)
-    {
-        return new PHPUnit_Framework_Constraint_IsIdentical($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
-     *
-     * @param string $className
-     *
-     * @return PHPUnit_Framework_Constraint_IsInstanceOf
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function isInstanceOf($className)
-    {
-        return new PHPUnit_Framework_Constraint_IsInstanceOf($className);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
-     *
-     * @param string $type
-     *
-     * @return PHPUnit_Framework_Constraint_IsType
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function isType($type)
-    {
-        return new PHPUnit_Framework_Constraint_IsType($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_Constraint_LessThan
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function lessThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_LessThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_Constraint_Or
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public static function lessThanOrEqual($value)
-    {
-        return static::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_LessThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
-     *
-     * @param string $pattern
-     *
-     * @return PHPUnit_Framework_Constraint_PCREMatch
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function matchesRegularExpression($pattern)
-    {
-        return new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
-     *
-     * @param string $string
-     *
-     * @return PHPUnit_Framework_Constraint_StringMatches
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public static function matches($string)
-    {
-        return new PHPUnit_Framework_Constraint_StringMatches($string);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
-     *
-     * @param mixed $prefix
-     *
-     * @return PHPUnit_Framework_Constraint_StringStartsWith
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function stringStartsWith($prefix)
-    {
-        return new PHPUnit_Framework_Constraint_StringStartsWith($prefix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
-     *
-     * @param string $string
-     * @param bool   $case
-     *
-     * @return PHPUnit_Framework_Constraint_StringContains
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function stringContains($string, $case = true)
-    {
-        return new PHPUnit_Framework_Constraint_StringContains($string, $case);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
-     *
-     * @param mixed $suffix
-     *
-     * @return PHPUnit_Framework_Constraint_StringEndsWith
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function stringEndsWith($suffix)
-    {
-        return new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Count matcher object.
-     *
-     * @param int $count
-     *
-     * @return PHPUnit_Framework_Constraint_Count
-     */
-    public static function countOf($count)
-    {
-        return new PHPUnit_Framework_Constraint_Count($count);
-    }
-    /**
-     * Fails a test with the given message.
-     *
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function fail($message = '')
-    {
-        throw new PHPUnit_Framework_AssertionFailedError($message);
-    }
-
-    /**
-     * Returns the value of an attribute of a class or an object.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param string|object $classOrObject
-     * @param string        $attributeName
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function readAttribute($classOrObject, $attributeName)
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        if (is_string($classOrObject)) {
-            if (!class_exists($classOrObject)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'class name'
-                );
-            }
-
-            return static::getStaticAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } elseif (is_object($classOrObject)) {
-            return static::getObjectAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'class name or object'
-            );
-        }
-    }
-
-    /**
-     * Returns the value of a static attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param string $className
-     * @param string $attributeName
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public static function getStaticAttribute($className, $attributeName)
-    {
-        if (!is_string($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class name');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        $class = new ReflectionClass($className);
-
-        while ($class) {
-            $attributes = $class->getStaticProperties();
-
-            if (array_key_exists($attributeName, $attributes)) {
-                return $attributes[$attributeName];
-            }
-
-            $class = $class->getParentClass();
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in class.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Returns the value of an object's attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param object $object
-     * @param string $attributeName
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public static function getObjectAttribute($object, $attributeName)
-    {
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'object');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        try {
-            $attribute = new ReflectionProperty($object, $attributeName);
-        } catch (ReflectionException $e) {
-            $reflector = new ReflectionObject($object);
-
-            while ($reflector = $reflector->getParentClass()) {
-                try {
-                    $attribute = $reflector->getProperty($attributeName);
-                    break;
-                } catch (ReflectionException $e) {
-                }
-            }
-        }
-
-        if (isset($attribute)) {
-            if (!$attribute || $attribute->isPublic()) {
-                return $object->$attributeName;
-            }
-
-            $attribute->setAccessible(true);
-            $value = $attribute->getValue($object);
-            $attribute->setAccessible(false);
-
-            return $value;
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in object.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Mark the test as incomplete.
-     *
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_IncompleteTestError
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function markTestIncomplete($message = '')
-    {
-        throw new PHPUnit_Framework_IncompleteTestError($message);
-    }
-
-    /**
-     * Mark the test as skipped.
-     *
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_SkippedTestError
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function markTestSkipped($message = '')
-    {
-        throw new PHPUnit_Framework_SkippedTestError($message);
-    }
-
-    /**
-     * Return the current assertion count.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.3.3
-     */
-    public static function getCount()
-    {
-        return self::$count;
-    }
-
-    /**
-     * Reset the assertion counter.
-     *
-     * @since Method available since Release 3.3.3
-     */
-    public static function resetCount()
-    {
-        self::$count = 0;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Returns a matcher that matches when the method is executed
- * zero or more times.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount
- *
- * @since Method available since Release 3.0.0
- */
-function any()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::any',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsAnything
- *
- * @since Method available since Release 3.0.0
- */
-function anything()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::anything',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
- *
- * @param mixed $key
- *
- * @return PHPUnit_Framework_Constraint_ArrayHasKey
- *
- * @since Method available since Release 3.0.0
- */
-function arrayHasKey($key)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::arrayHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array has a specified key.
- *
- * @param mixed             $key
- * @param array|ArrayAccess $array
- * @param string            $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertArrayHasKey($key, $array, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArrayHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array has a specified subset.
- *
- * @param array|ArrayAccess $subset
- * @param array|ArrayAccess $array
- * @param bool              $strict  Check for object identity
- * @param string            $message
- *
- * @since Method available since Release 4.4.0
- */
-function assertArraySubset($subset, $array, $strict = false, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArraySubset',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an array does not have a specified key.
- *
- * @param mixed             $key
- * @param array|ArrayAccess $array
- * @param string            $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertArrayNotHasKey($key, $array, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertArrayNotHasKey',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object contains a needle.
- *
- * @param mixed  $needle
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- * @param bool   $ignoreCase
- * @param bool   $checkForObjectIdentity
- * @param bool   $checkForNonObjectIdentity
- *
- * @since Method available since Release 3.0.0
- */
-function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object contains only values of a given type.
- *
- * @param string $type
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param bool   $isNativeType
- * @param string $message
- *
- * @since Method available since Release 3.1.4
- */
-function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable
- * that is stored in an attribute.
- *
- * @param int    $expectedCount
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.6.0
- */
-function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a static attribute of a class or an attribute of an object
- * is empty.
- *
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is equal to an attribute of an object.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- * @param float  $delta
- * @param int    $maxDepth
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- */
-function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is greater than another value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeGreaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is greater than or equal to another value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeGreaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is smaller than another value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeLessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is smaller than or equal to another value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeLessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object does not contain a needle.
- *
- * @param mixed  $needle
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- * @param bool   $ignoreCase
- * @param bool   $checkForObjectIdentity
- * @param bool   $checkForNonObjectIdentity
- *
- * @since Method available since Release 3.0.0
- */
-function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack that is stored in a static attribute of a class
- * or an attribute of an object does not contain only values of a given
- * type.
- *
- * @param string $type
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param bool   $isNativeType
- * @param string $message
- *
- * @since Method available since Release 3.1.4
- */
-function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable
- * that is stored in an attribute.
- *
- * @param int    $expectedCount
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.6.0
- */
-function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a static attribute of a class or an attribute of an object
- * is not empty.
- *
- * @param string $haystackAttributeName
- * @param mixed  $haystackClassOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not equal to an attribute of an object.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param string $actualClassOrObject
- * @param string $message
- * @param float  $delta
- * @param int    $maxDepth
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- */
-function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an attribute is of a given type.
- *
- * @param string $expected
- * @param string $attributeName
- * @param mixed  $classOrObject
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable and an attribute of an object do not have the
- * same type and value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param object $actualClassOrObject
- * @param string $message
- */
-function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeNotSame',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable and an attribute of an object have the same type
- * and value.
- *
- * @param mixed  $expected
- * @param string $actualAttributeName
- * @param object $actualClassOrObject
- * @param string $message
- */
-function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertAttributeSame',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class has a specified attribute.
- *
- * @param string $attributeName
- * @param string $className
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertClassHasAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class has a specified static attribute.
- *
- * @param string $attributeName
- * @param string $className
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertClassHasStaticAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class does not have a specified attribute.
- *
- * @param string $attributeName
- * @param string $className
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertClassNotHasAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassNotHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a class does not have a specified static attribute.
- *
- * @param string $attributeName
- * @param string $className
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains a needle.
- *
- * @param mixed  $needle
- * @param mixed  $haystack
- * @param string $message
- * @param bool   $ignoreCase
- * @param bool   $checkForObjectIdentity
- * @param bool   $checkForNonObjectIdentity
- *
- * @since Method available since Release 2.1.0
- */
-function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains only values of a given type.
- *
- * @param string $type
- * @param mixed  $haystack
- * @param bool   $isNativeType
- * @param string $message
- *
- * @since Method available since Release 3.1.4
- */
-function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack contains only instances of a given classname
- *
- * @param string            $classname
- * @param array|Traversable $haystack
- * @param string            $message
- */
-function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable.
- *
- * @param int    $expectedCount
- * @param mixed  $haystack
- * @param string $message
- */
-function assertCount($expectedCount, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is empty.
- *
- * @param mixed  $actual
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertEmpty($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a hierarchy of DOMElements matches.
- *
- * @param DOMElement $expectedElement
- * @param DOMElement $actualElement
- * @param bool       $checkAttributes
- * @param string     $message
- *
- * @since Method available since Release 3.3.0
- */
-function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEqualXMLStructure',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables are equal.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- * @param float  $delta
- * @param int    $maxDepth
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- */
-function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is not true.
- *
- * @param bool   $condition
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotTrue($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is false.
- *
- * @param bool   $condition
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertFalse($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of one file is equal to the contents of another
- * file.
- *
- * @param string $expected
- * @param string $actual
- * @param string $message
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @since Method available since Release 3.2.14
- */
-function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a file exists.
- *
- * @param string $filename
- * @param string $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertFileExists($filename, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileExists',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of one file is not equal to the contents of
- * another file.
- *
- * @param string $expected
- * @param string $actual
- * @param string $message
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @since Method available since Release 3.2.14
- */
-function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a file does not exist.
- *
- * @param string $filename
- * @param string $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertFileNotExists($filename, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFileNotExists',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is greater than another value.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertGreaterThan($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertGreaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is greater than or equal to another value.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertGreaterThanOrEqual($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertGreaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertInstanceOf($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertInternalType($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string is a valid JSON string.
- *
- * @param string $actualJson
- * @param string $message
- *
- * @since Method available since Release 3.7.20
- */
-function assertJson($actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJson',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two JSON files are equal.
- *
- * @param string $expectedFile
- * @param string $actualFile
- * @param string $message
- */
-function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonFileEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two JSON files are not equal.
- *
- * @param string $expectedFile
- * @param string $actualFile
- * @param string $message
- */
-function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonFileNotEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the generated JSON encoded object and the content of the given file are equal.
- *
- * @param string $expectedFile
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two given JSON encoded objects or arrays are equal.
- *
- * @param string $expectedJson
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the generated JSON encoded object and the content of the given file are not equal.
- *
- * @param string $expectedFile
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two given JSON encoded objects or arrays are not equal.
- *
- * @param string $expectedJson
- * @param string $actualJson
- * @param string $message
- */
-function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is smaller than another value.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertLessThan($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertLessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a value is smaller than or equal to another value.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertLessThanOrEqual($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertLessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is finite.
- *
- * @param mixed  $actual
- * @param string $message
- */
-function assertFinite($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertFinite',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is infinite.
- *
- * @param mixed  $actual
- * @param string $message
- */
-function assertInfinite($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertInfinite',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is nan.
- *
- * @param mixed  $actual
- * @param string $message
- */
-function assertNan($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNan',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack does not contain a needle.
- *
- * @param mixed  $needle
- * @param mixed  $haystack
- * @param string $message
- * @param bool   $ignoreCase
- * @param bool   $checkForObjectIdentity
- * @param bool   $checkForNonObjectIdentity
- *
- * @since Method available since Release 2.1.0
- */
-function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotContains',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a haystack does not contain only values of a given type.
- *
- * @param string $type
- * @param mixed  $haystack
- * @param bool   $isNativeType
- * @param string $message
- *
- * @since Method available since Release 3.1.4
- */
-function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotContainsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts the number of elements of an array, Countable or Traversable.
- *
- * @param int    $expectedCount
- * @param mixed  $haystack
- * @param string $message
- */
-function assertNotCount($expectedCount, $haystack, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotCount',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not empty.
- *
- * @param mixed  $actual
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotEmpty($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables are not equal.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- * @param float  $delta
- * @param int    $maxDepth
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @since Method available since Release 2.3.0
- */
-function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotEquals',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertNotInstanceOf($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not of a given type.
- *
- * @param string $expected
- * @param mixed  $actual
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertNotInternalType($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotInternalType',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is not false.
- *
- * @param bool   $condition
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertNotFalse($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is not null.
- *
- * @param mixed  $actual
- * @param string $message
- */
-function assertNotNull($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotNull',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given regular expression.
- *
- * @param string $pattern
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 2.1.0
- */
-function assertNotRegExp($pattern, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotRegExp',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables do not have the same type and value.
- * Used on objects, it asserts that two variables do not reference
- * the same object.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- */
-function assertNotSame($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotSame',
-        func_get_args()
-    );
-}
-
-/**
- * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
- * is not the same.
- *
- * @param array|Countable|Traversable $expected
- * @param array|Countable|Traversable $actual
- * @param string                      $message
- */
-function assertNotSameSize($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNotSameSize',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a variable is null.
- *
- * @param mixed  $actual
- * @param string $message
- */
-function assertNull($actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertNull',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an object has a specified attribute.
- *
- * @param string $attributeName
- * @param object $object
- * @param string $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertObjectHasAttribute($attributeName, $object, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertObjectHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that an object does not have a specified attribute.
- *
- * @param string $attributeName
- * @param object $object
- * @param string $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertObjectNotHasAttribute($attributeName, $object, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertObjectNotHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given regular expression.
- *
- * @param string $pattern
- * @param string $string
- * @param string $message
- */
-function assertRegExp($pattern, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertRegExp',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two variables have the same type and value.
- * Used on objects, it asserts that two variables reference
- * the same object.
- *
- * @param mixed  $expected
- * @param mixed  $actual
- * @param string $message
- */
-function assertSame($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSame',
-        func_get_args()
-    );
-}
-
-/**
- * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
- * is the same.
- *
- * @param array|Countable|Traversable $expected
- * @param array|Countable|Traversable $actual
- * @param string                      $message
- */
-function assertSameSize($expected, $actual, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertSameSize',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string ends not with a given prefix.
- *
- * @param string $suffix
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.4.0
- */
-function assertStringEndsNotWith($suffix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEndsNotWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string ends with a given prefix.
- *
- * @param string $suffix
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.4.0
- */
-function assertStringEndsWith($suffix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEndsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of a string is equal
- * to the contents of a file.
- *
- * @param string $expectedFile
- * @param string $actualString
- * @param string $message
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @since Method available since Release 3.3.0
- */
-function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringEqualsFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given format string.
- *
- * @param string $format
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertStringMatchesFormat($format, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringMatchesFormat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string matches a given format file.
- *
- * @param string $formatFile
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertStringMatchesFormatFile($formatFile, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringMatchesFormatFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that the contents of a string is not equal
- * to the contents of a file.
- *
- * @param string $expectedFile
- * @param string $actualString
- * @param string $message
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @since Method available since Release 3.3.0
- */
-function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotEqualsFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given format string.
- *
- * @param string $format
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertStringNotMatchesFormat($format, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotMatchesFormat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string does not match a given format string.
- *
- * @param string $formatFile
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.5.0
- */
-function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string starts not with a given prefix.
- *
- * @param string $prefix
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.4.0
- */
-function assertStringStartsNotWith($prefix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringStartsNotWith',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a string starts with a given prefix.
- *
- * @param string $prefix
- * @param string $string
- * @param string $message
- *
- * @since Method available since Release 3.4.0
- */
-function assertStringStartsWith($prefix, $string, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertStringStartsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Evaluates a PHPUnit_Framework_Constraint matcher object.
- *
- * @param  mixed$value
- * @param PHPUnit_Framework_Constraint $constraint
- * @param string                       $message
- *
- * @since Method available since Release 3.0.0
- */
-function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertThat',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that a condition is true.
- *
- * @param bool   $condition
- * @param string $message
- *
- * @throws PHPUnit_Framework_AssertionFailedError
- */
-function assertTrue($condition, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML files are equal.
- *
- * @param string $expectedFile
- * @param string $actualFile
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlFileEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML files are not equal.
- *
- * @param string $expectedFile
- * @param string $actualFile
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlFileNotEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are equal.
- *
- * @param string $expectedFile
- * @param string $actualXml
- * @param string $message
- *
- * @since Method available since Release 3.3.0
- */
-function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are equal.
- *
- * @param string $expectedXml
- * @param string $actualXml
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are not equal.
- *
- * @param string $expectedFile
- * @param string $actualXml
- * @param string $message
- *
- * @since Method available since Release 3.3.0
- */
-function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlFile',
-        func_get_args()
-    );
-}
-
-/**
- * Asserts that two XML documents are not equal.
- *
- * @param string $expectedXml
- * @param string $actualXml
- * @param string $message
- *
- * @since Method available since Release 3.1.0
- */
-function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlString',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method is executed
- * at the given $index.
- *
- * @param int $index
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex
- *
- * @since Method available since Release 3.0.0
- */
-function at($index)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::at',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method is executed at least once.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce
- *
- * @since Method available since Release 3.0.0
- */
-function atLeastOnce()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::atLeastOnce',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
- *
- * @param PHPUnit_Framework_Constraint $constraint
- * @param string                       $attributeName
- *
- * @return PHPUnit_Framework_Constraint_Attribute
- *
- * @since Method available since Release 3.1.0
- */
-function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::attribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
- * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
- * object.
- *
- * @param string $attributeName
- * @param mixed  $value
- * @param float  $delta
- * @param int    $maxDepth
- * @param bool   $canonicalize
- * @param bool   $ignoreCase
- *
- * @return PHPUnit_Framework_Constraint_Attribute
- *
- * @since Method available since Release 3.1.0
- */
-function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::attributeEqualTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
- *
- * @param callable $callback
- *
- * @return PHPUnit_Framework_Constraint_Callback
- */
-function callback($callback)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::callback',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
- *
- * @param string $attributeName
- *
- * @return PHPUnit_Framework_Constraint_ClassHasAttribute
- *
- * @since Method available since Release 3.1.0
- */
-function classHasAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::classHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
- * object.
- *
- * @param string $attributeName
- *
- * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
- *
- * @since Method available since Release 3.1.0
- */
-function classHasStaticAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::classHasStaticAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
- * object.
- *
- * @param mixed $value
- * @param bool  $checkForObjectIdentity
- * @param bool  $checkForNonObjectIdentity
- *
- * @return PHPUnit_Framework_Constraint_TraversableContains
- *
- * @since Method available since Release 3.0.0
- */
-function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::contains',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
- * object.
- *
- * @param string $type
- *
- * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
- *
- * @since Method available since Release 3.1.4
- */
-function containsOnly($type)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::containsOnly',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
- * object.
- *
- * @param string $classname
- *
- * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
- */
-function containsOnlyInstancesOf($classname)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::containsOnlyInstancesOf',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
- *
- * @param mixed $value
- * @param float $delta
- * @param int   $maxDepth
- * @param bool  $canonicalize
- * @param bool  $ignoreCase
- *
- * @return PHPUnit_Framework_Constraint_IsEqual
- *
- * @since Method available since Release 3.0.0
- */
-function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::equalTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method is executed
- * exactly $count times.
- *
- * @param int $count
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- *
- * @since Method available since Release 3.0.0
- */
-function exactly($count)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::exactly',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
- *
- * @return PHPUnit_Framework_Constraint_FileExists
- *
- * @since Method available since Release 3.0.0
- */
-function fileExists()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::fileExists',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
- *
- * @param mixed $value
- *
- * @return PHPUnit_Framework_Constraint_GreaterThan
- *
- * @since Method available since Release 3.0.0
- */
-function greaterThan($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::greaterThan',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
- * a PHPUnit_Framework_Constraint_IsEqual and a
- * PHPUnit_Framework_Constraint_GreaterThan matcher object.
- *
- * @param mixed $value
- *
- * @return PHPUnit_Framework_Constraint_Or
- *
- * @since Method available since Release 3.1.0
- */
-function greaterThanOrEqual($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::greaterThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
- *
- * @param mixed $value
- *
- * @return PHPUnit_Framework_Constraint_IsIdentical
- *
- * @since Method available since Release 3.0.0
- */
-function identicalTo($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::identicalTo',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsEmpty
- *
- * @since Method available since Release 3.5.0
- */
-function isEmpty()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isEmpty',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsFalse
- *
- * @since Method available since Release 3.3.0
- */
-function isFalse()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isFalse',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
- *
- * @param string $className
- *
- * @return PHPUnit_Framework_Constraint_IsInstanceOf
- *
- * @since Method available since Release 3.0.0
- */
-function isInstanceOf($className)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isInstanceOf',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsJson
- *
- * @since Method available since Release 3.7.20
- */
-function isJson()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isJson',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsNull
- *
- * @since Method available since Release 3.3.0
- */
-function isNull()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isNull',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
- *
- * @return PHPUnit_Framework_Constraint_IsTrue
- *
- * @since Method available since Release 3.3.0
- */
-function isTrue()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isTrue',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
- *
- * @param string $type
- *
- * @return PHPUnit_Framework_Constraint_IsType
- *
- * @since Method available since Release 3.0.0
- */
-function isType($type)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::isType',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
- *
- * @param mixed $value
- *
- * @return PHPUnit_Framework_Constraint_LessThan
- *
- * @since Method available since Release 3.0.0
- */
-function lessThan($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::lessThan',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
- * a PHPUnit_Framework_Constraint_IsEqual and a
- * PHPUnit_Framework_Constraint_LessThan matcher object.
- *
- * @param mixed $value
- *
- * @return PHPUnit_Framework_Constraint_Or
- *
- * @since Method available since Release 3.1.0
- */
-function lessThanOrEqual($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::lessThanOrEqual',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_And matcher object.
- *
- * @return PHPUnit_Framework_Constraint_And
- *
- * @since Method available since Release 3.0.0
- */
-function logicalAnd()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalAnd',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Not matcher object.
- *
- * @param PHPUnit_Framework_Constraint $constraint
- *
- * @return PHPUnit_Framework_Constraint_Not
- *
- * @since Method available since Release 3.0.0
- */
-function logicalNot(PHPUnit_Framework_Constraint $constraint)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalNot',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Or matcher object.
- *
- * @return PHPUnit_Framework_Constraint_Or
- *
- * @since Method available since Release 3.0.0
- */
-function logicalOr()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalOr',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
- *
- * @return PHPUnit_Framework_Constraint_Xor
- *
- * @since Method available since Release 3.0.0
- */
-function logicalXor()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::logicalXor',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
- *
- * @param string $string
- *
- * @return PHPUnit_Framework_Constraint_StringMatches
- *
- * @since Method available since Release 3.5.0
- */
-function matches($string)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::matches',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
- *
- * @param string $pattern
- *
- * @return PHPUnit_Framework_Constraint_PCREMatch
- *
- * @since Method available since Release 3.0.0
- */
-function matchesRegularExpression($pattern)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::matchesRegularExpression',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method is never executed.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- *
- * @since Method available since Release 3.0.0
- */
-function never()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::never',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
- *
- * @param string $attributeName
- *
- * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
- *
- * @since Method available since Release 3.0.0
- */
-function objectHasAttribute($attributeName)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::objectHasAttribute',
-        func_get_args()
-    );
-}
-
-/**
- * @param mixed $value, ...
- *
- * @return PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls
- *
- * @since Method available since Release 3.0.0
- */
-function onConsecutiveCalls()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::onConsecutiveCalls',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a matcher that matches when the method is executed exactly once.
- *
- * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
- *
- * @since Method available since Release 3.0.0
- */
-function once()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::once',
-        func_get_args()
-    );
-}
-
-/**
- * @param int $argumentIndex
- *
- * @return PHPUnit_Framework_MockObject_Stub_ReturnArgument
- *
- * @since Method available since Release 3.3.0
- */
-function returnArgument($argumentIndex)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnArgument',
-        func_get_args()
-    );
-}
-
-/**
- * @param mixed $callback
- *
- * @return PHPUnit_Framework_MockObject_Stub_ReturnCallback
- *
- * @since Method available since Release 3.3.0
- */
-function returnCallback($callback)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnCallback',
-        func_get_args()
-    );
-}
-
-/**
- * Returns the current object.
- *
- * This method is useful when mocking a fluent interface.
- *
- * @return PHPUnit_Framework_MockObject_Stub_ReturnSelf
- *
- * @since Method available since Release 3.6.0
- */
-function returnSelf()
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnSelf',
-        func_get_args()
-    );
-}
-
-/**
- * @param mixed $value
- *
- * @return PHPUnit_Framework_MockObject_Stub_Return
- *
- * @since Method available since Release 3.0.0
- */
-function returnValue($value)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnValue',
-        func_get_args()
-    );
-}
-
-/**
- * @param array $valueMap
- *
- * @return PHPUnit_Framework_MockObject_Stub_ReturnValueMap
- *
- * @since Method available since Release 3.6.0
- */
-function returnValueMap(array $valueMap)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::returnValueMap',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
- *
- * @param string $string
- * @param bool   $case
- *
- * @return PHPUnit_Framework_Constraint_StringContains
- *
- * @since Method available since Release 3.0.0
- */
-function stringContains($string, $case = true)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringContains',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
- *
- * @param mixed $suffix
- *
- * @return PHPUnit_Framework_Constraint_StringEndsWith
- *
- * @since Method available since Release 3.4.0
- */
-function stringEndsWith($suffix)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringEndsWith',
-        func_get_args()
-    );
-}
-
-/**
- * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
- *
- * @param mixed $prefix
- *
- * @return PHPUnit_Framework_Constraint_StringStartsWith
- *
- * @since Method available since Release 3.4.0
- */
-function stringStartsWith($prefix)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_Assert::stringStartsWith',
-        func_get_args()
-    );
-}
-
-/**
- * @param Exception $exception
- *
- * @return PHPUnit_Framework_MockObject_Stub_Exception
- *
- * @since Method available since Release 3.1.0
- */
-function throwException(Exception $exception)
-{
-    return call_user_func_array(
-        'PHPUnit_Framework_TestCase::throwException',
-        func_get_args()
-    );
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Thrown when an assertion failed.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_AssertionFailedError extends PHPUnit_Framework_Exception implements PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Wrapper for getMessage() which is declared as final.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getMessage();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An empty Listener that can be extended to implement TestListener
- * with just a few lines of code.
- *
- * @see PHPUnit_Framework_TestListener for documentation on the API methods.
- * @since Class available since Release 4.0.0
- */
-abstract class PHPUnit_Framework_BaseTestListener implements PHPUnit_Framework_TestListener
-{
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-    }
-
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-    }
-
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-    }
-
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Framework_CodeCoverageException extends PHPUnit_Framework_Exception
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Exporter\Exporter;
-
-/**
- * Abstract base class for constraints. which are placed upon any value.
- *
- * @since      Interface available since Release 3.0.0
- */
-abstract class PHPUnit_Framework_Constraint implements Countable, PHPUnit_Framework_SelfDescribing
-{
-    protected $exporter;
-
-    public function __construct()
-    {
-        $this->exporter = new Exporter;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = false;
-
-        if ($this->matches($other)) {
-            $success = true;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return false;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Throws an exception for the given compared value and test description
-     *
-     * @param mixed                                          $other             Evaluated value or object.
-     * @param string                                         $description       Additional information about the test
-     * @param SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    protected function fail($other, $description, SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure = null)
-    {
-        $failureDescription = sprintf(
-            'Failed asserting that %s.',
-            $this->failureDescription($other)
-        );
-
-        $additionalFailureDescription = $this->additionalFailureDescription($other);
-
-        if ($additionalFailureDescription) {
-            $failureDescription .= "\n" . $additionalFailureDescription;
-        }
-
-        if (!empty($description)) {
-            $failureDescription = $description . "\n" . $failureDescription;
-        }
-
-        throw new PHPUnit_Framework_ExpectationFailedException(
-            $failureDescription,
-            $comparisonFailure
-        );
-    }
-
-    /**
-     * Return additional failure description where needed
-     *
-     * The function can be overridden to provide additional failure
-     * information like a diff
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function additionalFailureDescription($other)
-    {
-        return '';
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * To provide additional failure information additionalFailureDescription
-     * can be used.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $this->exporter->export($other) . ' ' . $this->toString();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical AND.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_And extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = [];
-
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $lastConstraint = null;
-
-    /**
-     * @param PHPUnit_Framework_Constraint[] $constraints
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = [];
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                throw new PHPUnit_Framework_Exception(
-                    'All parameters to ' . __CLASS__ .
-                    ' must be a constraint object.'
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success    = true;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            if (!$constraint->evaluate($other, $description, true)) {
-                $success = false;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' and ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the array it is evaluated for has a given key.
- *
- * Uses array_key_exists() to check if the key is found in the input array, if
- * not found the evaluation fails.
- *
- * The array key is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_ArrayHasKey extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int|string
-     */
-    protected $key;
-
-    /**
-     * @param int|string $key
-     */
-    public function __construct($key)
-    {
-        parent::__construct();
-        $this->key = $key;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if (is_array($other)) {
-            return array_key_exists($this->key, $other);
-        }
-
-        if ($other instanceof ArrayAccess) {
-            return $other->offsetExists($this->key);
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'has the key ' . $this->exporter->export($this->key);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return 'an array ' . $this->toString();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the array it is evaluated for has a specified subset.
- *
- * Uses array_replace_recursive() to check if a key value subset is part of the
- * subject array.
- *
- * @since Class available since Release 4.4.0
- */
-class PHPUnit_Framework_Constraint_ArraySubset extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var array|ArrayAccess
-     */
-    protected $subset;
-
-    /**
-     * @var bool
-     */
-    protected $strict;
-
-    /**
-     * @param array|ArrayAccess $subset
-     * @param bool              $strict Check for object identity
-     */
-    public function __construct($subset, $strict = false)
-    {
-        parent::__construct();
-        $this->strict = $strict;
-        $this->subset = $subset;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param array|ArrayAccess $other Array or ArrayAccess object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $patched = array_replace_recursive($other, $this->subset);
-
-        if ($this->strict) {
-            return $other === $patched;
-        } else {
-            return $other == $patched;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'has the subset ' . $this->exporter->export($this->subset);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return 'an array ' . $this->toString();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_Attribute extends PHPUnit_Framework_Constraint_Composite
-{
-    /**
-     * @var string
-     */
-    protected $attributeName;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $attributeName
-     */
-    public function __construct(PHPUnit_Framework_Constraint $constraint, $attributeName)
-    {
-        parent::__construct($constraint);
-
-        $this->attributeName = $attributeName;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        return parent::evaluate(
-            PHPUnit_Framework_Assert::readAttribute(
-                $other,
-                $this->attributeName
-            ),
-            $description,
-            $returnResult
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'attribute "' . $this->attributeName . '" ' .
-               $this->innerConstraint->toString();
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return $this->toString();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that evaluates against a specified closure.
- */
-class PHPUnit_Framework_Constraint_Callback extends PHPUnit_Framework_Constraint
-{
-    private $callback;
-
-    /**
-     * @param callable $callback
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($callback)
-    {
-        if (!is_callable($callback)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'callable'
-            );
-        }
-
-        parent::__construct();
-
-        $this->callback = $callback;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $value. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return call_user_func($this->callback, $other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is accepted by specified callback';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the class it is evaluated for has a given
- * attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @since Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_ClassHasAttribute extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $attributeName;
-
-    /**
-     * @param string $attributeName
-     */
-    public function __construct($attributeName)
-    {
-        parent::__construct();
-        $this->attributeName = $attributeName;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $class = new ReflectionClass($other);
-
-        return $class->hasProperty($this->attributeName);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'has attribute "%s"',
-            $this->attributeName
-        );
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%sclass "%s" %s',
-            is_object($other) ? 'object of ' : '',
-            is_object($other) ? get_class($other) : $other,
-            $this->toString()
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the class it is evaluated for has a given
- * static attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @since Class available since Release 3.1.0
- */
-class PHPUnit_Framework_Constraint_ClassHasStaticAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $class = new ReflectionClass($other);
-
-        if ($class->hasProperty($this->attributeName)) {
-            $attribute = $class->getProperty($this->attributeName);
-
-            return $attribute->isStatic();
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function toString()
-    {
-        return sprintf(
-            'has static attribute "%s"',
-            $this->attributeName
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.1.0
- */
-abstract class PHPUnit_Framework_Constraint_Composite extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $innerConstraint;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $innerConstraint
-     */
-    public function __construct(PHPUnit_Framework_Constraint $innerConstraint)
-    {
-        parent::__construct();
-        $this->innerConstraint = $innerConstraint;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        try {
-            return $this->innerConstraint->evaluate(
-                $other,
-                $description,
-                $returnResult
-            );
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return count($this->innerConstraint);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.6.0
- */
-class PHPUnit_Framework_Constraint_Count extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int
-     */
-    protected $expectedCount = 0;
-
-    /**
-     * @param int $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedCount = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $this->expectedCount === $this->getCountOf($other);
-    }
-
-    /**
-     * @param mixed $other
-     *
-     * @return bool
-     */
-    protected function getCountOf($other)
-    {
-        if ($other instanceof Countable || is_array($other)) {
-            return count($other);
-        } elseif ($other instanceof Traversable) {
-            if ($other instanceof IteratorAggregate) {
-                $iterator = $other->getIterator();
-            } else {
-                $iterator = $other;
-            }
-
-            $key   = $iterator->key();
-            $count = iterator_count($iterator);
-
-            // manually rewind $iterator to previous key, since iterator_count
-            // moves pointer
-            if ($key !== null) {
-                $iterator->rewind();
-                while ($iterator->valid() && $key !== $iterator->key()) {
-                    $iterator->next();
-                }
-            }
-
-            return $count;
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            'actual size %d matches expected size %d',
-            $this->getCountOf($other),
-            $this->expectedCount
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'count matches %d',
-            $this->expectedCount
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_Exception extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $className;
-
-    /**
-     * @param string $className
-     */
-    public function __construct($className)
-    {
-        parent::__construct();
-        $this->className = $className;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other instanceof $this->className;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        if ($other !== null) {
-            $message = '';
-            if ($other instanceof Exception || $other instanceof Throwable) {
-                $message = '. Message was: "' . $other->getMessage() . '" at'
-                        . "\n" . PHPUnit_Util_Filter::getFilteredStacktrace($other);
-            }
-
-            return sprintf(
-                'exception of type "%s" matches expected exception "%s"%s',
-                get_class($other),
-                $this->className,
-                $message
-            );
-        }
-
-        return sprintf(
-            'exception of type "%s" is thrown',
-            $this->className
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'exception of type "%s"',
-            $this->className
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_ExceptionCode extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int
-     */
-    protected $expectedCode;
-
-    /**
-     * @param int $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedCode = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param Exception $other
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return (string) $other->getCode() == (string) $this->expectedCode;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s is equal to expected exception code %s',
-            $this->exporter->export($other->getCode()),
-            $this->exporter->export($this->expectedCode)
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'exception code is ';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.6.6
- */
-class PHPUnit_Framework_Constraint_ExceptionMessage extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int
-     */
-    protected $expectedMessage;
-
-    /**
-     * @param string $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedMessage = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param Exception $other
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return strpos($other->getMessage(), $this->expectedMessage) !== false;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            "exception message '%s' contains '%s'",
-            $other->getMessage(),
-            $this->expectedMessage
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'exception message contains ';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.3.0
- */
-class PHPUnit_Framework_Constraint_ExceptionMessageRegExp extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var int
-     */
-    protected $expectedMessageRegExp;
-
-    /**
-     * @param string $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct();
-        $this->expectedMessageRegExp = $expected;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param Exception $other
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $match = PHPUnit_Util_Regex::pregMatchSafe($this->expectedMessageRegExp, $other->getMessage());
-
-        if (false === $match) {
-            throw new PHPUnit_Framework_Exception(
-                "Invalid expected exception message regex given: '{$this->expectedMessageRegExp}'"
-            );
-        }
-
-        return 1 === $match;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            "exception message '%s' matches '%s'",
-            $other->getMessage(),
-            $this->expectedMessageRegExp
-        );
-    }
-
-    /**
-     * @return string
-     */
-    public function toString()
-    {
-        return 'exception message matches ';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks if the file(name) that it is evaluated for exists.
- *
- * The file path to check is passed as $other in evaluate().
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_FileExists extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return file_exists($other);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            'file "%s" exists',
-            $other
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'file exists';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is greater
- * than a given value.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_GreaterThan extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var numeric
-     */
-    protected $value;
-
-    /**
-     * @param numeric $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $this->value < $other;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is greater than ' . $this->exporter->export($this->value);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts any input value.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsAnything extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        return $returnResult ? true : null;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is anything';
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public function count()
-    {
-        return 0;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks whether a variable is empty().
- *
- * @since Class available since Release 3.5.0
- */
-class PHPUnit_Framework_Constraint_IsEmpty extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($other instanceof Countable) {
-            return count($other) === 0;
-        }
-
-        return empty($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is empty';
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        $type = gettype($other);
-
-        return sprintf(
-            '%s %s %s',
-            $type[0] == 'a' || $type[0] == 'o' ? 'an' : 'a',
-            $type,
-            $this->toString()
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that checks if one value is equal to another.
- *
- * Equality is checked with PHP's == operator, the operator is explained in
- * detail at {@url http://www.php.net/manual/en/types.comparisons.php}.
- * Two values are equal if they have the same value disregarding type.
- *
- * The expected value is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsEqual extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @var float
-     */
-    protected $delta = 0.0;
-
-    /**
-     * @var int
-     */
-    protected $maxDepth = 10;
-
-    /**
-     * @var bool
-     */
-    protected $canonicalize = false;
-
-    /**
-     * @var bool
-     */
-    protected $ignoreCase = false;
-
-    /**
-     * @var SebastianBergmann\Comparator\ComparisonFailure
-     */
-    protected $lastFailure;
-
-    /**
-     * @param mixed $value
-     * @param float $delta
-     * @param int   $maxDepth
-     * @param bool  $canonicalize
-     * @param bool  $ignoreCase
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        parent::__construct();
-
-        if (!is_numeric($delta)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'numeric');
-        }
-
-        if (!is_int($maxDepth)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'integer');
-        }
-
-        if (!is_bool($canonicalize)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'boolean');
-        }
-
-        if (!is_bool($ignoreCase)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(5, 'boolean');
-        }
-
-        $this->value        = $value;
-        $this->delta        = $delta;
-        $this->maxDepth     = $maxDepth;
-        $this->canonicalize = $canonicalize;
-        $this->ignoreCase   = $ignoreCase;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        // If $this->value and $other are identical, they are also equal.
-        // This is the most common path and will allow us to skip
-        // initialization of all the comparators.
-        if ($this->value === $other) {
-            return true;
-        }
-
-        $comparatorFactory = SebastianBergmann\Comparator\Factory::getInstance();
-
-        try {
-            $comparator = $comparatorFactory->getComparatorFor(
-                $this->value,
-                $other
-            );
-
-            $comparator->assertEquals(
-                $this->value,
-                $other,
-                $this->delta,
-                $this->canonicalize,
-                $this->ignoreCase
-            );
-        } catch (SebastianBergmann\Comparator\ComparisonFailure $f) {
-            if ($returnResult) {
-                return false;
-            }
-
-            throw new PHPUnit_Framework_ExpectationFailedException(
-                trim($description . "\n" . $f->getMessage()),
-                $f
-            );
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $delta = '';
-
-        if (is_string($this->value)) {
-            if (strpos($this->value, "\n") !== false) {
-                return 'is equal to <text>';
-            } else {
-                return sprintf(
-                    'is equal to <string:%s>',
-                    $this->value
-                );
-            }
-        } else {
-            if ($this->delta != 0) {
-                $delta = sprintf(
-                    ' with delta <%F>',
-                    $this->delta
-                );
-            }
-
-            return sprintf(
-                'is equal to %s%s',
-                $this->exporter->export($this->value),
-                $delta
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts false.
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsFalse extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is false';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts finite.
- *
- * @since      Class available since Release 5.0.0
- */
-class PHPUnit_Framework_Constraint_IsFinite extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return is_finite($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is finite';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that one value is identical to another.
- *
- * Identical check is performed with PHP's === operator, the operator is
- * explained in detail at
- * {@url http://www.php.net/manual/en/types.comparisons.php}.
- * Two values are identical if they have the same value and are of the same
- * type.
- *
- * The expected value is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsIdentical extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var float
-     */
-    const EPSILON = 0.0000000001;
-
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @param mixed $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        if (is_double($this->value) && is_double($other) &&
-            !is_infinite($this->value) && !is_infinite($other) &&
-            !is_nan($this->value) && !is_nan($other)) {
-            $success = abs($this->value - $other) < self::EPSILON;
-        } else {
-            $success = $this->value === $other;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $f = null;
-
-            // if both values are strings, make sure a diff is generated
-            if (is_string($this->value) && is_string($other)) {
-                $f = new SebastianBergmann\Comparator\ComparisonFailure(
-                    $this->value,
-                    $other,
-                    $this->value,
-                    $other
-                );
-            }
-
-            $this->fail($other, $description, $f);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        if (is_object($this->value) && is_object($other)) {
-            return 'two variables reference the same object';
-        }
-
-        if (is_string($this->value) && is_string($other)) {
-            return 'two strings are identical';
-        }
-
-        return parent::failureDescription($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if (is_object($this->value)) {
-            return 'is identical to an object of class "' .
-                   get_class($this->value) . '"';
-        } else {
-            return 'is identical to ' .
-                   $this->exporter->export($this->value);
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts infinite.
- *
- * @since      Class available since Release 5.0.0
- */
-class PHPUnit_Framework_Constraint_IsInfinite extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return is_infinite($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is infinite';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the object it is evaluated for is an instance
- * of a given class.
- *
- * The expected class name is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsInstanceOf extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $className;
-
-    /**
-     * @param string $className
-     */
-    public function __construct($className)
-    {
-        parent::__construct();
-        $this->className = $className;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return ($other instanceof $this->className);
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s is an instance of %s "%s"',
-            $this->exporter->shortenedExport($other),
-            $this->getType(),
-            $this->className
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'is instance of %s "%s"',
-            $this->getType(),
-            $this->className
-        );
-    }
-
-    private function getType()
-    {
-        try {
-            $reflection = new ReflectionClass($this->className);
-            if ($reflection->isInterface()) {
-                return 'interface';
-            }
-        } catch (ReflectionException $e) {
-        }
-
-        return 'class';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that a string is valid JSON.
- *
- * @since Class available since Release 3.7.20
- */
-class PHPUnit_Framework_Constraint_IsJson extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($other === '') {
-            return false;
-        }
-
-        json_decode($other);
-        if (json_last_error()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        if ($other === '') {
-            return 'an empty string is valid JSON';
-        }
-
-        json_decode($other);
-        $error = PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
-            json_last_error()
-        );
-
-        return sprintf(
-            '%s is valid JSON (%s)',
-            $this->exporter->shortenedExport($other),
-            $error
-        );
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is valid JSON';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts nan.
- *
- * @since      Class available since Release 5.0.0
- */
-class PHPUnit_Framework_Constraint_IsNan extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return is_nan($other);
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is nan';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts null.
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsNull extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === null;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is null';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that accepts true.
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Constraint_IsTrue extends PHPUnit_Framework_Constraint
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $other === true;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is true';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is of a
- * specified type.
- *
- * The expected value is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_IsType extends PHPUnit_Framework_Constraint
-{
-    const TYPE_ARRAY    = 'array';
-    const TYPE_BOOL     = 'bool';
-    const TYPE_FLOAT    = 'float';
-    const TYPE_INT      = 'int';
-    const TYPE_NULL     = 'null';
-    const TYPE_NUMERIC  = 'numeric';
-    const TYPE_OBJECT   = 'object';
-    const TYPE_RESOURCE = 'resource';
-    const TYPE_STRING   = 'string';
-    const TYPE_SCALAR   = 'scalar';
-    const TYPE_CALLABLE = 'callable';
-
-    /**
-     * @var array
-     */
-    protected $types = [
-        'array'    => true,
-        'boolean'  => true,
-        'bool'     => true,
-        'double'   => true,
-        'float'    => true,
-        'integer'  => true,
-        'int'      => true,
-        'null'     => true,
-        'numeric'  => true,
-        'object'   => true,
-        'real'     => true,
-        'resource' => true,
-        'string'   => true,
-        'scalar'   => true,
-        'callable' => true
-    ];
-
-    /**
-     * @var string
-     */
-    protected $type;
-
-    /**
-     * @param string $type
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($type)
-    {
-        parent::__construct();
-
-        if (!isset($this->types[$type])) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Type specified for PHPUnit_Framework_Constraint_IsType <%s> ' .
-                    'is not a valid type.',
-                    $type
-                )
-            );
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        switch ($this->type) {
-            case 'numeric':
-                return is_numeric($other);
-
-            case 'integer':
-            case 'int':
-                return is_integer($other);
-
-            case 'double':
-            case 'float':
-            case 'real':
-                return is_float($other);
-
-            case 'string':
-                return is_string($other);
-
-            case 'boolean':
-            case 'bool':
-                return is_bool($other);
-
-            case 'null':
-                return is_null($other);
-
-            case 'array':
-                return is_array($other);
-
-            case 'object':
-                return is_object($other);
-
-            case 'resource':
-                return is_resource($other) || is_string(@get_resource_type($other));
-
-            case 'scalar':
-                return is_scalar($other);
-
-            case 'callable':
-                return is_callable($other);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'is of type "%s"',
-            $this->type
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Asserts whether or not two JSON objects are equal.
- *
- * @since Class available since Release 3.7.0
- */
-class PHPUnit_Framework_Constraint_JsonMatches extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $value;
-
-    /**
-     * Creates a new constraint.
-     *
-     * @param string $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * This method can be overridden to implement the evaluation algorithm.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $decodedOther = json_decode($other);
-        if (json_last_error()) {
-            return false;
-        }
-
-        $decodedValue = json_decode($this->value);
-        if (json_last_error()) {
-            return false;
-        }
-
-        return $decodedOther == $decodedValue;
-    }
-
-    /**
-     * Returns a string representation of the object.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'matches JSON string "%s"',
-            $this->value
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides human readable messages for each JSON error.
- *
- * @since Class available since Release 3.7.0
- */
-class PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider
-{
-    /**
-     * Translates JSON error to a human readable string.
-     *
-     * @param string $error
-     * @param string $prefix
-     *
-     * @return string
-     */
-    public static function determineJsonError($error, $prefix = '')
-    {
-        switch ($error) {
-            case JSON_ERROR_NONE:
-                return;
-            case JSON_ERROR_DEPTH:
-                return $prefix . 'Maximum stack depth exceeded';
-            case JSON_ERROR_STATE_MISMATCH:
-                return $prefix . 'Underflow or the modes mismatch';
-            case JSON_ERROR_CTRL_CHAR:
-                return $prefix . 'Unexpected control character found';
-            case JSON_ERROR_SYNTAX:
-                return $prefix . 'Syntax error, malformed JSON';
-            case JSON_ERROR_UTF8:
-                return $prefix . 'Malformed UTF-8 characters, possibly incorrectly encoded';
-            default:
-                return $prefix . 'Unknown error';
-        }
-    }
-
-    /**
-     * Translates a given type to a human readable message prefix.
-     *
-     * @param string $type
-     *
-     * @return string
-     */
-    public static function translateTypeToPrefix($type)
-    {
-        switch (strtolower($type)) {
-            case 'expected':
-                $prefix = 'Expected value JSON decode error - ';
-                break;
-            case 'actual':
-                $prefix = 'Actual value JSON decode error - ';
-                break;
-            default:
-                $prefix = '';
-                break;
-        }
-
-        return $prefix;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the value it is evaluated for is less than
- * a given value.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_LessThan extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var numeric
-     */
-    protected $value;
-
-    /**
-     * @param numeric $value
-     */
-    public function __construct($value)
-    {
-        parent::__construct();
-        $this->value = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return $this->value > $other;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'is less than ' . $this->exporter->export($this->value);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical NOT.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Not extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @param PHPUnit_Framework_Constraint $constraint
-     */
-    public function __construct($constraint)
-    {
-        parent::__construct();
-
-        if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-            $constraint = new PHPUnit_Framework_Constraint_IsEqual($constraint);
-        }
-
-        $this->constraint = $constraint;
-    }
-
-    /**
-     * @param string $string
-     *
-     * @return string
-     */
-    public static function negate($string)
-    {
-        return str_replace(
-            [
-            'contains ',
-            'exists',
-            'has ',
-            'is ',
-            'are ',
-            'matches ',
-            'starts with ',
-            'ends with ',
-            'reference ',
-            'not not '
-            ],
-            [
-            'does not contain ',
-            'does not exist',
-            'does not have ',
-            'is not ',
-            'are not ',
-            'does not match ',
-            'starts not with ',
-            'ends not with ',
-            'don\'t reference ',
-            'not '
-            ],
-            $string
-        );
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = !$this->constraint->evaluate($other, $description, true);
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        switch (get_class($this->constraint)) {
-            case 'PHPUnit_Framework_Constraint_And':
-            case 'PHPUnit_Framework_Constraint_Not':
-            case 'PHPUnit_Framework_Constraint_Or':
-                return 'not( ' . $this->constraint->failureDescription($other) . ' )';
-
-            default:
-                return self::negate(
-                    $this->constraint->failureDescription($other)
-                );
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        switch (get_class($this->constraint)) {
-            case 'PHPUnit_Framework_Constraint_And':
-            case 'PHPUnit_Framework_Constraint_Not':
-            case 'PHPUnit_Framework_Constraint_Or':
-                return 'not( ' . $this->constraint->toString() . ' )';
-
-            default:
-                return self::negate(
-                    $this->constraint->toString()
-                );
-        }
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        return count($this->constraint);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the object it is evaluated for has a given
- * attribute.
- *
- * The attribute name is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_ObjectHasAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
-{
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        $object = new ReflectionObject($other);
-
-        return $object->hasProperty($this->attributeName);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical OR.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Or extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = [];
-
-    /**
-     * @param PHPUnit_Framework_Constraint[] $constraints
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = [];
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-                    $constraint
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success    = false;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            if ($constraint->evaluate($other, $description, true)) {
-                $success = true;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' or ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for matches
- * a regular expression.
- *
- * Checks a given value using the Perl Compatible Regular Expression extension
- * in PHP. The pattern is matched by executing preg_match().
- *
- * The pattern string passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_PCREMatch extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $pattern;
-
-    /**
-     * @param string $pattern
-     */
-    public function __construct($pattern)
-    {
-        parent::__construct();
-        $this->pattern = $pattern;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return preg_match($this->pattern, $other) > 0;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            'matches PCRE pattern "%s"',
-            $this->pattern
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.6.0
- */
-class PHPUnit_Framework_Constraint_SameSize extends PHPUnit_Framework_Constraint_Count
-{
-    /**
-     * @var int
-     */
-    protected $expectedCount;
-
-    /**
-     * @param int $expected
-     */
-    public function __construct($expected)
-    {
-        parent::__construct($this->getCountOf($expected));
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for contains
- * a given string.
- *
- * Uses strpos() to find the position of the string in the input, if not found
- * the evaluation fails.
- *
- * The sub-string is passed in the constructor.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_StringContains extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $string;
-
-    /**
-     * @var bool
-     */
-    protected $ignoreCase;
-
-    /**
-     * @param string $string
-     * @param bool   $ignoreCase
-     */
-    public function __construct($string, $ignoreCase = false)
-    {
-        parent::__construct();
-
-        $this->string     = $string;
-        $this->ignoreCase = $ignoreCase;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($this->ignoreCase) {
-            return stripos($other, $this->string) !== false;
-        } else {
-            return strpos($other, $this->string) !== false;
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if ($this->ignoreCase) {
-            $string = strtolower($this->string);
-        } else {
-            $string = $this->string;
-        }
-
-        return sprintf(
-            'contains "%s"',
-            $string
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for ends with a given
- * suffix.
- *
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Constraint_StringEndsWith extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $suffix;
-
-    /**
-     * @param string $suffix
-     */
-    public function __construct($suffix)
-    {
-        parent::__construct();
-        $this->suffix = $suffix;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return substr($other, 0 - strlen($this->suffix)) == $this->suffix;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'ends with "' . $this->suffix . '"';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Diff\Differ;
-
-/**
- * ...
- *
- * @since Class available since Release 3.5.0
- */
-class PHPUnit_Framework_Constraint_StringMatches extends PHPUnit_Framework_Constraint_PCREMatch
-{
-    /**
-     * @var string
-     */
-    protected $string;
-
-    /**
-     * @param string $string
-     */
-    public function __construct($string)
-    {
-        parent::__construct($string);
-
-        $this->pattern = $this->createPatternFromFormat(
-            preg_replace('/\r\n/', "\n", $string)
-        );
-
-        $this->string = $string;
-    }
-
-    protected function failureDescription($other)
-    {
-        return 'format description matches text';
-    }
-
-    protected function additionalFailureDescription($other)
-    {
-        $from = preg_split('(\r\n|\r|\n)', $this->string);
-        $to   = preg_split('(\r\n|\r|\n)', $other);
-
-        foreach ($from as $index => $line) {
-            if (isset($to[$index]) && $line !== $to[$index]) {
-                $line = $this->createPatternFromFormat($line);
-
-                if (preg_match($line, $to[$index]) > 0) {
-                    $from[$index] = $to[$index];
-                }
-            }
-        }
-
-        $this->string = implode("\n", $from);
-        $other        = implode("\n", $to);
-
-        $differ = new Differ("--- Expected\n+++ Actual\n");
-
-        return $differ->diff($this->string, $other);
-    }
-
-    protected function createPatternFromFormat($string)
-    {
-        $string = str_replace(
-            [
-            '%e',
-            '%s',
-            '%S',
-            '%a',
-            '%A',
-            '%w',
-            '%i',
-            '%d',
-            '%x',
-            '%f',
-            '%c'
-            ],
-            [
-            '\\' . DIRECTORY_SEPARATOR,
-            '[^\r\n]+',
-            '[^\r\n]*',
-            '.+',
-            '.*',
-            '\s*',
-            '[+-]?\d+',
-            '\d+',
-            '[0-9a-fA-F]+',
-            '[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?',
-            '.'
-            ],
-            preg_quote($string, '/')
-        );
-
-        return '/^' . $string . '$/s';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the string it is evaluated for begins with a
- * given prefix.
- *
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Constraint_StringStartsWith extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var string
-     */
-    protected $prefix;
-
-    /**
-     * @param string $prefix
-     */
-    public function __construct($prefix)
-    {
-        parent::__construct();
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        return strpos($other, $this->prefix) === 0;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'starts with "' . $this->prefix . '"';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the Traversable it is applied to contains
- * a given value.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_TraversableContains extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var bool
-     */
-    protected $checkForObjectIdentity;
-
-    /**
-     * @var bool
-     */
-    protected $checkForNonObjectIdentity;
-
-    /**
-     * @var mixed
-     */
-    protected $value;
-
-    /**
-     * @param mixed $value
-     * @param bool  $checkForObjectIdentity
-     * @param bool  $checkForNonObjectIdentity
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        parent::__construct();
-
-        if (!is_bool($checkForObjectIdentity)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'boolean');
-        }
-
-        if (!is_bool($checkForNonObjectIdentity)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'boolean');
-        }
-
-        $this->checkForObjectIdentity    = $checkForObjectIdentity;
-        $this->checkForNonObjectIdentity = $checkForNonObjectIdentity;
-        $this->value                     = $value;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other. Returns true if the
-     * constraint is met, false otherwise.
-     *
-     * @param mixed $other Value or object to evaluate.
-     *
-     * @return bool
-     */
-    protected function matches($other)
-    {
-        if ($other instanceof SplObjectStorage) {
-            return $other->contains($this->value);
-        }
-
-        if (is_object($this->value)) {
-            foreach ($other as $element) {
-                if ($this->checkForObjectIdentity && $element === $this->value) {
-                    return true;
-                } elseif (!$this->checkForObjectIdentity && $element == $this->value) {
-                    return true;
-                }
-            }
-        } else {
-            foreach ($other as $element) {
-                if ($this->checkForNonObjectIdentity && $element === $this->value) {
-                    return true;
-                } elseif (!$this->checkForNonObjectIdentity && $element == $this->value) {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        if (is_string($this->value) && strpos($this->value, "\n") !== false) {
-            return 'contains "' . $this->value . '"';
-        } else {
-            return 'contains ' . $this->exporter->export($this->value);
-        }
-    }
-
-    /**
-     * Returns the description of the failure
-     *
-     * The beginning of failure messages is "Failed asserting that" in most
-     * cases. This method should return the second part of that sentence.
-     *
-     * @param mixed $other Evaluated value or object.
-     *
-     * @return string
-     */
-    protected function failureDescription($other)
-    {
-        return sprintf(
-            '%s %s',
-            is_array($other) ? 'an array' : 'a traversable',
-            $this->toString()
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Constraint that asserts that the Traversable it is applied to contains
- * only values of a given type.
- *
- * @since Class available since Release 3.1.4
- */
-class PHPUnit_Framework_Constraint_TraversableContainsOnly extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint
-     */
-    protected $constraint;
-
-    /**
-     * @var string
-     */
-    protected $type;
-
-    /**
-     * @param string $type
-     * @param bool   $isNativeType
-     */
-    public function __construct($type, $isNativeType = true)
-    {
-        parent::__construct();
-
-        if ($isNativeType) {
-            $this->constraint = new PHPUnit_Framework_Constraint_IsType($type);
-        } else {
-            $this->constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
-                $type
-            );
-        }
-
-        $this->type = $type;
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success = true;
-
-        foreach ($other as $item) {
-            if (!$this->constraint->evaluate($item, '', true)) {
-                $success = false;
-                break;
-            }
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return 'contains only values of type "' . $this->type . '"';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Logical XOR.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_Constraint_Xor extends PHPUnit_Framework_Constraint
-{
-    /**
-     * @var PHPUnit_Framework_Constraint[]
-     */
-    protected $constraints = [];
-
-    /**
-     * @param PHPUnit_Framework_Constraint[] $constraints
-     */
-    public function setConstraints(array $constraints)
-    {
-        $this->constraints = [];
-
-        foreach ($constraints as $constraint) {
-            if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
-                $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-                    $constraint
-                );
-            }
-
-            $this->constraints[] = $constraint;
-        }
-    }
-
-    /**
-     * Evaluates the constraint for parameter $other
-     *
-     * If $returnResult is set to false (the default), an exception is thrown
-     * in case of a failure. null is returned otherwise.
-     *
-     * If $returnResult is true, the result of the evaluation is returned as
-     * a boolean value instead: true in case of success, false in case of a
-     * failure.
-     *
-     * @param mixed  $other        Value or object to evaluate.
-     * @param string $description  Additional information about the test
-     * @param bool   $returnResult Whether to return a result or throw an exception
-     *
-     * @return mixed
-     *
-     * @throws PHPUnit_Framework_ExpectationFailedException
-     */
-    public function evaluate($other, $description = '', $returnResult = false)
-    {
-        $success    = true;
-        $lastResult = null;
-        $constraint = null;
-
-        foreach ($this->constraints as $constraint) {
-            $result = $constraint->evaluate($other, $description, true);
-
-            if ($result === $lastResult) {
-                $success = false;
-                break;
-            }
-
-            $lastResult = $result;
-        }
-
-        if ($returnResult) {
-            return $success;
-        }
-
-        if (!$success) {
-            $this->fail($other, $description);
-        }
-    }
-
-    /**
-     * Returns a string representation of the constraint.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $text = '';
-
-        foreach ($this->constraints as $key => $constraint) {
-            if ($key > 0) {
-                $text .= ' xor ';
-            }
-
-            $text .= $constraint->toString();
-        }
-
-        return $text;
-    }
-
-    /**
-     * Counts the number of constraint elements.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function count()
-    {
-        $count = 0;
-
-        foreach ($this->constraints as $constraint) {
-            $count += count($constraint);
-        }
-
-        return $count;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP errors.
- *
- * @since Class available since Release 2.2.0
- */
-class PHPUnit_Framework_Error extends PHPUnit_Framework_Exception
-{
-    /**
-     * Constructor.
-     *
-     * @param string    $message
-     * @param int       $code
-     * @param string    $file
-     * @param int       $line
-     * @param Exception $previous
-     */
-    public function __construct($message, $code, $file, $line, Exception $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-
-        $this->file  = $file;
-        $this->line  = $line;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP deprecated errors.
- * You can disable deprecated-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Deprecated::$enabled = false;
- * </code>
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Deprecated extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP notices.
- * You can disable notice-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Notice::$enabled = false;
- * </code>
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Notice extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for PHP warnings.
- * You can disable notice-to-exception conversion by setting
- *
- * <code>
- * PHPUnit_Framework_Error_Warning::$enabled = false;
- * </code>
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Framework_Error_Warning extends PHPUnit_Framework_Error
-{
-    public static $enabled = true;
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all PHPUnit Framework exceptions.
- *
- * Ensures that exceptions thrown during a test run do not leave stray
- * references behind.
- *
- * Every Exception contains a stack trace. Each stack frame contains the 'args'
- * of the called function. The function arguments can contain references to
- * instantiated objects. The references prevent the objects from being
- * destructed (until test results are eventually printed), so memory cannot be
- * freed up.
- *
- * With enabled process isolation, test results are serialized in the child
- * process and unserialized in the parent process. The stack trace of Exceptions
- * may contain objects that cannot be serialized or unserialized (e.g., PDO
- * connections). Unserializing user-space objects from the child process into
- * the parent would break the intended encapsulation of process isolation.
- *
- * @see http://fabien.potencier.org/article/9/php-serialization-stack-traces-and-exceptions
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Framework_Exception extends RuntimeException implements PHPUnit_Exception
-{
-    /**
-     * @var array
-     */
-    protected $serializableTrace;
-
-    public function __construct($message = '', $code = 0, Exception $previous = null)
-    {
-        parent::__construct($message, $code, $previous);
-
-        $this->serializableTrace = $this->getTrace();
-        foreach ($this->serializableTrace as $i => $call) {
-            unset($this->serializableTrace[$i]['args']);
-        }
-    }
-
-    /**
-     * Returns the serializable trace (without 'args').
-     *
-     * @return array
-     */
-    public function getSerializableTrace()
-    {
-        return $this->serializableTrace;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $string = PHPUnit_Framework_TestFailure::exceptionToString($this);
-
-        if ($trace = PHPUnit_Util_Filter::getFilteredStacktrace($this)) {
-            $string .= "\n" . $trace;
-        }
-
-        return $string;
-    }
-
-    public function __sleep()
-    {
-        return array_keys(get_object_vars($this));
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wraps Exceptions thrown by code under test.
- *
- * Re-instantiates Exceptions thrown by user-space code to retain their original
- * class names, properties, and stack traces (but without arguments).
- *
- * Unlike PHPUnit_Framework_Exception, the complete stack of previous Exceptions
- * is processed.
- *
- * @since Class available since Release 4.3.0
- */
-class PHPUnit_Framework_ExceptionWrapper extends PHPUnit_Framework_Exception
-{
-    /**
-     * @var string
-     */
-    protected $classname;
-
-    /**
-     * @var PHPUnit_Framework_ExceptionWrapper|null
-     */
-    protected $previous;
-
-    /**
-     * @param Throwable|Exception $e
-     */
-    public function __construct($e)
-    {
-        // PDOException::getCode() is a string.
-        // @see http://php.net/manual/en/class.pdoexception.php#95812
-        parent::__construct($e->getMessage(), (int) $e->getCode());
-
-        $this->classname = get_class($e);
-        $this->file      = $e->getFile();
-        $this->line      = $e->getLine();
-
-        $this->serializableTrace = $e->getTrace();
-
-        foreach ($this->serializableTrace as $i => $call) {
-            unset($this->serializableTrace[$i]['args']);
-        }
-
-        if ($e->getPrevious()) {
-            $this->previous = new self($e->getPrevious());
-        }
-    }
-
-    /**
-     * @return string
-     */
-    public function getClassname()
-    {
-        return $this->classname;
-    }
-
-    /**
-     * @return PHPUnit_Framework_ExceptionWrapper
-     */
-    public function getPreviousWrapped()
-    {
-        return $this->previous;
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $string = PHPUnit_Framework_TestFailure::exceptionToString($this);
-
-        if ($trace = PHPUnit_Util_Filter::getFilteredStacktrace($this)) {
-            $string .= "\n" . $trace;
-        }
-
-        if ($this->previous) {
-            $string .= "\nCaused by\n" . $this->previous;
-        }
-
-        return $string;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception for expectations which failed their check.
- *
- * The exception contains the error message and optionally a
- * SebastianBergmann\Comparator\ComparisonFailure which is used to
- * generate diff output of the failed expectations.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_ExpectationFailedException extends PHPUnit_Framework_AssertionFailedError
-{
-    /**
-     * @var SebastianBergmann\Comparator\ComparisonFailure
-     */
-    protected $comparisonFailure;
-
-    public function __construct($message, SebastianBergmann\Comparator\ComparisonFailure $comparisonFailure = null, Exception $previous = null)
-    {
-        $this->comparisonFailure = $comparisonFailure;
-
-        parent::__construct($message, 0, $previous);
-    }
-
-    /**
-     * @return SebastianBergmann\Comparator\ComparisonFailure
-     */
-    public function getComparisonFailure()
-    {
-        return $this->comparisonFailure;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking any exception/error as result of an unit
- * test as incomplete implementation or currently not implemented.
- *
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_IncompleteTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An incomplete test case
- *
- * @since Class available since Release 4.3.0
- */
-class PHPUnit_Framework_IncompleteTestCase extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var bool
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var bool
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var bool
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var bool
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @var bool
-     */
-    protected $useOutputBuffering = false;
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param string $message
-     */
-    public function __construct($className, $methodName, $message = '')
-    {
-        $this->message = $message;
-        parent::__construct($className . '::' . $methodName);
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        $this->markTestIncomplete($this->message);
-    }
-
-    /**
-     * @return string
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of an incomplete test.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_IncompleteTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_IncompleteTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Framework_InvalidCoversTargetException extends PHPUnit_Framework_CodeCoverageException
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test that printed output.
- *
- * @since Class available since Release 3.6.0
- */
-class PHPUnit_Framework_OutputError extends PHPUnit_Framework_AssertionFailedError
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test that does not execute the code it wants to cover.
- *
- * @since Class available since Release 5.2.0
- */
-class PHPUnit_Framework_CoveredCodeNotExecutedException extends PHPUnit_Framework_RiskyTestError
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark a test as risky
- * when it does not have a @covers annotation but is expected to have one.
- *
- * @since Class available since Release 5.3.0
- */
-class PHPUnit_Framework_MissingCoversAnnotationException extends PHPUnit_Framework_RiskyTestError
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking any exception/error as result of an unit
- * test as risky.
- *
- * @since      Interface available since Release 4.0.0
- */
-interface PHPUnit_Framework_RiskyTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a risky test.
- *
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Framework_RiskyTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_RiskyTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface for classes that can return a description of itself.
- *
- * @since      Interface available since Release 3.0.0
- */
-interface PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Returns a string representation of the object.
-     *
-     * @return string
-     */
-    public function toString();
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A marker interface for marking a unit test as being skipped.
- *
- * @since      Interface available since Release 3.0.0
- */
-interface PHPUnit_Framework_SkippedTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A skipped test case
- *
- * @since Class available since Release 4.3.0
- */
-class PHPUnit_Framework_SkippedTestCase extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var bool
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var bool
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var bool
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var bool
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @var bool
-     */
-    protected $useOutputBuffering = false;
-
-    /**
-     * @param string $message
-     */
-    public function __construct($className, $methodName, $message = '')
-    {
-        $this->message = $message;
-        parent::__construct($className . '::' . $methodName);
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        $this->markTestSkipped($this->message);
-    }
-
-    /**
-     * @return string
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a skipped test.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Framework_SkippedTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_SkippedTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a skipped test suite.
- *
- * @since Class available since Release 3.1.0
- */
-class PHPUnit_Framework_SkippedTestSuiteError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_SkippedTest
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Creates a synthetic failed assertion.
- *
- * @since Class available since Release 3.5.0
- */
-class PHPUnit_Framework_SyntheticError extends PHPUnit_Framework_AssertionFailedError
-{
-    /**
-     * The synthetic file.
-     *
-     * @var string
-     */
-    protected $syntheticFile = '';
-
-    /**
-     * The synthetic line number.
-     *
-     * @var int
-     */
-    protected $syntheticLine = 0;
-
-    /**
-     * The synthetic trace.
-     *
-     * @var array
-     */
-    protected $syntheticTrace = [];
-
-    /**
-     * Constructor.
-     *
-     * @param string $message
-     * @param int    $code
-     * @param string $file
-     * @param int    $line
-     * @param array  $trace
-     */
-    public function __construct($message, $code, $file, $line, $trace)
-    {
-        parent::__construct($message, $code);
-
-        $this->syntheticFile  = $file;
-        $this->syntheticLine  = $line;
-        $this->syntheticTrace = $trace;
-    }
-
-    /**
-     * @return string
-     */
-    public function getSyntheticFile()
-    {
-        return $this->syntheticFile;
-    }
-
-    /**
-     * @return int
-     */
-    public function getSyntheticLine()
-    {
-        return $this->syntheticLine;
-    }
-
-    /**
-     * @return array
-     */
-    public function getSyntheticTrace()
-    {
-        return $this->syntheticTrace;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Test can be run and collect its results.
- *
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_Test extends Countable
-{
-    /**
-     * Runs a test and collects its result in a TestResult instance.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\GlobalState\Snapshot;
-use SebastianBergmann\GlobalState\Restorer;
-use SebastianBergmann\GlobalState\Blacklist;
-use SebastianBergmann\Diff\Differ;
-use SebastianBergmann\Exporter\Exporter;
-use SebastianBergmann\ObjectEnumerator\Enumerator;
-use Prophecy\Exception\Prediction\PredictionException;
-use Prophecy\Prophet;
-use DeepCopy\DeepCopy;
-
-/**
- * A TestCase defines the fixture to run multiple tests.
- *
- * To define a TestCase
- *
- *   1) Implement a subclass of PHPUnit_Framework_TestCase.
- *   2) Define instance variables that store the state of the fixture.
- *   3) Initialize the fixture state by overriding setUp().
- *   4) Clean-up after a test by overriding tearDown().
- *
- * Each test runs in its own fixture so there can be no side effects
- * among test runs.
- *
- * Here is an example:
- *
- * <code>
- * <?php
- * class MathTest extends PHPUnit_Framework_TestCase
- * {
- *     public $value1;
- *     public $value2;
- *
- *     protected function setUp()
- *     {
- *         $this->value1 = 2;
- *         $this->value2 = 3;
- *     }
- * }
- * ?>
- * </code>
- *
- * For each test implement a method which interacts with the fixture.
- * Verify the expected results with assertions specified by calling
- * assert with a boolean.
- *
- * <code>
- * <?php
- * public function testPass()
- * {
- *     $this->assertTrue($this->value1 + $this->value2 == 5);
- * }
- * ?>
- * </code>
- *
- * @since Class available since Release 2.0.0
- */
-abstract class PHPUnit_Framework_TestCase extends PHPUnit_Framework_Assert implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Enable or disable the backup and restoration of the $GLOBALS array.
-     * Overwrite this attribute in a child class of TestCase.
-     * Setting this attribute in setUp() has no effect!
-     *
-     * @var bool
-     */
-    protected $backupGlobals = null;
-
-    /**
-     * @var array
-     */
-    protected $backupGlobalsBlacklist = [];
-
-    /**
-     * Enable or disable the backup and restoration of static attributes.
-     * Overwrite this attribute in a child class of TestCase.
-     * Setting this attribute in setUp() has no effect!
-     *
-     * @var bool
-     */
-    protected $backupStaticAttributes = null;
-
-    /**
-     * @var array
-     */
-    protected $backupStaticAttributesBlacklist = [];
-
-    /**
-     * Whether or not this test is to be run in a separate PHP process.
-     *
-     * @var bool
-     */
-    protected $runTestInSeparateProcess = null;
-
-    /**
-     * Whether or not this test should preserve the global state when
-     * running in a separate PHP process.
-     *
-     * @var bool
-     */
-    protected $preserveGlobalState = true;
-
-    /**
-     * Whether or not this test is running in a separate PHP process.
-     *
-     * @var bool
-     */
-    private $inIsolation = false;
-
-    /**
-     * @var array
-     */
-    private $data = [];
-
-    /**
-     * @var string
-     */
-    private $dataName = '';
-
-    /**
-     * @var bool
-     */
-    private $useErrorHandler = null;
-
-    /**
-     * The name of the expected Exception.
-     *
-     * @var mixed
-     */
-    private $expectedException = null;
-
-    /**
-     * The message of the expected Exception.
-     *
-     * @var string
-     */
-    private $expectedExceptionMessage = '';
-
-    /**
-     * The regex pattern to validate the expected Exception message.
-     *
-     * @var string
-     */
-    private $expectedExceptionMessageRegExp = '';
-
-    /**
-     * The code of the expected Exception.
-     *
-     * @var int|string
-     */
-    private $expectedExceptionCode;
-
-    /**
-     * The name of the test case.
-     *
-     * @var string
-     */
-    private $name = null;
-
-    /**
-     * @var array
-     */
-    private $dependencies = [];
-
-    /**
-     * @var array
-     */
-    private $dependencyInput = [];
-
-    /**
-     * @var array
-     */
-    private $iniSettings = [];
-
-    /**
-     * @var array
-     */
-    private $locale = [];
-
-    /**
-     * @var array
-     */
-    private $mockObjects = [];
-
-    /**
-     * @var array
-     */
-    private $mockObjectGenerator = null;
-
-    /**
-     * @var int
-     */
-    private $status;
-
-    /**
-     * @var string
-     */
-    private $statusMessage = '';
-
-    /**
-     * @var int
-     */
-    private $numAssertions = 0;
-
-    /**
-     * @var PHPUnit_Framework_TestResult
-     */
-    private $result;
-
-    /**
-     * @var mixed
-     */
-    private $testResult;
-
-    /**
-     * @var string
-     */
-    private $output = '';
-
-    /**
-     * @var string
-     */
-    private $outputExpectedRegex = null;
-
-    /**
-     * @var string
-     */
-    private $outputExpectedString = null;
-
-    /**
-     * @var mixed
-     */
-    private $outputCallback = false;
-
-    /**
-     * @var bool
-     */
-    private $outputBufferingActive = false;
-
-    /**
-     * @var int
-     */
-    private $outputBufferingLevel;
-
-    /**
-     * @var SebastianBergmann\GlobalState\Snapshot
-     */
-    private $snapshot;
-
-    /**
-     * @var Prophecy\Prophet
-     */
-    private $prophet;
-
-    /**
-     * @var bool
-     */
-    private $beStrictAboutChangesToGlobalState = false;
-
-    /**
-     * @var bool
-     */
-    private $registerMockObjectsFromTestArgumentsRecursively = false;
-
-    /**
-     * @var string[]
-     */
-    private $warnings = [];
-
-    /**
-     * @var array
-     */
-    private $groups = [];
-
-    /**
-     * Constructs a test case with the given name.
-     *
-     * @param string $name
-     * @param array  $data
-     * @param string $dataName
-     */
-    public function __construct($name = null, array $data = [], $dataName = '')
-    {
-        if ($name !== null) {
-            $this->setName($name);
-        }
-
-        $this->data     = $data;
-        $this->dataName = $dataName;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        $class = new ReflectionClass($this);
-
-        $buffer = sprintf(
-            '%s::%s',
-            $class->name,
-            $this->getName(false)
-        );
-
-        return $buffer . $this->getDataSetAsString();
-    }
-
-    /**
-     * Counts the number of test cases executed by run(TestResult result).
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * @since Method available since Release 5.4.0
-     */
-    public function getGroups()
-    {
-        return $this->groups;
-    }
-
-    /**
-     * @param array $groups
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function setGroups(array $groups)
-    {
-        $this->groups = $groups;
-    }
-
-    /**
-     * Returns the annotations for this test.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function getAnnotations()
-    {
-        return PHPUnit_Util_Test::parseTestMethodAnnotations(
-            get_class($this),
-            $this->name
-        );
-    }
-
-    /**
-     * Gets the name of a TestCase.
-     *
-     * @param bool $withDataSet
-     *
-     * @return string
-     */
-    public function getName($withDataSet = true)
-    {
-        if ($withDataSet) {
-            return $this->name . $this->getDataSetAsString(false);
-        } else {
-            return $this->name;
-        }
-    }
-
-    /**
-     * Returns the size of the test.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function getSize()
-    {
-        return PHPUnit_Util_Test::getSize(
-            get_class($this),
-            $this->getName(false)
-        );
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.3.4
-     */
-    public function hasSize()
-    {
-        return $this->getSize() !== PHPUnit_Util_Test::UNKNOWN;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.3.4
-     */
-    public function isSmall()
-    {
-        return $this->getSize() === PHPUnit_Util_Test::SMALL;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.3.4
-     */
-    public function isMedium()
-    {
-        return $this->getSize() === PHPUnit_Util_Test::MEDIUM;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.3.4
-     */
-    public function isLarge()
-    {
-        return $this->getSize() === PHPUnit_Util_Test::LARGE;
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function getActualOutput()
-    {
-        if (!$this->outputBufferingActive) {
-            return $this->output;
-        } else {
-            return ob_get_contents();
-        }
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function hasOutput()
-    {
-        if (strlen($this->output) === 0) {
-            return false;
-        }
-
-        if ($this->hasExpectationOnOutput()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * @param string $expectedRegex
-     *
-     * @since Method available since Release 3.6.0
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function expectOutputRegex($expectedRegex)
-    {
-        if ($this->outputExpectedString !== null) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (is_string($expectedRegex) || is_null($expectedRegex)) {
-            $this->outputExpectedRegex = $expectedRegex;
-        }
-    }
-
-    /**
-     * @param string $expectedString
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function expectOutputString($expectedString)
-    {
-        if ($this->outputExpectedRegex !== null) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (is_string($expectedString) || is_null($expectedString)) {
-            $this->outputExpectedString = $expectedString;
-        }
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 3.6.5
-     * @deprecated
-     */
-    public function hasPerformedExpectationsOnOutput()
-    {
-        return $this->hasExpectationOnOutput();
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 4.3.3
-     */
-    public function hasExpectationOnOutput()
-    {
-        return is_string($this->outputExpectedString) || is_string($this->outputExpectedRegex);
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public function getExpectedException()
-    {
-        return $this->expectedException;
-    }
-
-    /**
-     * @param mixed      $exception
-     * @param string     $message
-     * @param int|string $code
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since      Method available since Release 3.2.0
-     * @deprecated Method deprecated since Release 5.2.0
-     */
-    public function setExpectedException($exception, $message = '', $code = null)
-    {
-        $this->expectedException = $exception;
-
-        if ($message !== null && $message !== '') {
-            $this->expectExceptionMessage($message);
-        }
-
-        if ($code !== null) {
-            $this->expectExceptionCode($code);
-        }
-    }
-
-    /**
-     * @param mixed  $exception
-     * @param string $messageRegExp
-     * @param int    $code
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.3.0
-     */
-    public function setExpectedExceptionRegExp($exception, $messageRegExp = '', $code = null)
-    {
-        if (!is_string($messageRegExp)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $this->expectedException              = $exception;
-        $this->expectedExceptionMessageRegExp = $messageRegExp;
-
-        if ($code !== null) {
-            $this->expectExceptionCode($code);
-        }
-    }
-
-    /**
-     * @param mixed $exception
-     *
-     * @since Method available since Release 5.2.0
-     */
-    public function expectException($exception)
-    {
-        $this->expectedException = $exception;
-    }
-
-    /**
-     * @param int|string $code
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.2.0
-     */
-    public function expectExceptionCode($code)
-    {
-        if (!is_int($code) && !is_string($code)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer or string');
-        }
-
-        $this->expectedExceptionCode = $code;
-    }
-
-    /**
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.2.0
-     */
-    public function expectExceptionMessage($message)
-    {
-        if (!is_string($message)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $this->expectedExceptionMessage = $message;
-    }
-
-    /**
-     * @param string $messageRegExp
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.2.0
-     */
-    public function expectExceptionMessageRegExp($messageRegExp)
-    {
-        if (!is_string($messageRegExp)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $this->expectedExceptionMessageRegExp = $messageRegExp;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function setRegisterMockObjectsFromTestArgumentsRecursively($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->registerMockObjectsFromTestArgumentsRecursively = $flag;
-    }
-
-    /**
-     * @since Method available since Release 3.4.0
-     */
-    protected function setExpectedExceptionFromAnnotation()
-    {
-        try {
-            $expectedException = PHPUnit_Util_Test::getExpectedException(
-                get_class($this),
-                $this->name
-            );
-
-            if ($expectedException !== false) {
-                $this->expectException($expectedException['class']);
-
-                if ($expectedException['code'] !== null) {
-                    $this->expectExceptionCode($expectedException['code']);
-                }
-
-                if ($expectedException['message'] !== '') {
-                    $this->expectExceptionMessage($expectedException['message']);
-                } elseif ($expectedException['message_regex'] !== '') {
-                    $this->expectExceptionMessageRegExp($expectedException['message_regex']);
-                }
-            }
-        } catch (ReflectionException $e) {
-        }
-    }
-
-    /**
-     * @param bool $useErrorHandler
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setUseErrorHandler($useErrorHandler)
-    {
-        $this->useErrorHandler = $useErrorHandler;
-    }
-
-    /**
-     * @since Method available since Release 3.4.0
-     */
-    protected function setUseErrorHandlerFromAnnotation()
-    {
-        try {
-            $useErrorHandler = PHPUnit_Util_Test::getErrorHandlerSettings(
-                get_class($this),
-                $this->name
-            );
-
-            if ($useErrorHandler !== null) {
-                $this->setUseErrorHandler($useErrorHandler);
-            }
-        } catch (ReflectionException $e) {
-        }
-    }
-
-    /**
-     * @since Method available since Release 3.6.0
-     */
-    protected function checkRequirements()
-    {
-        if (!$this->name || !method_exists($this, $this->name)) {
-            return;
-        }
-
-        $missingRequirements = PHPUnit_Util_Test::getMissingRequirements(
-            get_class($this),
-            $this->name
-        );
-
-        if (!empty($missingRequirements)) {
-            $this->markTestSkipped(implode(PHP_EOL, $missingRequirements));
-        }
-    }
-
-    /**
-     * Returns the status of this test.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public function getStatus()
-    {
-        return $this->status;
-    }
-
-    /**
-     * Returns the status message of this test.
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function getStatusMessage()
-    {
-        return $this->statusMessage;
-    }
-
-    /**
-     * Returns whether or not this test has failed.
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function hasFailed()
-    {
-        $status = $this->getStatus();
-
-        return $status == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE ||
-               $status == PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-    }
-
-    /**
-     * Runs the test case and collects the results in a TestResult object.
-     * If no TestResult object is passed a new one will be created.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        if (!$this instanceof PHPUnit_Framework_WarningTestCase) {
-            $this->setTestResultObject($result);
-            $this->setUseErrorHandlerFromAnnotation();
-        }
-
-        if ($this->useErrorHandler !== null) {
-            $oldErrorHandlerSetting = $result->getConvertErrorsToExceptions();
-            $result->convertErrorsToExceptions($this->useErrorHandler);
-        }
-
-        if (!$this instanceof PHPUnit_Framework_WarningTestCase && !$this->handleDependencies()) {
-            return;
-        }
-
-        if ($this->runTestInSeparateProcess === true &&
-            $this->inIsolation !== true &&
-            !$this instanceof PHPUnit_Extensions_PhptTestCase) {
-            $class = new ReflectionClass($this);
-
-            $template = new Text_Template(
-                __DIR__ . '/../Util/PHP/Template/TestCaseMethod.tpl'
-            );
-
-            if ($this->preserveGlobalState) {
-                $constants     = PHPUnit_Util_GlobalState::getConstantsAsString();
-                $globals       = PHPUnit_Util_GlobalState::getGlobalsAsString();
-                $includedFiles = PHPUnit_Util_GlobalState::getIncludedFilesAsString();
-                $iniSettings   = PHPUnit_Util_GlobalState::getIniSettingsAsString();
-            } else {
-                $constants     = '';
-                if (!empty($GLOBALS['__PHPUNIT_BOOTSTRAP'])) {
-                    $globals     = '$GLOBALS[\'__PHPUNIT_BOOTSTRAP\'] = ' . var_export($GLOBALS['__PHPUNIT_BOOTSTRAP'], true) . ";\n";
-                } else {
-                    $globals     = '';
-                }
-                $includedFiles = '';
-                $iniSettings   = '';
-            }
-
-            $coverage                                   = $result->getCollectCodeCoverageInformation()          ? 'true' : 'false';
-            $isStrictAboutTestsThatDoNotTestAnything    = $result->isStrictAboutTestsThatDoNotTestAnything()    ? 'true' : 'false';
-            $isStrictAboutOutputDuringTests             = $result->isStrictAboutOutputDuringTests()             ? 'true' : 'false';
-            $enforcesTimeLimit                          = $result->enforcesTimeLimit()                          ? 'true' : 'false';
-            $isStrictAboutTodoAnnotatedTests            = $result->isStrictAboutTodoAnnotatedTests()            ? 'true' : 'false';
-            $isStrictAboutResourceUsageDuringSmallTests = $result->isStrictAboutResourceUsageDuringSmallTests() ? 'true' : 'false';
-
-            if (defined('PHPUNIT_COMPOSER_INSTALL')) {
-                $composerAutoload = var_export(PHPUNIT_COMPOSER_INSTALL, true);
-            } else {
-                $composerAutoload = '\'\'';
-            }
-
-            if (defined('__PHPUNIT_PHAR__')) {
-                $phar = var_export(__PHPUNIT_PHAR__, true);
-            } else {
-                $phar = '\'\'';
-            }
-
-            if ($result->getCodeCoverage()) {
-                $codeCoverageFilter = $result->getCodeCoverage()->filter();
-            } else {
-                $codeCoverageFilter = null;
-            }
-
-            $data               = var_export(serialize($this->data), true);
-            $dataName           = var_export($this->dataName, true);
-            $dependencyInput    = var_export(serialize($this->dependencyInput), true);
-            $includePath        = var_export(get_include_path(), true);
-            $codeCoverageFilter = var_export(serialize($codeCoverageFilter), true);
-            // must do these fixes because TestCaseMethod.tpl has unserialize('{data}') in it, and we can't break BC
-            // the lines above used to use addcslashes() rather than var_export(), which breaks null byte escape sequences
-            $data               = "'." . $data . ".'";
-            $dataName           = "'.(" . $dataName . ").'";
-            $dependencyInput    = "'." . $dependencyInput . ".'";
-            $includePath        = "'." . $includePath . ".'";
-            $codeCoverageFilter = "'." . $codeCoverageFilter . ".'";
-
-            $configurationFilePath = (isset($GLOBALS['__PHPUNIT_CONFIGURATION_FILE']) ? $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] : '');
-
-            $template->setVar(
-                [
-                    'composerAutoload'                           => $composerAutoload,
-                    'phar'                                       => $phar,
-                    'filename'                                   => $class->getFileName(),
-                    'className'                                  => $class->getName(),
-                    'methodName'                                 => $this->name,
-                    'collectCodeCoverageInformation'             => $coverage,
-                    'data'                                       => $data,
-                    'dataName'                                   => $dataName,
-                    'dependencyInput'                            => $dependencyInput,
-                    'constants'                                  => $constants,
-                    'globals'                                    => $globals,
-                    'include_path'                               => $includePath,
-                    'included_files'                             => $includedFiles,
-                    'iniSettings'                                => $iniSettings,
-                    'isStrictAboutTestsThatDoNotTestAnything'    => $isStrictAboutTestsThatDoNotTestAnything,
-                    'isStrictAboutOutputDuringTests'             => $isStrictAboutOutputDuringTests,
-                    'enforcesTimeLimit'                          => $enforcesTimeLimit,
-                    'isStrictAboutTodoAnnotatedTests'            => $isStrictAboutTodoAnnotatedTests,
-                    'isStrictAboutResourceUsageDuringSmallTests' => $isStrictAboutResourceUsageDuringSmallTests,
-                    'codeCoverageFilter'                         => $codeCoverageFilter,
-                    'configurationFilePath'                      => $configurationFilePath
-                ]
-            );
-
-            $this->prepareTemplate($template);
-
-            $php = PHPUnit_Util_PHP::factory();
-            $php->runTestJob($template->render(), $this, $result);
-        } else {
-            $result->run($this);
-        }
-
-        if ($this->useErrorHandler !== null) {
-            $result->convertErrorsToExceptions($oldErrorHandlerSetting);
-        }
-
-        $this->result = null;
-
-        return $result;
-    }
-
-    /**
-     * Runs the bare test sequence.
-     */
-    public function runBare()
-    {
-        $this->numAssertions = 0;
-
-        $this->snapshotGlobalState();
-        $this->startOutputBuffering();
-        clearstatcache();
-        $currentWorkingDirectory = getcwd();
-
-        $hookMethods = PHPUnit_Util_Test::getHookMethods(get_class($this));
-
-        try {
-            $hasMetRequirements = false;
-            $this->checkRequirements();
-            $hasMetRequirements = true;
-
-            if ($this->inIsolation) {
-                foreach ($hookMethods['beforeClass'] as $method) {
-                    $this->$method();
-                }
-            }
-
-            $this->setExpectedExceptionFromAnnotation();
-
-            foreach ($hookMethods['before'] as $method) {
-                $this->$method();
-            }
-
-            $this->assertPreConditions();
-            $this->testResult = $this->runTest();
-            $this->verifyMockObjects();
-            $this->assertPostConditions();
-
-            if (!empty($this->warnings)) {
-                throw new PHPUnit_Framework_Warning(
-                    implode(
-                        "\n",
-                        array_unique($this->warnings)
-                    )
-                );
-            }
-
-            $this->status = PHPUnit_Runner_BaseTestRunner::STATUS_PASSED;
-        } catch (PHPUnit_Framework_IncompleteTest $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE;
-            $this->statusMessage = $e->getMessage();
-        } catch (PHPUnit_Framework_SkippedTest $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED;
-            $this->statusMessage = $e->getMessage();
-        } catch (PHPUnit_Framework_Warning $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_WARNING;
-            $this->statusMessage = $e->getMessage();
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-            $this->statusMessage = $e->getMessage();
-        } catch (PredictionException $e) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-            $this->statusMessage = $e->getMessage();
-        } catch (Throwable $_e) {
-            $e = $_e;
-        } catch (Exception $_e) {
-            $e = $_e;
-        }
-
-        if (isset($_e)) {
-            $this->status        = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-            $this->statusMessage = $_e->getMessage();
-        }
-
-        // Clean up the mock objects.
-        $this->mockObjects = [];
-        $this->prophet     = null;
-
-        // Tear down the fixture. An exception raised in tearDown() will be
-        // caught and passed on when no exception was raised before.
-        try {
-            if ($hasMetRequirements) {
-                foreach ($hookMethods['after'] as $method) {
-                    $this->$method();
-                }
-
-                if ($this->inIsolation) {
-                    foreach ($hookMethods['afterClass'] as $method) {
-                        $this->$method();
-                    }
-                }
-            }
-        } catch (Throwable $_e) {
-            if (!isset($e)) {
-                $e = $_e;
-            }
-        } catch (Exception $_e) {
-            if (!isset($e)) {
-                $e = $_e;
-            }
-        }
-
-        try {
-            $this->stopOutputBuffering();
-        } catch (PHPUnit_Framework_RiskyTestError $_e) {
-            if (!isset($e)) {
-                $e = $_e;
-            }
-        }
-
-        clearstatcache();
-
-        if ($currentWorkingDirectory != getcwd()) {
-            chdir($currentWorkingDirectory);
-        }
-
-        $this->restoreGlobalState();
-
-        // Clean up INI settings.
-        foreach ($this->iniSettings as $varName => $oldValue) {
-            ini_set($varName, $oldValue);
-        }
-
-        $this->iniSettings = [];
-
-        // Clean up locale settings.
-        foreach ($this->locale as $category => $locale) {
-            setlocale($category, $locale);
-        }
-
-        // Perform assertion on output.
-        if (!isset($e)) {
-            try {
-                if ($this->outputExpectedRegex !== null) {
-                    $this->assertRegExp($this->outputExpectedRegex, $this->output);
-                } elseif ($this->outputExpectedString !== null) {
-                    $this->assertEquals($this->outputExpectedString, $this->output);
-                }
-            } catch (Throwable $_e) {
-                $e = $_e;
-            } catch (Exception $_e) {
-                $e = $_e;
-            }
-        }
-
-        // Workaround for missing "finally".
-        if (isset($e)) {
-            if ($e instanceof PredictionException) {
-                $e = new PHPUnit_Framework_AssertionFailedError($e->getMessage());
-            }
-
-            $this->onNotSuccessfulTest($e);
-        }
-    }
-
-    /**
-     * Override to run the test and assert its state.
-     *
-     * @return mixed
-     *
-     * @throws Exception|PHPUnit_Framework_Exception
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        if ($this->name === null) {
-            throw new PHPUnit_Framework_Exception(
-                'PHPUnit_Framework_TestCase::$name must not be null.'
-            );
-        }
-
-        try {
-            $class  = new ReflectionClass($this);
-            $method = $class->getMethod($this->name);
-        } catch (ReflectionException $e) {
-            $this->fail($e->getMessage());
-        }
-
-        $testArguments = array_merge($this->data, $this->dependencyInput);
-
-        $this->registerMockObjectsFromTestArguments($testArguments);
-
-        try {
-            $testResult = $method->invokeArgs($this, $testArguments);
-        } catch (Throwable $_e) {
-            $e = $_e;
-        } catch (Exception $_e) {
-            $e = $_e;
-        }
-
-        if (isset($e)) {
-            $checkException = false;
-
-            if (is_string($this->expectedException)) {
-                $checkException = true;
-
-                if ($e instanceof PHPUnit_Framework_Exception) {
-                    $checkException = false;
-                }
-
-                $reflector = new ReflectionClass($this->expectedException);
-
-                if ($this->expectedException == 'PHPUnit_Framework_Exception' ||
-                    $reflector->isSubclassOf('PHPUnit_Framework_Exception')) {
-                    $checkException = true;
-                }
-            }
-
-            if ($checkException) {
-                $this->assertThat(
-                    $e,
-                    new PHPUnit_Framework_Constraint_Exception(
-                        $this->expectedException
-                    )
-                );
-
-                if (is_string($this->expectedExceptionMessage) &&
-                    !empty($this->expectedExceptionMessage)) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionMessage(
-                            $this->expectedExceptionMessage
-                        )
-                    );
-                }
-
-                if (is_string($this->expectedExceptionMessageRegExp) &&
-                    !empty($this->expectedExceptionMessageRegExp)) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionMessageRegExp(
-                            $this->expectedExceptionMessageRegExp
-                        )
-                    );
-                }
-
-                if ($this->expectedExceptionCode !== null) {
-                    $this->assertThat(
-                        $e,
-                        new PHPUnit_Framework_Constraint_ExceptionCode(
-                            $this->expectedExceptionCode
-                        )
-                    );
-                }
-
-                return;
-            } else {
-                throw $e;
-            }
-        }
-
-        if ($this->expectedException !== null) {
-            $this->assertThat(
-                null,
-                new PHPUnit_Framework_Constraint_Exception(
-                    $this->expectedException
-                )
-            );
-        }
-
-        return $testResult;
-    }
-
-    /**
-     * Verifies the mock object expectations.
-     *
-     * @since Method available since Release 3.5.0
-     */
-    protected function verifyMockObjects()
-    {
-        foreach ($this->mockObjects as $mockObject) {
-            if ($mockObject->__phpunit_hasMatchers()) {
-                $this->numAssertions++;
-            }
-
-            $mockObject->__phpunit_verify(
-                $this->shouldInvocationMockerBeReset($mockObject)
-            );
-        }
-
-        if ($this->prophet !== null) {
-            try {
-                $this->prophet->checkPredictions();
-            } catch (Throwable $t) {
-                /* Intentionally left empty */
-            } catch (Exception $t) {
-                /* Intentionally left empty */
-            }
-
-            foreach ($this->prophet->getProphecies() as $objectProphecy) {
-                foreach ($objectProphecy->getMethodProphecies() as $methodProphecies) {
-                    foreach ($methodProphecies as $methodProphecy) {
-                        $this->numAssertions += count($methodProphecy->getCheckedPredictions());
-                    }
-                }
-            }
-
-            if (isset($t)) {
-                throw $t;
-            }
-        }
-    }
-
-    /**
-     * Sets the name of a TestCase.
-     *
-     * @param  string
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * Sets the dependencies of a TestCase.
-     *
-     * @param array $dependencies
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setDependencies(array $dependencies)
-    {
-        $this->dependencies = $dependencies;
-    }
-
-    /**
-     * Returns true if the tests has dependencies
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function hasDependencies()
-    {
-        return count($this->dependencies) > 0;
-    }
-
-    /**
-     * Sets
-     *
-     * @param array $dependencyInput
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setDependencyInput(array $dependencyInput)
-    {
-        $this->dependencyInput = $dependencyInput;
-    }
-
-    /**
-     * @param bool $beStrictAboutChangesToGlobalState
-     *
-     * @since Method available since Release 4.6.0
-     */
-    public function setBeStrictAboutChangesToGlobalState($beStrictAboutChangesToGlobalState)
-    {
-        $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState;
-    }
-
-    /**
-     * Calling this method in setUp() has no effect!
-     *
-     * @param bool $backupGlobals
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function setBackupGlobals($backupGlobals)
-    {
-        if (is_null($this->backupGlobals) && is_bool($backupGlobals)) {
-            $this->backupGlobals = $backupGlobals;
-        }
-    }
-
-    /**
-     * Calling this method in setUp() has no effect!
-     *
-     * @param bool $backupStaticAttributes
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setBackupStaticAttributes($backupStaticAttributes)
-    {
-        if (is_null($this->backupStaticAttributes) &&
-            is_bool($backupStaticAttributes)) {
-            $this->backupStaticAttributes = $backupStaticAttributes;
-        }
-    }
-
-    /**
-     * @param bool $runTestInSeparateProcess
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setRunTestInSeparateProcess($runTestInSeparateProcess)
-    {
-        if (is_bool($runTestInSeparateProcess)) {
-            if ($this->runTestInSeparateProcess === null) {
-                $this->runTestInSeparateProcess = $runTestInSeparateProcess;
-            }
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @param bool $preserveGlobalState
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setPreserveGlobalState($preserveGlobalState)
-    {
-        if (is_bool($preserveGlobalState)) {
-            $this->preserveGlobalState = $preserveGlobalState;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @param bool $inIsolation
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setInIsolation($inIsolation)
-    {
-        if (is_bool($inIsolation)) {
-            $this->inIsolation = $inIsolation;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 4.3.0
-     */
-    public function isInIsolation()
-    {
-        return $this->inIsolation;
-    }
-
-    /**
-     * @return mixed
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function getResult()
-    {
-        return $this->testResult;
-    }
-
-    /**
-     * @param mixed $result
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setResult($result)
-    {
-        $this->testResult = $result;
-    }
-
-    /**
-     * @param callable $callback
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setOutputCallback($callback)
-    {
-        if (!is_callable($callback)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'callback');
-        }
-
-        $this->outputCallback = $callback;
-    }
-
-    /**
-     * @return PHPUnit_Framework_TestResult
-     *
-     * @since Method available since Release 3.5.7
-     */
-    public function getTestResultObject()
-    {
-        return $this->result;
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setTestResultObject(PHPUnit_Framework_TestResult $result)
-    {
-        $this->result = $result;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_MockObject $mockObject
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function registerMockObject(PHPUnit_Framework_MockObject_MockObject $mockObject)
-    {
-        $this->mockObjects[] = $mockObject;
-    }
-
-    /**
-     * This method is a wrapper for the ini_set() function that automatically
-     * resets the modified php.ini setting to its original value after the
-     * test is run.
-     *
-     * @param string $varName
-     * @param string $newValue
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.0.0
-     */
-    protected function iniSet($varName, $newValue)
-    {
-        if (!is_string($varName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $currentValue = ini_set($varName, $newValue);
-
-        if ($currentValue !== false) {
-            $this->iniSettings[$varName] = $currentValue;
-        } else {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'INI setting "%s" could not be set to "%s".',
-                    $varName,
-                    $newValue
-                )
-            );
-        }
-    }
-
-    /**
-     * This method is a wrapper for the setlocale() function that automatically
-     * resets the locale to its original value after the test is run.
-     *
-     * @param int    $category
-     * @param string $locale
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.1.0
-     */
-    protected function setLocale()
-    {
-        $args = func_get_args();
-
-        if (count($args) < 2) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        $category = $args[0];
-        $locale   = $args[1];
-
-        $categories = [
-            LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME
-        ];
-
-        if (defined('LC_MESSAGES')) {
-            $categories[] = LC_MESSAGES;
-        }
-
-        if (!in_array($category, $categories)) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (!is_array($locale) && !is_string($locale)) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        $this->locale[$category] = setlocale($category, 0);
-
-        $result = call_user_func_array('setlocale', $args);
-
-        if ($result === false) {
-            throw new PHPUnit_Framework_Exception(
-                'The locale functionality is not implemented on your platform, ' .
-                'the specified locale does not exist or the category name is ' .
-                'invalid.'
-            );
-        }
-    }
-
-    /**
-     * Returns a builder object to create mock objects using a fluent interface.
-     *
-     * @param string $className
-     *
-     * @return PHPUnit_Framework_MockObject_MockBuilder
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public function getMockBuilder($className)
-    {
-        return new PHPUnit_Framework_MockObject_MockBuilder($this, $className);
-    }
-
-    /**
-     * Returns a test double for the specified class.
-     *
-     * @param string $originalClassName
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.4.0
-     */
-    protected function createMock($originalClassName)
-    {
-        return $this->getMockBuilder($originalClassName)
-                    ->disableOriginalConstructor()
-                    ->disableOriginalClone()
-                    ->disableArgumentCloning()
-                    ->disallowMockingUnknownTypes()
-                    ->getMock();
-    }
-
-    /**
-     * Returns a mock object for the specified class.
-     *
-     * @param string     $originalClassName       Name of the class to mock.
-     * @param array|null $methods                 When provided, only methods whose names are in the array
-     *                                            are replaced with a configurable test double. The behavior
-     *                                            of the other methods is not changed.
-     *                                            Providing null means that no methods will be replaced.
-     * @param array      $arguments               Parameters to pass to the original class' constructor.
-     * @param string     $mockClassName           Class name for the generated test double class.
-     * @param bool       $callOriginalConstructor Can be used to disable the call to the original class' constructor.
-     * @param bool       $callOriginalClone       Can be used to disable the call to the original class' clone constructor.
-     * @param bool       $callAutoload            Can be used to disable __autoload() during the generation of the test double class.
-     * @param bool       $cloneArguments
-     * @param bool       $callOriginalMethods
-     * @param object     $proxyTarget
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.0.0
-     * @deprecated Method deprecated since Release 5.4.0
-     */
-    protected function getMock($originalClassName, $methods = [], array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false, $callOriginalMethods = false, $proxyTarget = null)
-    {
-        $this->warnings[] = 'PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead';
-
-        $mockObject = $this->getMockObjectGenerator()->getMock(
-            $originalClassName,
-            $methods,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments,
-            $callOriginalMethods,
-            $proxyTarget
-        );
-
-        $this->registerMockObject($mockObject);
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns a mock with disabled constructor object for the specified class.
-     *
-     * @param string $originalClassName
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.0.0
-     * @deprecated Method deprecated since Release 5.4.0
-     */
-    protected function getMockWithoutInvokingTheOriginalConstructor($originalClassName)
-    {
-        $this->warnings[] = 'PHPUnit_Framework_TestCase::getMockWithoutInvokingTheOriginalConstructor() is deprecated, use PHPUnit_Framework_TestCase::createMock() instead';
-
-        return $this->getMockBuilder($originalClassName)
-                    ->disableOriginalConstructor()
-                    ->getMock();
-    }
-
-    /**
-     * Mocks the specified class and returns the name of the mocked class.
-     *
-     * @param string $originalClassName
-     * @param array  $methods
-     * @param array  $arguments
-     * @param string $mockClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param bool   $cloneArguments
-     *
-     * @return string
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.5.0
-     */
-    protected function getMockClass($originalClassName, $methods = [], array $arguments = [], $mockClassName = '', $callOriginalConstructor = false, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false)
-    {
-        $mock = $this->getMockObjectGenerator()->getMock(
-            $originalClassName,
-            $methods,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments
-        );
-
-        return get_class($mock);
-    }
-
-    /**
-     * Returns a mock object for the specified abstract class with all abstract
-     * methods of the class mocked. Concrete methods are not mocked by default.
-     * To mock concrete methods, use the 7th parameter ($mockedMethods).
-     *
-     * @param string $originalClassName
-     * @param array  $arguments
-     * @param string $mockClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param array  $mockedMethods
-     * @param bool   $cloneArguments
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @since Method available since Release 3.4.0
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function getMockForAbstractClass($originalClassName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = false)
-    {
-        $mockObject = $this->getMockObjectGenerator()->getMockForAbstractClass(
-            $originalClassName,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $mockedMethods,
-            $cloneArguments
-        );
-
-        $this->registerMockObject($mockObject);
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns a mock object based on the given WSDL file.
-     *
-     * @param string $wsdlFile
-     * @param string $originalClassName
-     * @param string $mockClassName
-     * @param array  $methods
-     * @param bool   $callOriginalConstructor
-     * @param array  $options                 An array of options passed to SOAPClient::_construct
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @since Method available since Release 3.4.0
-     */
-    protected function getMockFromWsdl($wsdlFile, $originalClassName = '', $mockClassName = '', array $methods = [], $callOriginalConstructor = true, array $options = [])
-    {
-        if ($originalClassName === '') {
-            $originalClassName = str_replace('.wsdl', '', basename($wsdlFile));
-        }
-
-        if (!class_exists($originalClassName)) {
-            eval(
-                $this->getMockObjectGenerator()->generateClassFromWsdl(
-                    $wsdlFile,
-                    $originalClassName,
-                    $methods,
-                    $options
-                )
-            );
-        }
-
-        $mockObject = $this->getMockObjectGenerator()->getMock(
-            $originalClassName,
-            $methods,
-            ['', $options],
-            $mockClassName,
-            $callOriginalConstructor,
-            false,
-            false
-        );
-
-        $this->registerMockObject($mockObject);
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns a mock object for the specified trait with all abstract methods
-     * of the trait mocked. Concrete methods to mock can be specified with the
-     * `$mockedMethods` parameter.
-     *
-     * @param string $traitName
-     * @param array  $arguments
-     * @param string $mockClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param array  $mockedMethods
-     * @param bool   $cloneArguments
-     *
-     * @return PHPUnit_Framework_MockObject_MockObject
-     *
-     * @since Method available since Release 4.0.0
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function getMockForTrait($traitName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = false)
-    {
-        $mockObject = $this->getMockObjectGenerator()->getMockForTrait(
-            $traitName,
-            $arguments,
-            $mockClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $mockedMethods,
-            $cloneArguments
-        );
-
-        $this->registerMockObject($mockObject);
-
-        return $mockObject;
-    }
-
-    /**
-     * Returns an object for the specified trait.
-     *
-     * @param string $traitName
-     * @param array  $arguments
-     * @param string $traitClassName
-     * @param bool   $callOriginalConstructor
-     * @param bool   $callOriginalClone
-     * @param bool   $callAutoload
-     * @param bool   $cloneArguments
-     *
-     * @return object
-     *
-     * @since Method available since Release 3.6.0
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function getObjectForTrait($traitName, array $arguments = [], $traitClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $cloneArguments = false)
-    {
-        return $this->getMockObjectGenerator()->getObjectForTrait(
-            $traitName,
-            $arguments,
-            $traitClassName,
-            $callOriginalConstructor,
-            $callOriginalClone,
-            $callAutoload,
-            $cloneArguments
-        );
-    }
-
-    /**
-     * @param string|null $classOrInterface
-     *
-     * @return \Prophecy\Prophecy\ObjectProphecy
-     *
-     * @throws \LogicException
-     *
-     * @since Method available since Release 4.5.0
-     */
-    protected function prophesize($classOrInterface = null)
-    {
-        return $this->getProphet()->prophesize($classOrInterface);
-    }
-
-    /**
-     * Adds a value to the assertion counter.
-     *
-     * @param int $count
-     *
-     * @since Method available since Release 3.3.3
-     */
-    public function addToAssertionCount($count)
-    {
-        $this->numAssertions += $count;
-    }
-
-    /**
-     * Returns the number of assertions performed by this test.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function getNumAssertions()
-    {
-        return $this->numAssertions;
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed
-     * zero or more times.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function any()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
-    }
-
-    /**
-     * Returns a matcher that matches when the method is never executed.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function never()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount(0);
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed
-     * at least N times.
-     *
-     * @param int $requiredInvocations
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount
-     *
-     * @since Method available since Release 4.2.0
-     */
-    public static function atLeast($requiredInvocations)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount(
-            $requiredInvocations
-        );
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed at least once.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function atLeastOnce()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce;
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed exactly once.
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function once()
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount(1);
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed
-     * exactly $count times.
-     *
-     * @param int $count
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedCount
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function exactly($count)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedCount($count);
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed
-     * at most N times.
-     *
-     * @param int $allowedInvocations
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount
-     *
-     * @since Method available since Release 4.2.0
-     */
-    public static function atMost($allowedInvocations)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount(
-            $allowedInvocations
-        );
-    }
-
-    /**
-     * Returns a matcher that matches when the method is executed
-     * at the given index.
-     *
-     * @param int $index
-     *
-     * @return PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function at($index)
-    {
-        return new PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex($index);
-    }
-
-    /**
-     * @param mixed $value
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_Return
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function returnValue($value)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_Return($value);
-    }
-
-    /**
-     * @param array $valueMap
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnValueMap
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function returnValueMap(array $valueMap)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnValueMap($valueMap);
-    }
-
-    /**
-     * @param int $argumentIndex
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnArgument
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function returnArgument($argumentIndex)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnArgument(
-            $argumentIndex
-        );
-    }
-
-    /**
-     * @param mixed $callback
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnCallback
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function returnCallback($callback)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnCallback($callback);
-    }
-
-    /**
-     * Returns the current object.
-     *
-     * This method is useful when mocking a fluent interface.
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ReturnSelf
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function returnSelf()
-    {
-        return new PHPUnit_Framework_MockObject_Stub_ReturnSelf();
-    }
-
-    /**
-     * @param Throwable|Exception $exception
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_Exception
-     *
-     * @since Method available since Release 3.1.0
-     *
-     * @todo   Add type declaration when support for PHP 5 is dropped
-     */
-    public static function throwException($exception)
-    {
-        return new PHPUnit_Framework_MockObject_Stub_Exception($exception);
-    }
-
-    /**
-     * @param mixed $value, ...
-     *
-     * @return PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function onConsecutiveCalls()
-    {
-        $args = func_get_args();
-
-        return new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls($args);
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function usesDataProvider()
-    {
-        return !empty($this->data);
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function dataDescription()
-    {
-        return is_string($this->dataName) ? $this->dataName : '';
-    }
-
-    /**
-     * Gets the data set description of a TestCase.
-     *
-     * @param bool $includeData
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.3.0
-     */
-    protected function getDataSetAsString($includeData = true)
-    {
-        $buffer = '';
-
-        if (!empty($this->data)) {
-            if (is_int($this->dataName)) {
-                $buffer .= sprintf(' with data set #%d', $this->dataName);
-            } else {
-                $buffer .= sprintf(' with data set "%s"', $this->dataName);
-            }
-
-            $exporter = new Exporter;
-
-            if ($includeData) {
-                $buffer .= sprintf(' (%s)', $exporter->shortenedRecursiveExport($this->data));
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * @since Method available since Release 3.5.4
-     */
-    protected function handleDependencies()
-    {
-        if (!empty($this->dependencies) && !$this->inIsolation) {
-            $className  = get_class($this);
-            $passed     = $this->result->passed();
-            $passedKeys = array_keys($passed);
-            $numKeys    = count($passedKeys);
-
-            for ($i = 0; $i < $numKeys; $i++) {
-                $pos = strpos($passedKeys[$i], ' with data set');
-
-                if ($pos !== false) {
-                    $passedKeys[$i] = substr($passedKeys[$i], 0, $pos);
-                }
-            }
-
-            $passedKeys = array_flip(array_unique($passedKeys));
-
-            foreach ($this->dependencies as $dependency) {
-                $clone = false;
-
-                if (strpos($dependency, 'clone ') === 0) {
-                    $clone      = true;
-                    $dependency = substr($dependency, strlen('clone '));
-                } elseif (strpos($dependency, '!clone ') === 0) {
-                    $clone      = false;
-                    $dependency = substr($dependency, strlen('!clone '));
-                }
-
-                if (strpos($dependency, '::') === false) {
-                    $dependency = $className . '::' . $dependency;
-                }
-
-                if (!isset($passedKeys[$dependency])) {
-                    $this->result->addError(
-                        $this,
-                        new PHPUnit_Framework_SkippedTestError(
-                            sprintf(
-                                'This test depends on "%s" to pass.',
-                                $dependency
-                            )
-                        ),
-                        0
-                    );
-
-                    return false;
-                }
-
-                if (isset($passed[$dependency])) {
-                    if ($passed[$dependency]['size'] != PHPUnit_Util_Test::UNKNOWN &&
-                        $this->getSize() != PHPUnit_Util_Test::UNKNOWN &&
-                        $passed[$dependency]['size'] > $this->getSize()) {
-                        $this->result->addError(
-                            $this,
-                            new PHPUnit_Framework_SkippedTestError(
-                                'This test depends on a test that is larger than itself.'
-                            ),
-                            0
-                        );
-
-                        return false;
-                    }
-
-                    if ($clone) {
-                        $deepCopy   = new DeepCopy;
-                        $deepCopy->skipUncloneable(false);
-
-                        $this->dependencyInput[$dependency] = $deepCopy->copy($passed[$dependency]['result']);
-                    } else {
-                        $this->dependencyInput[$dependency] = $passed[$dependency]['result'];
-                    }
-                } else {
-                    $this->dependencyInput[$dependency] = null;
-                }
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * This method is called before the first test of this test class is run.
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function setUpBeforeClass()
-    {
-    }
-
-    /**
-     * Sets up the fixture, for example, open a network connection.
-     * This method is called before a test is executed.
-     */
-    protected function setUp()
-    {
-    }
-
-    /**
-     * Performs assertions shared by all tests of a test case.
-     *
-     * This method is called before the execution of a test starts
-     * and after setUp() is called.
-     *
-     * @since Method available since Release 3.2.8
-     */
-    protected function assertPreConditions()
-    {
-    }
-
-    /**
-     * Performs assertions shared by all tests of a test case.
-     *
-     * This method is called before the execution of a test ends
-     * and before tearDown() is called.
-     *
-     * @since Method available since Release 3.2.8
-     */
-    protected function assertPostConditions()
-    {
-    }
-
-    /**
-     * Tears down the fixture, for example, close a network connection.
-     * This method is called after a test is executed.
-     */
-    protected function tearDown()
-    {
-    }
-
-    /**
-     * This method is called after the last test of this test class is run.
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function tearDownAfterClass()
-    {
-    }
-
-    /**
-     * This method is called when a test method did not execute successfully.
-     *
-     * @param Exception|Throwable $e
-     *
-     * @since Method available since Release 3.4.0
-     *
-     * @throws Exception|Throwable
-     */
-    protected function onNotSuccessfulTest($e)
-    {
-        $expected = PHP_MAJOR_VERSION >= 7 ? 'Throwable' : 'Exception';
-
-        if ($e instanceof $expected) {
-            throw $e;
-        }
-
-        throw PHPUnit_Util_InvalidArgumentHelper::factory(
-            1,
-            'Throwable or Exception'
-        );
-    }
-
-    /**
-     * Performs custom preparations on the process isolation template.
-     *
-     * @param Text_Template $template
-     *
-     * @since Method available since Release 3.4.0
-     */
-    protected function prepareTemplate(Text_Template $template)
-    {
-    }
-
-    /**
-     * Get the mock object generator, creating it if it doesn't exist.
-     *
-     * @return PHPUnit_Framework_MockObject_Generator
-     */
-    protected function getMockObjectGenerator()
-    {
-        if (null === $this->mockObjectGenerator) {
-            $this->mockObjectGenerator = new PHPUnit_Framework_MockObject_Generator;
-        }
-
-        return $this->mockObjectGenerator;
-    }
-
-    /**
-     * @since Method available since Release 4.2.0
-     */
-    private function startOutputBuffering()
-    {
-        while (!defined('PHPUNIT_TESTSUITE') && ob_get_level() > 0) {
-            ob_end_clean();
-        }
-
-        ob_start();
-
-        $this->outputBufferingActive = true;
-        $this->outputBufferingLevel  = ob_get_level();
-    }
-
-    /**
-     * @since Method available since Release 4.2.0
-     */
-    private function stopOutputBuffering()
-    {
-        if (ob_get_level() != $this->outputBufferingLevel) {
-            while (ob_get_level() > 0) {
-                ob_end_clean();
-            }
-
-            throw new PHPUnit_Framework_RiskyTestError(
-                'Test code or tested code did not (only) close its own output buffers'
-            );
-        }
-
-        $output = ob_get_contents();
-
-        if ($this->outputCallback === false) {
-            $this->output = $output;
-        } else {
-            $this->output = call_user_func_array(
-                $this->outputCallback,
-                [$output]
-            );
-        }
-
-        ob_end_clean();
-
-        $this->outputBufferingActive = false;
-        $this->outputBufferingLevel  = ob_get_level();
-    }
-
-    private function snapshotGlobalState()
-    {
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($this->runTestInSeparateProcess || $this->inIsolation ||
-            (!$backupGlobals && !$this->backupStaticAttributes)) {
-            return;
-        }
-
-        $this->snapshot = $this->createGlobalStateSnapshot($backupGlobals);
-    }
-
-    private function restoreGlobalState()
-    {
-        if (!$this->snapshot instanceof Snapshot) {
-            return;
-        }
-
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($this->beStrictAboutChangesToGlobalState) {
-            try {
-                $this->compareGlobalStateSnapshots(
-                    $this->snapshot,
-                    $this->createGlobalStateSnapshot($backupGlobals)
-                );
-            } catch (PHPUnit_Framework_RiskyTestError $rte) {
-                // Intentionally left empty
-            }
-        }
-
-        $restorer = new Restorer;
-
-        if ($backupGlobals) {
-            $restorer->restoreGlobalVariables($this->snapshot);
-        }
-
-        if ($this->backupStaticAttributes) {
-            $restorer->restoreStaticAttributes($this->snapshot);
-        }
-
-        $this->snapshot = null;
-
-        if (isset($rte)) {
-            throw $rte;
-        }
-    }
-
-    /**
-     * @param bool $backupGlobals
-     *
-     * @return Snapshot
-     */
-    private function createGlobalStateSnapshot($backupGlobals)
-    {
-        $blacklist = new Blacklist;
-
-        foreach ($this->backupGlobalsBlacklist as $globalVariable) {
-            $blacklist->addGlobalVariable($globalVariable);
-        }
-
-        if (!defined('PHPUNIT_TESTSUITE')) {
-            $blacklist->addClassNamePrefix('PHPUnit');
-            $blacklist->addClassNamePrefix('File_Iterator');
-            $blacklist->addClassNamePrefix('SebastianBergmann\CodeCoverage');
-            $blacklist->addClassNamePrefix('PHP_Invoker');
-            $blacklist->addClassNamePrefix('PHP_Timer');
-            $blacklist->addClassNamePrefix('PHP_Token');
-            $blacklist->addClassNamePrefix('Symfony');
-            $blacklist->addClassNamePrefix('Text_Template');
-            $blacklist->addClassNamePrefix('Doctrine\Instantiator');
-
-            foreach ($this->backupStaticAttributesBlacklist as $class => $attributes) {
-                foreach ($attributes as $attribute) {
-                    $blacklist->addStaticAttribute($class, $attribute);
-                }
-            }
-        }
-
-        return new Snapshot(
-            $blacklist,
-            $backupGlobals,
-            $this->backupStaticAttributes,
-            false,
-            false,
-            false,
-            false,
-            false,
-            false,
-            false
-        );
-    }
-
-    /**
-     * @param Snapshot $before
-     * @param Snapshot $after
-     *
-     * @throws PHPUnit_Framework_RiskyTestError
-     */
-    private function compareGlobalStateSnapshots(Snapshot $before, Snapshot $after)
-    {
-        $backupGlobals = $this->backupGlobals === null || $this->backupGlobals === true;
-
-        if ($backupGlobals) {
-            $this->compareGlobalStateSnapshotPart(
-                $before->globalVariables(),
-                $after->globalVariables(),
-                "--- Global variables before the test\n+++ Global variables after the test\n"
-            );
-
-            $this->compareGlobalStateSnapshotPart(
-                $before->superGlobalVariables(),
-                $after->superGlobalVariables(),
-                "--- Super-global variables before the test\n+++ Super-global variables after the test\n"
-            );
-        }
-
-        if ($this->backupStaticAttributes) {
-            $this->compareGlobalStateSnapshotPart(
-                $before->staticAttributes(),
-                $after->staticAttributes(),
-                "--- Static attributes before the test\n+++ Static attributes after the test\n"
-            );
-        }
-    }
-
-    /**
-     * @param array  $before
-     * @param array  $after
-     * @param string $header
-     *
-     * @throws PHPUnit_Framework_RiskyTestError
-     */
-    private function compareGlobalStateSnapshotPart(array $before, array $after, $header)
-    {
-        if ($before != $after) {
-            $differ   = new Differ($header);
-            $exporter = new Exporter;
-
-            $diff = $differ->diff(
-                $exporter->export($before),
-                $exporter->export($after)
-            );
-
-            throw new PHPUnit_Framework_RiskyTestError(
-                $diff
-            );
-        }
-    }
-
-    /**
-     * @return Prophecy\Prophet
-     *
-     * @since Method available since Release 4.5.0
-     */
-    private function getProphet()
-    {
-        if ($this->prophet === null) {
-            $this->prophet = new Prophet;
-        }
-
-        return $this->prophet;
-    }
-
-    /**
-     * @param PHPUnit_Framework_MockObject_MockObject $mock
-     *
-     * @return bool
-     *
-     * @since Method available since Release 5.0.0
-     */
-    private function shouldInvocationMockerBeReset(PHPUnit_Framework_MockObject_MockObject $mock)
-    {
-        $enumerator = new Enumerator;
-
-        foreach ($enumerator->enumerate($this->dependencyInput) as $object) {
-            if ($mock === $object) {
-                return false;
-            }
-        }
-
-        if (!is_array($this->testResult) && !is_object($this->testResult)) {
-            return true;
-        }
-
-        foreach ($enumerator->enumerate($this->testResult) as $object) {
-            if ($mock === $object) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * @param array $testArguments
-     *
-     * @since Method available since Release 5.0.0
-     */
-    private function registerMockObjectsFromTestArguments(array $testArguments)
-    {
-        if ($this->registerMockObjectsFromTestArgumentsRecursively) {
-            $enumerator = new Enumerator;
-
-            foreach ($enumerator->enumerate($testArguments) as $object) {
-                if ($object instanceof PHPUnit_Framework_MockObject_MockObject) {
-                    $this->registerMockObject($object);
-                }
-            }
-        } else {
-            foreach ($testArguments as $testArgument) {
-                if ($testArgument instanceof PHPUnit_Framework_MockObject_MockObject) {
-                    $this->registerMockObject($testArgument);
-                } elseif (is_array($testArgument)) {
-                    $this->registerMockObjectsFromTestArguments($testArgument);
-                }
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestFailure collects a failed test together with the caught exception.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestFailure
-{
-    /**
-     * @var string
-     */
-    private $testName;
-
-    /**
-     * @var PHPUnit_Framework_Test|null
-     */
-    protected $failedTest;
-
-    /**
-     * @var Exception
-     */
-    protected $thrownException;
-
-    /**
-     * Constructs a TestFailure with the given test and exception.
-     *
-     * @param PHPUnit_Framework_Test $failedTest
-     * @param Throwable              $t
-     */
-    public function __construct(PHPUnit_Framework_Test $failedTest, $t)
-    {
-        if ($failedTest instanceof PHPUnit_Framework_SelfDescribing) {
-            $this->testName = $failedTest->toString();
-        } else {
-            $this->testName = get_class($failedTest);
-        }
-
-        if (!$failedTest instanceof PHPUnit_Framework_TestCase || !$failedTest->isInIsolation()) {
-            $this->failedTest = $failedTest;
-        }
-
-        $this->thrownException = $t;
-    }
-
-    /**
-     * Returns a short description of the failure.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return sprintf(
-            '%s: %s',
-            $this->testName,
-            $this->thrownException->getMessage()
-        );
-    }
-
-    /**
-     * Returns a description for the thrown exception.
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function getExceptionAsString()
-    {
-        return self::exceptionToString($this->thrownException);
-    }
-
-    /**
-     * Returns a description for an exception.
-     *
-     * @param Exception $e
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public static function exceptionToString(Exception $e)
-    {
-        if ($e instanceof PHPUnit_Framework_SelfDescribing) {
-            $buffer = $e->toString();
-
-            if ($e instanceof PHPUnit_Framework_ExpectationFailedException && $e->getComparisonFailure()) {
-                $buffer = $buffer . $e->getComparisonFailure()->getDiff();
-            }
-
-            if (!empty($buffer)) {
-                $buffer = trim($buffer) . "\n";
-            }
-        } elseif ($e instanceof PHPUnit_Framework_Error) {
-            $buffer = $e->getMessage() . "\n";
-        } elseif ($e instanceof PHPUnit_Framework_ExceptionWrapper) {
-            $buffer = $e->getClassname() . ': ' . $e->getMessage() . "\n";
-        } else {
-            $buffer = get_class($e) . ': ' . $e->getMessage() . "\n";
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Returns the name of the failing test (including data set, if any).
-     *
-     * @return string
-     *
-     * @since Method available since Release 4.3.0
-     */
-    public function getTestName()
-    {
-        return $this->testName;
-    }
-
-    /**
-     * Returns the failing test.
-     *
-     * Note: The test object is not set when the test is executed in process
-     * isolation.
-     *
-     * @see PHPUnit_Framework_Exception
-     *
-     * @return PHPUnit_Framework_Test|null
-     */
-    public function failedTest()
-    {
-        return $this->failedTest;
-    }
-
-    /**
-     * Gets the thrown exception.
-     *
-     * @return Exception
-     */
-    public function thrownException()
-    {
-        return $this->thrownException;
-    }
-
-    /**
-     * Returns the exception's message.
-     *
-     * @return string
-     */
-    public function exceptionMessage()
-    {
-        return $this->thrownException()->getMessage();
-    }
-
-    /**
-     * Returns true if the thrown exception
-     * is of type AssertionFailedError.
-     *
-     * @return bool
-     */
-    public function isFailure()
-    {
-        return ($this->thrownException() instanceof PHPUnit_Framework_AssertionFailedError);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A Listener for test progress.
- *
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Framework_TestListener
-{
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 6.0.0
-     *
-     * @todo  Uncomment in time for PHPUnit 6.0.0
-     *
-     * @see   https://github.com/sebastianbergmann/phpunit/pull/1840#issuecomment-162535997
-     */
-//  public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time);
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time);
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time);
-
-    /**
-     * A test suite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite);
-
-    /**
-     * A test suite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite);
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test);
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Exception as CodeCoverageException;
-use SebastianBergmann\CodeCoverage\CoveredCodeNotExecutedException;
-use SebastianBergmann\CodeCoverage\MissingCoversAnnotationException;
-use SebastianBergmann\CodeCoverage\UnintentionallyCoveredCodeException;
-use SebastianBergmann\ResourceOperations\ResourceOperations;
-
-/**
- * A TestResult collects the results of executing a test case.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestResult implements Countable
-{
-    /**
-     * @var array
-     */
-    protected $passed = [];
-
-    /**
-     * @var array
-     */
-    protected $errors = [];
-
-    /**
-     * @var array
-     */
-    protected $failures = [];
-
-    /**
-     * @var array
-     */
-    protected $warnings = [];
-
-    /**
-     * @var array
-     */
-    protected $notImplemented = [];
-
-    /**
-     * @var array
-     */
-    protected $risky = [];
-
-    /**
-     * @var array
-     */
-    protected $skipped = [];
-
-    /**
-     * @var array
-     */
-    protected $listeners = [];
-
-    /**
-     * @var int
-     */
-    protected $runTests = 0;
-
-    /**
-     * @var float
-     */
-    protected $time = 0;
-
-    /**
-     * @var PHPUnit_Framework_TestSuite
-     */
-    protected $topTestSuite = null;
-
-    /**
-     * Code Coverage information.
-     *
-     * @var CodeCoverage
-     */
-    protected $codeCoverage;
-
-    /**
-     * @var bool
-     */
-    protected $convertErrorsToExceptions = true;
-
-    /**
-     * @var bool
-     */
-    protected $stop = false;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnError = false;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnFailure = false;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnWarning = false;
-
-    /**
-     * @var bool
-     */
-    protected $beStrictAboutTestsThatDoNotTestAnything = false;
-
-    /**
-     * @var bool
-     */
-    protected $beStrictAboutOutputDuringTests = false;
-
-    /**
-     * @var bool
-     */
-    protected $beStrictAboutTodoAnnotatedTests = false;
-
-    /**
-     * @var bool
-     */
-    protected $beStrictAboutResourceUsageDuringSmallTests = false;
-
-    /**
-     * @var bool
-     */
-    protected $enforceTimeLimit = false;
-
-    /**
-     * @var int
-     */
-    protected $timeoutForSmallTests = 1;
-
-    /**
-     * @var int
-     */
-    protected $timeoutForMediumTests = 10;
-
-    /**
-     * @var int
-     */
-    protected $timeoutForLargeTests = 60;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnRisky = false;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnIncomplete = false;
-
-    /**
-     * @var bool
-     */
-    protected $stopOnSkipped = false;
-
-    /**
-     * @var bool
-     */
-    protected $lastTestFailed = false;
-
-    /**
-     * @var bool
-     */
-    private $registerMockObjectsFromTestArgumentsRecursively = false;
-
-    /**
-     * Registers a TestListener.
-     *
-     * @param  PHPUnit_Framework_TestListener
-     */
-    public function addListener(PHPUnit_Framework_TestListener $listener)
-    {
-        $this->listeners[] = $listener;
-    }
-
-    /**
-     * Unregisters a TestListener.
-     *
-     * @param PHPUnit_Framework_TestListener $listener
-     */
-    public function removeListener(PHPUnit_Framework_TestListener $listener)
-    {
-        foreach ($this->listeners as $key => $_listener) {
-            if ($listener === $_listener) {
-                unset($this->listeners[$key]);
-            }
-        }
-    }
-
-    /**
-     * Flushes all flushable TestListeners.
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function flushListeners()
-    {
-        foreach ($this->listeners as $listener) {
-            if ($listener instanceof PHPUnit_Util_Printer) {
-                $listener->flush();
-            }
-        }
-    }
-
-    /**
-     * Adds an error to the list of errors.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Throwable              $t
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, $t, $time)
-    {
-        if ($t instanceof PHPUnit_Framework_RiskyTest) {
-            $this->risky[] = new PHPUnit_Framework_TestFailure($test, $t);
-            $notifyMethod  = 'addRiskyTest';
-
-            if ($this->stopOnRisky) {
-                $this->stop();
-            }
-        } elseif ($t instanceof PHPUnit_Framework_IncompleteTest) {
-            $this->notImplemented[] = new PHPUnit_Framework_TestFailure($test, $t);
-            $notifyMethod           = 'addIncompleteTest';
-
-            if ($this->stopOnIncomplete) {
-                $this->stop();
-            }
-        } elseif ($t instanceof PHPUnit_Framework_SkippedTest) {
-            $this->skipped[] = new PHPUnit_Framework_TestFailure($test, $t);
-            $notifyMethod    = 'addSkippedTest';
-
-            if ($this->stopOnSkipped) {
-                $this->stop();
-            }
-        } else {
-            $this->errors[] = new PHPUnit_Framework_TestFailure($test, $t);
-            $notifyMethod   = 'addError';
-
-            if ($this->stopOnError || $this->stopOnFailure) {
-                $this->stop();
-            }
-        }
-
-        // @see https://github.com/sebastianbergmann/phpunit/issues/1953
-        if ($t instanceof Error) {
-            $t = new PHPUnit_Framework_ExceptionWrapper($t);
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->$notifyMethod($test, $t, $time);
-        }
-
-        $this->lastTestFailed = true;
-        $this->time          += $time;
-    }
-
-    /**
-     * Adds a warning to the list of warnings.
-     * The passed in exception caused the warning.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        if ($this->stopOnWarning) {
-            $this->stop();
-        }
-
-        $this->warnings[] = new PHPUnit_Framework_TestFailure($test, $e);
-
-        foreach ($this->listeners as $listener) {
-            // @todo Remove check for PHPUnit 6.0.0
-            // @see  https://github.com/sebastianbergmann/phpunit/pull/1840#issuecomment-162535997
-            if (method_exists($listener, 'addWarning')) {
-                $listener->addWarning($test, $e, $time);
-            }
-        }
-
-        $this->time += $time;
-    }
-
-    /**
-     * Adds a failure to the list of failures.
-     * The passed in exception caused the failure.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        if ($e instanceof PHPUnit_Framework_RiskyTest ||
-            $e instanceof PHPUnit_Framework_OutputError) {
-            $this->risky[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod  = 'addRiskyTest';
-
-            if ($this->stopOnRisky) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_IncompleteTest) {
-            $this->notImplemented[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod           = 'addIncompleteTest';
-
-            if ($this->stopOnIncomplete) {
-                $this->stop();
-            }
-        } elseif ($e instanceof PHPUnit_Framework_SkippedTest) {
-            $this->skipped[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod    = 'addSkippedTest';
-
-            if ($this->stopOnSkipped) {
-                $this->stop();
-            }
-        } else {
-            $this->failures[] = new PHPUnit_Framework_TestFailure($test, $e);
-            $notifyMethod     = 'addFailure';
-
-            if ($this->stopOnFailure) {
-                $this->stop();
-            }
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->$notifyMethod($test, $e, $time);
-        }
-
-        $this->lastTestFailed = true;
-        $this->time          += $time;
-    }
-
-    /**
-     * Informs the result that a testsuite will be started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        if ($this->topTestSuite === null) {
-            $this->topTestSuite = $suite;
-        }
-
-        foreach ($this->listeners as $listener) {
-            $listener->startTestSuite($suite);
-        }
-    }
-
-    /**
-     * Informs the result that a testsuite was completed.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        foreach ($this->listeners as $listener) {
-            $listener->endTestSuite($suite);
-        }
-    }
-
-    /**
-     * Informs the result that a test will be started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->lastTestFailed = false;
-        $this->runTests      += count($test);
-
-        foreach ($this->listeners as $listener) {
-            $listener->startTest($test);
-        }
-    }
-
-    /**
-     * Informs the result that a test was completed.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        foreach ($this->listeners as $listener) {
-            $listener->endTest($test, $time);
-        }
-
-        if (!$this->lastTestFailed && $test instanceof PHPUnit_Framework_TestCase) {
-            $class  = get_class($test);
-            $key    = $class . '::' . $test->getName();
-
-            $this->passed[$key] = [
-                'result' => $test->getResult(),
-                'size'   => PHPUnit_Util_Test::getSize(
-                    $class,
-                    $test->getName(false)
-                )
-            ];
-
-            $this->time += $time;
-        }
-    }
-
-    /**
-     * Returns true if no risky test occurred.
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function allHarmless()
-    {
-        return $this->riskyCount() == 0;
-    }
-
-    /**
-     * Gets the number of risky tests.
-     *
-     * @return int
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function riskyCount()
-    {
-        return count($this->risky);
-    }
-
-    /**
-     * Returns true if no incomplete test occurred.
-     *
-     * @return bool
-     */
-    public function allCompletelyImplemented()
-    {
-        return $this->notImplementedCount() == 0;
-    }
-
-    /**
-     * Gets the number of incomplete tests.
-     *
-     * @return int
-     */
-    public function notImplementedCount()
-    {
-        return count($this->notImplemented);
-    }
-
-    /**
-     * Returns an Enumeration for the risky tests.
-     *
-     * @return array
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function risky()
-    {
-        return $this->risky;
-    }
-
-    /**
-     * Returns an Enumeration for the incomplete tests.
-     *
-     * @return array
-     */
-    public function notImplemented()
-    {
-        return $this->notImplemented;
-    }
-
-    /**
-     * Returns true if no test has been skipped.
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function noneSkipped()
-    {
-        return $this->skippedCount() == 0;
-    }
-
-    /**
-     * Gets the number of skipped tests.
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function skippedCount()
-    {
-        return count($this->skipped);
-    }
-
-    /**
-     * Returns an Enumeration for the skipped tests.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function skipped()
-    {
-        return $this->skipped;
-    }
-
-    /**
-     * Gets the number of detected errors.
-     *
-     * @return int
-     */
-    public function errorCount()
-    {
-        return count($this->errors);
-    }
-
-    /**
-     * Returns an Enumeration for the errors.
-     *
-     * @return array
-     */
-    public function errors()
-    {
-        return $this->errors;
-    }
-
-    /**
-     * Gets the number of detected failures.
-     *
-     * @return int
-     */
-    public function failureCount()
-    {
-        return count($this->failures);
-    }
-
-    /**
-     * Returns an Enumeration for the failures.
-     *
-     * @return array
-     */
-    public function failures()
-    {
-        return $this->failures;
-    }
-
-    /**
-     * Gets the number of detected warnings.
-     *
-     * @return int
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function warningCount()
-    {
-        return count($this->warnings);
-    }
-
-    /**
-     * Returns an Enumeration for the warnings.
-     *
-     * @return array
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function warnings()
-    {
-        return $this->warnings;
-    }
-
-    /**
-     * Returns the names of the tests that have passed.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function passed()
-    {
-        return $this->passed;
-    }
-
-    /**
-     * Returns the (top) test suite.
-     *
-     * @return PHPUnit_Framework_TestSuite
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function topTestSuite()
-    {
-        return $this->topTestSuite;
-    }
-
-    /**
-     * Returns whether code coverage information should be collected.
-     *
-     * @return bool If code coverage should be collected
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public function getCollectCodeCoverageInformation()
-    {
-        return $this->codeCoverage !== null;
-    }
-
-    /**
-     * Runs a TestCase.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function run(PHPUnit_Framework_Test $test)
-    {
-        PHPUnit_Framework_Assert::resetCount();
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $test->setRegisterMockObjectsFromTestArgumentsRecursively(
-                $this->registerMockObjectsFromTestArgumentsRecursively
-            );
-        }
-
-        $error      = false;
-        $failure    = false;
-        $warning    = false;
-        $incomplete = false;
-        $risky      = false;
-        $skipped    = false;
-
-        $this->startTest($test);
-
-        $errorHandlerSet = false;
-
-        if ($this->convertErrorsToExceptions) {
-            $oldErrorHandler = set_error_handler(
-                ['PHPUnit_Util_ErrorHandler', 'handleError'],
-                E_ALL | E_STRICT
-            );
-
-            if ($oldErrorHandler === null) {
-                $errorHandlerSet = true;
-            } else {
-                restore_error_handler();
-            }
-        }
-
-        $collectCodeCoverage = $this->codeCoverage !== null &&
-                               !$test instanceof PHPUnit_Framework_WarningTestCase;
-
-        if ($collectCodeCoverage) {
-            $this->codeCoverage->start($test);
-        }
-
-        $monitorFunctions = $this->beStrictAboutResourceUsageDuringSmallTests &&
-                            !$test instanceof PHPUnit_Framework_WarningTestCase &&
-                            $test->getSize() == PHPUnit_Util_Test::SMALL &&
-                            function_exists('xdebug_start_function_monitor');
-
-        if ($monitorFunctions) {
-            xdebug_start_function_monitor(ResourceOperations::getFunctions());
-        }
-
-        PHP_Timer::start();
-
-        try {
-            if (!$test instanceof PHPUnit_Framework_WarningTestCase &&
-                $test->getSize() != PHPUnit_Util_Test::UNKNOWN &&
-                $this->enforceTimeLimit &&
-                extension_loaded('pcntl') && class_exists('PHP_Invoker')) {
-                switch ($test->getSize()) {
-                    case PHPUnit_Util_Test::SMALL:
-                        $_timeout = $this->timeoutForSmallTests;
-                        break;
-
-                    case PHPUnit_Util_Test::MEDIUM:
-                        $_timeout = $this->timeoutForMediumTests;
-                        break;
-
-                    case PHPUnit_Util_Test::LARGE:
-                        $_timeout = $this->timeoutForLargeTests;
-                        break;
-                }
-
-                $invoker = new PHP_Invoker;
-                $invoker->invoke([$test, 'runBare'], [], $_timeout);
-            } else {
-                $test->runBare();
-            }
-        } catch (PHPUnit_Framework_MockObject_Exception $e) {
-            $e = new PHPUnit_Framework_Warning(
-                $e->getMessage()
-            );
-
-            $warning = true;
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            $failure = true;
-
-            if ($e instanceof PHPUnit_Framework_RiskyTestError) {
-                $risky = true;
-            } elseif ($e instanceof PHPUnit_Framework_IncompleteTestError) {
-                $incomplete = true;
-            } elseif ($e instanceof PHPUnit_Framework_SkippedTestError) {
-                $skipped = true;
-            }
-        } catch (PHPUnit_Framework_Warning $e) {
-            $warning = true;
-        } catch (PHPUnit_Framework_Exception $e) {
-            $error = true;
-        } catch (Throwable $e) {
-            $e     = new PHPUnit_Framework_ExceptionWrapper($e);
-            $error = true;
-        } catch (Exception $e) {
-            $e     = new PHPUnit_Framework_ExceptionWrapper($e);
-            $error = true;
-        }
-
-        $time = PHP_Timer::stop();
-        $test->addToAssertionCount(PHPUnit_Framework_Assert::getCount());
-
-        if ($monitorFunctions) {
-            $blacklist = new PHPUnit_Util_Blacklist;
-            $functions = xdebug_get_monitored_functions();
-            xdebug_stop_function_monitor();
-
-            foreach ($functions as $function) {
-                if (!$blacklist->isBlacklisted($function['filename'])) {
-                    $this->addFailure(
-                        $test,
-                        new PHPUnit_Framework_RiskyTestError(
-                            sprintf(
-                                '%s() used in %s:%s',
-                                $function['function'],
-                                $function['filename'],
-                                $function['lineno']
-                            )
-                        ),
-                        $time
-                    );
-                }
-            }
-        }
-
-        if ($this->beStrictAboutTestsThatDoNotTestAnything &&
-            $test->getNumAssertions() == 0) {
-            $risky = true;
-        }
-
-        if ($collectCodeCoverage) {
-            $append           = !$risky && !$incomplete && !$skipped;
-            $linesToBeCovered = [];
-            $linesToBeUsed    = [];
-
-            if ($append && $test instanceof PHPUnit_Framework_TestCase) {
-                try {
-                    $linesToBeCovered = PHPUnit_Util_Test::getLinesToBeCovered(
-                        get_class($test),
-                        $test->getName(false)
-                    );
-
-                    $linesToBeUsed = PHPUnit_Util_Test::getLinesToBeUsed(
-                        get_class($test),
-                        $test->getName(false)
-                    );
-                } catch (PHPUnit_Framework_InvalidCoversTargetException $cce) {
-                    $this->addWarning(
-                        $test,
-                        new PHPUnit_Framework_Warning(
-                            $cce->getMessage()
-                        ),
-                        $time
-                    );
-                }
-            }
-
-            try {
-                $this->codeCoverage->stop(
-                    $append,
-                    $linesToBeCovered,
-                    $linesToBeUsed
-                );
-            } catch (UnintentionallyCoveredCodeException $cce) {
-                if (!$test->isMedium() && !$test->isLarge()) {
-                    $this->addFailure(
-                        $test,
-                        new PHPUnit_Framework_UnintentionallyCoveredCodeError(
-                            'This test executed code that is not listed as code to be covered or used:' .
-                            PHP_EOL . $cce->getMessage()
-                        ),
-                        $time
-                    );
-                }
-            } catch (CoveredCodeNotExecutedException $cce) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_CoveredCodeNotExecutedException(
-                        'This test did not execute all the code that is listed as code to be covered:' .
-                        PHP_EOL . $cce->getMessage()
-                    ),
-                    $time
-                );
-            } catch (MissingCoversAnnotationException $cce) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_MissingCoversAnnotationException(
-                        'This test does not have a @covers annotation but is expected to have one'
-                    ),
-                    $time
-                );
-            } catch (CodeCoverageException $cce) {
-                $error = true;
-
-                if (!isset($e)) {
-                    $e = $cce;
-                }
-            }
-        }
-
-        if ($errorHandlerSet === true) {
-            restore_error_handler();
-        }
-
-        if ($error === true) {
-            $this->addError($test, $e, $time);
-        } elseif ($failure === true) {
-            $this->addFailure($test, $e, $time);
-        } elseif ($warning === true) {
-            $this->addWarning($test, $e, $time);
-        } elseif ($this->beStrictAboutTestsThatDoNotTestAnything &&
-                 $test->getNumAssertions() == 0) {
-            $this->addFailure(
-                $test,
-                new PHPUnit_Framework_RiskyTestError(
-                    'This test did not perform any assertions'
-                ),
-                $time
-            );
-        } elseif ($this->beStrictAboutOutputDuringTests && $test->hasOutput()) {
-            $this->addFailure(
-                $test,
-                new PHPUnit_Framework_OutputError(
-                    sprintf(
-                        'This test printed output: %s',
-                        $test->getActualOutput()
-                    )
-                ),
-                $time
-            );
-        } elseif ($this->beStrictAboutTodoAnnotatedTests && $test instanceof PHPUnit_Framework_TestCase) {
-            $annotations = $test->getAnnotations();
-
-            if (isset($annotations['method']['todo'])) {
-                $this->addFailure(
-                    $test,
-                    new PHPUnit_Framework_RiskyTestError(
-                        'Test method is annotated with @todo'
-                    ),
-                    $time
-                );
-            }
-        }
-
-        $this->endTest($test, $time);
-    }
-
-    /**
-     * Gets the number of run tests.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return $this->runTests;
-    }
-
-    /**
-     * Checks whether the test run should stop.
-     *
-     * @return bool
-     */
-    public function shouldStop()
-    {
-        return $this->stop;
-    }
-
-    /**
-     * Marks that the test run should stop.
-     */
-    public function stop()
-    {
-        $this->stop = true;
-    }
-
-    /**
-     * Returns the code coverage object.
-     *
-     * @return CodeCoverage
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public function getCodeCoverage()
-    {
-        return $this->codeCoverage;
-    }
-
-    /**
-     * Sets the code coverage object.
-     *
-     * @param CodeCoverage $codeCoverage
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setCodeCoverage(CodeCoverage $codeCoverage)
-    {
-        $this->codeCoverage = $codeCoverage;
-    }
-
-    /**
-     * Enables or disables the error-to-exception conversion.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.2.14
-     */
-    public function convertErrorsToExceptions($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->convertErrorsToExceptions = $flag;
-    }
-
-    /**
-     * Returns the error-to-exception conversion setting.
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function getConvertErrorsToExceptions()
-    {
-        return $this->convertErrorsToExceptions;
-    }
-
-    /**
-     * Enables or disables the stopping when an error occurs.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public function stopOnError($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnError = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping when a failure occurs.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public function stopOnFailure($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnFailure = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping when a warning occurs.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function stopOnWarning($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnWarning = $flag;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function beStrictAboutTestsThatDoNotTestAnything($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutTestsThatDoNotTestAnything = $flag;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function isStrictAboutTestsThatDoNotTestAnything()
-    {
-        return $this->beStrictAboutTestsThatDoNotTestAnything;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function beStrictAboutOutputDuringTests($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutOutputDuringTests = $flag;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function isStrictAboutOutputDuringTests()
-    {
-        return $this->beStrictAboutOutputDuringTests;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public function beStrictAboutResourceUsageDuringSmallTests($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutResourceUsageDuringSmallTests = $flag;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public function isStrictAboutResourceUsageDuringSmallTests()
-    {
-        return $this->beStrictAboutResourceUsageDuringSmallTests;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public function enforceTimeLimit($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->enforceTimeLimit = $flag;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 5.0.0
-     */
-    public function enforcesTimeLimit()
-    {
-        return $this->enforceTimeLimit;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.2.0
-     */
-    public function beStrictAboutTodoAnnotatedTests($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->beStrictAboutTodoAnnotatedTests = $flag;
-    }
-
-    /**
-     * @return bool
-     *
-     * @since Method available since Release 4.2.0
-     */
-    public function isStrictAboutTodoAnnotatedTests()
-    {
-        return $this->beStrictAboutTodoAnnotatedTests;
-    }
-
-    /**
-     * Enables or disables the stopping for risky tests.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function stopOnRisky($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnRisky = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping for incomplete tests.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.5.0
-     */
-    public function stopOnIncomplete($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnIncomplete = $flag;
-    }
-
-    /**
-     * Enables or disables the stopping for skipped tests.
-     *
-     * @param bool $flag
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public function stopOnSkipped($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stopOnSkipped = $flag;
-    }
-
-    /**
-     * Returns the time spent running the tests.
-     *
-     * @return float
-     */
-    public function time()
-    {
-        return $this->time;
-    }
-
-    /**
-     * Returns whether the entire test was successful or not.
-     *
-     * @return bool
-     */
-    public function wasSuccessful()
-    {
-        return empty($this->errors) && empty($this->failures) && empty($this->warnings);
-    }
-
-    /**
-     * Sets the timeout for small tests.
-     *
-     * @param int $timeout
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setTimeoutForSmallTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForSmallTests = $timeout;
-    }
-
-    /**
-     * Sets the timeout for medium tests.
-     *
-     * @param int $timeout
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setTimeoutForMediumTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForMediumTests = $timeout;
-    }
-
-    /**
-     * Sets the timeout for large tests.
-     *
-     * @param int $timeout
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function setTimeoutForLargeTests($timeout)
-    {
-        if (!is_integer($timeout)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        $this->timeoutForLargeTests = $timeout;
-    }
-
-    /**
-     * Returns the set timeout for large tests.
-     *
-     * @return int
-     */
-    public function getTimeoutForLargeTests()
-    {
-        return $this->timeoutForLargeTests;
-    }
-
-    /**
-     * @param bool $flag
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function setRegisterMockObjectsFromTestArgumentsRecursively($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->registerMockObjectsFromTestArgumentsRecursively = $flag;
-    }
-
-    /**
-     * Returns the class hierarchy for a given class.
-     *
-     * @param string $className
-     * @param bool   $asReflectionObjects
-     *
-     * @return array
-     */
-    protected function getHierarchy($className, $asReflectionObjects = false)
-    {
-        if ($asReflectionObjects) {
-            $classes = [new ReflectionClass($className)];
-        } else {
-            $classes = [$className];
-        }
-
-        $done = false;
-
-        while (!$done) {
-            if ($asReflectionObjects) {
-                $class = new ReflectionClass(
-                    $classes[count($classes) - 1]->getName()
-                );
-            } else {
-                $class = new ReflectionClass($classes[count($classes) - 1]);
-            }
-
-            $parent = $class->getParentClass();
-
-            if ($parent !== false) {
-                if ($asReflectionObjects) {
-                    $classes[] = $parent;
-                } else {
-                    $classes[] = $parent->getName();
-                }
-            } else {
-                $done = true;
-            }
-        }
-
-        return $classes;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestSuite is a composite of Tests. It runs a collection of test cases.
- *
- * Here is an example using the dynamic test definition.
- *
- * <code>
- * <?php
- * $suite = new PHPUnit_Framework_TestSuite;
- * $suite->addTest(new MathTest('testPass'));
- * ?>
- * </code>
- *
- * Alternatively, a TestSuite can extract the tests to be run automatically.
- * To do so you pass a ReflectionClass instance for your
- * PHPUnit_Framework_TestCase class to the PHPUnit_Framework_TestSuite
- * constructor.
- *
- * <code>
- * <?php
- * $suite = new PHPUnit_Framework_TestSuite(
- *   new ReflectionClass('MathTest')
- * );
- * ?>
- * </code>
- *
- * This constructor creates a suite with all the methods starting with
- * "test" that take no arguments.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_TestSuite implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing, IteratorAggregate
-{
-    /**
-     * Last count of tests in this suite.
-     *
-     * @var int|null
-     */
-    private $cachedNumTests;
-
-    /**
-     * Enable or disable the backup and restoration of the $GLOBALS array.
-     *
-     * @var bool
-     */
-    protected $backupGlobals = null;
-
-    /**
-     * Enable or disable the backup and restoration of static attributes.
-     *
-     * @var bool
-     */
-    protected $backupStaticAttributes = null;
-
-    /**
-     * @var bool
-     */
-    private $beStrictAboutChangesToGlobalState = null;
-
-    /**
-     * @var bool
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * The name of the test suite.
-     *
-     * @var string
-     */
-    protected $name = '';
-
-    /**
-     * The test groups of the test suite.
-     *
-     * @var array
-     */
-    protected $groups = [];
-
-    /**
-     * The tests in the test suite.
-     *
-     * @var array
-     */
-    protected $tests = [];
-
-    /**
-     * The number of tests in the test suite.
-     *
-     * @var int
-     */
-    protected $numTests = -1;
-
-    /**
-     * @var bool
-     */
-    protected $testCase = false;
-
-    /**
-     * @var array
-     */
-    protected $foundClasses = [];
-
-    /**
-     * @var PHPUnit_Runner_Filter_Factory
-     */
-    private $iteratorFilter = null;
-
-    /**
-     * Constructs a new TestSuite:
-     *
-     *   - PHPUnit_Framework_TestSuite() constructs an empty TestSuite.
-     *
-     *   - PHPUnit_Framework_TestSuite(ReflectionClass) constructs a
-     *     TestSuite from the given class.
-     *
-     *   - PHPUnit_Framework_TestSuite(ReflectionClass, String)
-     *     constructs a TestSuite from the given class with the given
-     *     name.
-     *
-     *   - PHPUnit_Framework_TestSuite(String) either constructs a
-     *     TestSuite from the given class (if the passed string is the
-     *     name of an existing class) or constructs an empty TestSuite
-     *     with the given name.
-     *
-     * @param mixed  $theClass
-     * @param string $name
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($theClass = '', $name = '')
-    {
-        $argumentsValid = false;
-
-        if (is_object($theClass) &&
-            $theClass instanceof ReflectionClass) {
-            $argumentsValid = true;
-        } elseif (is_string($theClass) &&
-                 $theClass !== '' &&
-                 class_exists($theClass, false)) {
-            $argumentsValid = true;
-
-            if ($name == '') {
-                $name = $theClass;
-            }
-
-            $theClass = new ReflectionClass($theClass);
-        } elseif (is_string($theClass)) {
-            $this->setName($theClass);
-
-            return;
-        }
-
-        if (!$argumentsValid) {
-            throw new PHPUnit_Framework_Exception;
-        }
-
-        if (!$theClass->isSubclassOf('PHPUnit_Framework_TestCase')) {
-            throw new PHPUnit_Framework_Exception(
-                'Class "' . $theClass->name . '" does not extend PHPUnit_Framework_TestCase.'
-            );
-        }
-
-        if ($name != '') {
-            $this->setName($name);
-        } else {
-            $this->setName($theClass->getName());
-        }
-
-        $constructor = $theClass->getConstructor();
-
-        if ($constructor !== null &&
-            !$constructor->isPublic()) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'Class "%s" has no public constructor.',
-                        $theClass->getName()
-                    )
-                )
-            );
-
-            return;
-        }
-
-        foreach ($theClass->getMethods() as $method) {
-            $this->addTestMethod($theClass, $method);
-        }
-
-        if (empty($this->tests)) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'No tests found in class "%s".',
-                        $theClass->getName()
-                    )
-                )
-            );
-        }
-
-        $this->testCase = true;
-    }
-
-    /**
-     * Returns a string representation of the test suite.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getName();
-    }
-
-    /**
-     * Adds a test to the suite.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param array                  $groups
-     */
-    public function addTest(PHPUnit_Framework_Test $test, $groups = [])
-    {
-        $class = new ReflectionClass($test);
-
-        if (!$class->isAbstract()) {
-            $this->tests[]  = $test;
-            $this->numTests = -1;
-
-            if ($test instanceof self &&
-                empty($groups)) {
-                $groups = $test->getGroups();
-            }
-
-            if (empty($groups)) {
-                $groups = ['default'];
-            }
-
-            foreach ($groups as $group) {
-                if (!isset($this->groups[$group])) {
-                    $this->groups[$group] = [$test];
-                } else {
-                    $this->groups[$group][] = $test;
-                }
-            }
-
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                $test->setGroups($groups);
-            }
-        }
-    }
-
-    /**
-     * Adds the tests from the given class to the suite.
-     *
-     * @param mixed $testClass
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function addTestSuite($testClass)
-    {
-        if (is_string($testClass) && class_exists($testClass)) {
-            $testClass = new ReflectionClass($testClass);
-        }
-
-        if (!is_object($testClass)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'class name or object'
-            );
-        }
-
-        if ($testClass instanceof self) {
-            $this->addTest($testClass);
-        } elseif ($testClass instanceof ReflectionClass) {
-            $suiteMethod = false;
-
-            if (!$testClass->isAbstract()) {
-                if ($testClass->hasMethod(PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME)) {
-                    $method = $testClass->getMethod(
-                        PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME
-                    );
-
-                    if ($method->isStatic()) {
-                        $this->addTest(
-                            $method->invoke(null, $testClass->getName())
-                        );
-
-                        $suiteMethod = true;
-                    }
-                }
-            }
-
-            if (!$suiteMethod && !$testClass->isAbstract()) {
-                $this->addTest(new self($testClass));
-            }
-        } else {
-            throw new PHPUnit_Framework_Exception;
-        }
-    }
-
-    /**
-     * Wraps both <code>addTest()</code> and <code>addTestSuite</code>
-     * as well as the separate import statements for the user's convenience.
-     *
-     * If the named file cannot be read or there are no new tests that can be
-     * added, a <code>PHPUnit_Framework_WarningTestCase</code> will be created instead,
-     * leaving the current test run untouched.
-     *
-     * @param string $filename
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 2.3.0
-     */
-    public function addTestFile($filename)
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (file_exists($filename) && substr($filename, -5) == '.phpt') {
-            $this->addTest(
-                new PHPUnit_Extensions_PhptTestCase($filename)
-            );
-
-            return;
-        }
-
-        // The given file may contain further stub classes in addition to the
-        // test class itself. Figure out the actual test class.
-        $classes    = get_declared_classes();
-        $filename   = PHPUnit_Util_Fileloader::checkAndLoad($filename);
-        $newClasses = array_diff(get_declared_classes(), $classes);
-
-        // The diff is empty in case a parent class (with test methods) is added
-        // AFTER a child class that inherited from it. To account for that case,
-        // cumulate all discovered classes, so the parent class may be found in
-        // a later invocation.
-        if (!empty($newClasses)) {
-            // On the assumption that test classes are defined first in files,
-            // process discovered classes in approximate LIFO order, so as to
-            // avoid unnecessary reflection.
-            $this->foundClasses = array_merge($newClasses, $this->foundClasses);
-        }
-
-        // The test class's name must match the filename, either in full, or as
-        // a PEAR/PSR-0 prefixed shortname ('NameSpace_ShortName'), or as a
-        // PSR-1 local shortname ('NameSpace\ShortName'). The comparison must be
-        // anchored to prevent false-positive matches (e.g., 'OtherShortName').
-        $shortname      = basename($filename, '.php');
-        $shortnameRegEx = '/(?:^|_|\\\\)' . preg_quote($shortname, '/') . '$/';
-
-        foreach ($this->foundClasses as $i => $className) {
-            if (preg_match($shortnameRegEx, $className)) {
-                $class = new ReflectionClass($className);
-
-                if ($class->getFileName() == $filename) {
-                    $newClasses = [$className];
-                    unset($this->foundClasses[$i]);
-                    break;
-                }
-            }
-        }
-
-        foreach ($newClasses as $className) {
-            $class = new ReflectionClass($className);
-
-            if (!$class->isAbstract()) {
-                if ($class->hasMethod(PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME)) {
-                    $method = $class->getMethod(
-                        PHPUnit_Runner_BaseTestRunner::SUITE_METHODNAME
-                    );
-
-                    if ($method->isStatic()) {
-                        $this->addTest($method->invoke(null, $className));
-                    }
-                } elseif ($class->implementsInterface('PHPUnit_Framework_Test')) {
-                    $this->addTestSuite($class);
-                }
-            }
-        }
-
-        $this->numTests = -1;
-    }
-
-    /**
-     * Wrapper for addTestFile() that adds multiple test files.
-     *
-     * @param array|Iterator $filenames
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 2.3.0
-     */
-    public function addTestFiles($filenames)
-    {
-        if (!(is_array($filenames) ||
-             (is_object($filenames) && $filenames instanceof Iterator))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'array or iterator'
-            );
-        }
-
-        foreach ($filenames as $filename) {
-            $this->addTestFile((string) $filename);
-        }
-    }
-
-    /**
-     * Counts the number of test cases that will be run by this test.
-     *
-     * @param bool $preferCache Indicates if cache is preferred.
-     *
-     * @return int
-     */
-    public function count($preferCache = false)
-    {
-        if ($preferCache && $this->cachedNumTests !== null) {
-            $numTests = $this->cachedNumTests;
-        } else {
-            $numTests = 0;
-
-            foreach ($this as $test) {
-                $numTests += count($test);
-            }
-
-            $this->cachedNumTests = $numTests;
-        }
-
-        return $numTests;
-    }
-
-    /**
-     * @param ReflectionClass $theClass
-     * @param string          $name
-     *
-     * @return PHPUnit_Framework_Test
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function createTest(ReflectionClass $theClass, $name)
-    {
-        $className = $theClass->getName();
-
-        if (!$theClass->isInstantiable()) {
-            return self::warning(
-                sprintf('Cannot instantiate class "%s".', $className)
-            );
-        }
-
-        $backupSettings = PHPUnit_Util_Test::getBackupSettings(
-            $className,
-            $name
-        );
-
-        $preserveGlobalState = PHPUnit_Util_Test::getPreserveGlobalStateSettings(
-            $className,
-            $name
-        );
-
-        $runTestInSeparateProcess = PHPUnit_Util_Test::getProcessIsolationSettings(
-            $className,
-            $name
-        );
-
-        $constructor = $theClass->getConstructor();
-
-        if ($constructor !== null) {
-            $parameters = $constructor->getParameters();
-
-            // TestCase() or TestCase($name)
-            if (count($parameters) < 2) {
-                $test = new $className;
-            } // TestCase($name, $data)
-            else {
-                try {
-                    $data = PHPUnit_Util_Test::getProvidedData(
-                        $className,
-                        $name
-                    );
-                } catch (PHPUnit_Framework_IncompleteTestError $e) {
-                    $message = sprintf(
-                        'Test for %s::%s marked incomplete by data provider',
-                        $className,
-                        $name
-                    );
-
-                    $_message = $e->getMessage();
-
-                    if (!empty($_message)) {
-                        $message .= "\n" . $_message;
-                    }
-
-                    $data = self::incompleteTest($className, $name, $message);
-                } catch (PHPUnit_Framework_SkippedTestError $e) {
-                    $message = sprintf(
-                        'Test for %s::%s skipped by data provider',
-                        $className,
-                        $name
-                    );
-
-                    $_message = $e->getMessage();
-
-                    if (!empty($_message)) {
-                        $message .= "\n" . $_message;
-                    }
-
-                    $data = self::skipTest($className, $name, $message);
-                } catch (Throwable $_t) {
-                    $t = $_t;
-                } catch (Exception $_t) {
-                    $t = $_t;
-                }
-
-                if (isset($t)) {
-                    $message = sprintf(
-                        'The data provider specified for %s::%s is invalid.',
-                        $className,
-                        $name
-                    );
-
-                    $_message = $t->getMessage();
-
-                    if (!empty($_message)) {
-                        $message .= "\n" . $_message;
-                    }
-
-                    $data = self::warning($message);
-                }
-
-                // Test method with @dataProvider.
-                if (isset($data)) {
-                    $test = new PHPUnit_Framework_TestSuite_DataProvider(
-                        $className . '::' . $name
-                    );
-
-                    if (empty($data)) {
-                        $data = self::warning(
-                            sprintf(
-                                'No tests found in suite "%s".',
-                                $test->getName()
-                            )
-                        );
-                    }
-
-                    $groups = PHPUnit_Util_Test::getGroups($className, $name);
-
-                    if ($data instanceof PHPUnit_Framework_WarningTestCase ||
-                        $data instanceof PHPUnit_Framework_SkippedTestCase ||
-                        $data instanceof PHPUnit_Framework_IncompleteTestCase) {
-                        $test->addTest($data, $groups);
-                    } else {
-                        foreach ($data as $_dataName => $_data) {
-                            $_test = new $className($name, $_data, $_dataName);
-
-                            if ($runTestInSeparateProcess) {
-                                $_test->setRunTestInSeparateProcess(true);
-
-                                if ($preserveGlobalState !== null) {
-                                    $_test->setPreserveGlobalState($preserveGlobalState);
-                                }
-                            }
-
-                            if ($backupSettings['backupGlobals'] !== null) {
-                                $_test->setBackupGlobals(
-                                    $backupSettings['backupGlobals']
-                                );
-                            }
-
-                            if ($backupSettings['backupStaticAttributes'] !== null) {
-                                $_test->setBackupStaticAttributes(
-                                    $backupSettings['backupStaticAttributes']
-                                );
-                            }
-
-                            $test->addTest($_test, $groups);
-                        }
-                    }
-                } else {
-                    $test = new $className;
-                }
-            }
-        }
-
-        if (!isset($test)) {
-            throw new PHPUnit_Framework_Exception('No valid test provided.');
-        }
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $test->setName($name);
-
-            if ($runTestInSeparateProcess) {
-                $test->setRunTestInSeparateProcess(true);
-
-                if ($preserveGlobalState !== null) {
-                    $test->setPreserveGlobalState($preserveGlobalState);
-                }
-            }
-
-            if ($backupSettings['backupGlobals'] !== null) {
-                $test->setBackupGlobals($backupSettings['backupGlobals']);
-            }
-
-            if ($backupSettings['backupStaticAttributes'] !== null) {
-                $test->setBackupStaticAttributes(
-                    $backupSettings['backupStaticAttributes']
-                );
-            }
-        }
-
-        return $test;
-    }
-
-    /**
-     * Creates a default TestResult object.
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    /**
-     * Returns the name of the suite.
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    /**
-     * Returns the test groups of the suite.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public function getGroups()
-    {
-        return array_keys($this->groups);
-    }
-
-    public function getGroupDetails()
-    {
-        return $this->groups;
-    }
-
-    /**
-     * Set tests groups of the test case
-     *
-     * @param array $groups
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function setGroupDetails(array $groups)
-    {
-        $this->groups = $groups;
-    }
-
-    /**
-     * Runs the tests and collects their result in a TestResult.
-     *
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function run(PHPUnit_Framework_TestResult $result = null)
-    {
-        if ($result === null) {
-            $result = $this->createResult();
-        }
-
-        if (count($this) == 0) {
-            return $result;
-        }
-
-        $hookMethods = PHPUnit_Util_Test::getHookMethods($this->name);
-
-        $result->startTestSuite($this);
-
-        try {
-            $this->setUp();
-
-            foreach ($hookMethods['beforeClass'] as $beforeClassMethod) {
-                if ($this->testCase === true &&
-                    class_exists($this->name, false) &&
-                    method_exists($this->name, $beforeClassMethod)) {
-                    if ($missingRequirements = PHPUnit_Util_Test::getMissingRequirements($this->name, $beforeClassMethod)) {
-                        $this->markTestSuiteSkipped(implode(PHP_EOL, $missingRequirements));
-                    }
-
-                    call_user_func([$this->name, $beforeClassMethod]);
-                }
-            }
-        } catch (PHPUnit_Framework_SkippedTestSuiteError $e) {
-            $numTests = count($this);
-
-            for ($i = 0; $i < $numTests; $i++) {
-                $result->startTest($this);
-                $result->addFailure($this, $e, 0);
-                $result->endTest($this, 0);
-            }
-
-            $this->tearDown();
-            $result->endTestSuite($this);
-
-            return $result;
-        } catch (Throwable $_t) {
-            $t = $_t;
-        } catch (Exception $_t) {
-            $t = $_t;
-        }
-
-        if (isset($t)) {
-            $numTests = count($this);
-
-            for ($i = 0; $i < $numTests; $i++) {
-                $result->startTest($this);
-                $result->addError($this, $t, 0);
-                $result->endTest($this, 0);
-            }
-
-            $this->tearDown();
-            $result->endTestSuite($this);
-
-            return $result;
-        }
-
-        foreach ($this as $test) {
-            if ($result->shouldStop()) {
-                break;
-            }
-
-            if ($test instanceof PHPUnit_Framework_TestCase ||
-                $test instanceof self) {
-                $test->setbeStrictAboutChangesToGlobalState($this->beStrictAboutChangesToGlobalState);
-                $test->setBackupGlobals($this->backupGlobals);
-                $test->setBackupStaticAttributes($this->backupStaticAttributes);
-                $test->setRunTestInSeparateProcess($this->runTestInSeparateProcess);
-            }
-
-            $test->run($result);
-        }
-
-        foreach ($hookMethods['afterClass'] as $afterClassMethod) {
-            if ($this->testCase === true && class_exists($this->name, false) && method_exists($this->name, $afterClassMethod)) {
-                call_user_func([$this->name, $afterClassMethod]);
-            }
-        }
-
-        $this->tearDown();
-
-        $result->endTestSuite($this);
-
-        return $result;
-    }
-
-    /**
-     * @param bool $runTestInSeparateProcess
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.7.0
-     */
-    public function setRunTestInSeparateProcess($runTestInSeparateProcess)
-    {
-        if (is_bool($runTestInSeparateProcess)) {
-            $this->runTestInSeparateProcess = $runTestInSeparateProcess;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-
-    /**
-     * Runs a test.
-     *
-     * @deprecated
-     *
-     * @param PHPUnit_Framework_Test       $test
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function runTest(PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result)
-    {
-        $test->run($result);
-    }
-
-    /**
-     * Sets the name of the suite.
-     *
-     * @param  string
-     */
-    public function setName($name)
-    {
-        $this->name = $name;
-    }
-
-    /**
-     * Returns the test at the given index.
-     *
-     * @param  int|false
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function testAt($index)
-    {
-        if (isset($this->tests[$index])) {
-            return $this->tests[$index];
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns the tests as an enumeration.
-     *
-     * @return array
-     */
-    public function tests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * Set tests of the test suite
-     *
-     * @param array $tests
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function setTests(array $tests)
-    {
-        $this->tests = $tests;
-    }
-
-    /**
-     * Mark the test suite as skipped.
-     *
-     * @param string $message
-     *
-     * @throws PHPUnit_Framework_SkippedTestSuiteError
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function markTestSuiteSkipped($message = '')
-    {
-        throw new PHPUnit_Framework_SkippedTestSuiteError($message);
-    }
-
-    /**
-     * @param ReflectionClass  $class
-     * @param ReflectionMethod $method
-     */
-    protected function addTestMethod(ReflectionClass $class, ReflectionMethod $method)
-    {
-        if (!$this->isTestMethod($method)) {
-            return;
-        }
-
-        $name = $method->getName();
-
-        if (!$method->isPublic()) {
-            $this->addTest(
-                self::warning(
-                    sprintf(
-                        'Test method "%s" in test class "%s" is not public.',
-                        $name,
-                        $class->getName()
-                    )
-                )
-            );
-
-            return;
-        }
-
-        $test = self::createTest($class, $name);
-
-        if ($test instanceof PHPUnit_Framework_TestCase ||
-            $test instanceof PHPUnit_Framework_TestSuite_DataProvider) {
-            $test->setDependencies(
-                PHPUnit_Util_Test::getDependencies($class->getName(), $name)
-            );
-        }
-
-        $this->addTest(
-            $test,
-            PHPUnit_Util_Test::getGroups($class->getName(), $name)
-        );
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     */
-    public static function isTestMethod(ReflectionMethod $method)
-    {
-        if (strpos($method->name, 'test') === 0) {
-            return true;
-        }
-
-        // @scenario on TestCase::testMethod()
-        // @test     on TestCase::testMethod()
-        $docComment = $method->getDocComment();
-
-        return strpos($docComment, '@test')     !== false ||
-               strpos($docComment, '@scenario') !== false;
-    }
-
-    /**
-     * @param string $message
-     *
-     * @return PHPUnit_Framework_WarningTestCase
-     */
-    protected static function warning($message)
-    {
-        return new PHPUnit_Framework_WarningTestCase($message);
-    }
-
-    /**
-     * @param string $class
-     * @param string $methodName
-     * @param string $message
-     *
-     * @return PHPUnit_Framework_SkippedTestCase
-     *
-     * @since Method available since Release 4.3.0
-     */
-    protected static function skipTest($class, $methodName, $message)
-    {
-        return new PHPUnit_Framework_SkippedTestCase($class, $methodName, $message);
-    }
-
-    /**
-     * @param string $class
-     * @param string $methodName
-     * @param string $message
-     *
-     * @return PHPUnit_Framework_IncompleteTestCase
-     *
-     * @since Method available since Release 4.3.0
-     */
-    protected static function incompleteTest($class, $methodName, $message)
-    {
-        return new PHPUnit_Framework_IncompleteTestCase($class, $methodName, $message);
-    }
-
-    /**
-     * @param bool $beStrictAboutChangesToGlobalState
-     *
-     * @since Method available since Release 4.6.0
-     */
-    public function setbeStrictAboutChangesToGlobalState($beStrictAboutChangesToGlobalState)
-    {
-        if (is_null($this->beStrictAboutChangesToGlobalState) && is_bool($beStrictAboutChangesToGlobalState)) {
-            $this->beStrictAboutChangesToGlobalState = $beStrictAboutChangesToGlobalState;
-        }
-    }
-
-    /**
-     * @param bool $backupGlobals
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function setBackupGlobals($backupGlobals)
-    {
-        if (is_null($this->backupGlobals) && is_bool($backupGlobals)) {
-            $this->backupGlobals = $backupGlobals;
-        }
-    }
-
-    /**
-     * @param bool $backupStaticAttributes
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function setBackupStaticAttributes($backupStaticAttributes)
-    {
-        if (is_null($this->backupStaticAttributes) &&
-            is_bool($backupStaticAttributes)) {
-            $this->backupStaticAttributes = $backupStaticAttributes;
-        }
-    }
-
-    /**
-     * Returns an iterator for this test suite.
-     *
-     * @return RecursiveIteratorIterator
-     *
-     * @since Method available since Release 3.1.0
-     */
-    public function getIterator()
-    {
-        $iterator = new PHPUnit_Util_TestSuiteIterator($this);
-
-        if ($this->iteratorFilter !== null) {
-            $iterator = $this->iteratorFilter->factory($iterator, $this);
-        }
-
-        return $iterator;
-    }
-
-    public function injectFilter(PHPUnit_Runner_Filter_Factory $filter)
-    {
-        $this->iteratorFilter = $filter;
-        foreach ($this as $test) {
-            if ($test instanceof self) {
-                $test->injectFilter($filter);
-            }
-        }
-    }
-
-    /**
-     * Template Method that is called before the tests
-     * of this test suite are run.
-     *
-     * @since Method available since Release 3.1.0
-     */
-    protected function setUp()
-    {
-    }
-
-    /**
-     * Template Method that is called after the tests
-     * of this test suite have finished running.
-     *
-     * @since Method available since Release 3.1.0
-     */
-    protected function tearDown()
-    {
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Framework_TestSuite_DataProvider extends PHPUnit_Framework_TestSuite
-{
-    /**
-     * Sets the dependencies of a TestCase.
-     *
-     * @param array $dependencies
-     */
-    public function setDependencies(array $dependencies)
-    {
-        foreach ($this->tests as $test) {
-            $test->setDependencies($dependencies);
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extension to PHPUnit_Framework_AssertionFailedError to mark the special
- * case of a test that unintentionally covers code.
- *
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Framework_UnintentionallyCoveredCodeError extends PHPUnit_Framework_RiskyTestError
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Thrown when an there is a warning.
- *
- * @since Class available since Release 5.0.0
- */
-class PHPUnit_Framework_Warning extends PHPUnit_Framework_Exception implements PHPUnit_Framework_SelfDescribing
-{
-    /**
-     * Wrapper for getMessage() which is declared as final.
-     *
-     * @return string
-     */
-    public function toString()
-    {
-        return $this->getMessage();
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A warning.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Framework_WarningTestCase extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    protected $message = '';
-
-    /**
-     * @var bool
-     */
-    protected $backupGlobals = false;
-
-    /**
-     * @var bool
-     */
-    protected $backupStaticAttributes = false;
-
-    /**
-     * @var bool
-     */
-    protected $runTestInSeparateProcess = false;
-
-    /**
-     * @var bool
-     */
-    protected $useErrorHandler = false;
-
-    /**
-     * @param string $message
-     */
-    public function __construct($message = '')
-    {
-        $this->message = $message;
-        parent::__construct('Warning');
-    }
-
-    /**
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runTest()
-    {
-        throw new PHPUnit_Framework_Warning($this->message);
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function getMessage()
-    {
-        return $this->message;
-    }
-
-    /**
-     * Returns a string representation of the test case.
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function toString()
-    {
-        return 'Warning';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all test runners.
- *
- * @since Class available since Release 2.0.0
- */
-abstract class PHPUnit_Runner_BaseTestRunner
-{
-    const STATUS_PASSED     = 0;
-    const STATUS_SKIPPED    = 1;
-    const STATUS_INCOMPLETE = 2;
-    const STATUS_FAILURE    = 3;
-    const STATUS_ERROR      = 4;
-    const STATUS_RISKY      = 5;
-    const STATUS_WARNING    = 6;
-    const SUITE_METHODNAME  = 'suite';
-
-    /**
-     * Returns the loader to be used.
-     *
-     * @return PHPUnit_Runner_TestSuiteLoader
-     */
-    public function getLoader()
-    {
-        return new PHPUnit_Runner_StandardTestSuiteLoader;
-    }
-
-    /**
-     * Returns the Test corresponding to the given suite.
-     * This is a template method, subclasses override
-     * the runFailed() and clearStatus() methods.
-     *
-     * @param string $suiteClassName
-     * @param string $suiteClassFile
-     * @param mixed  $suffixes
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function getTest($suiteClassName, $suiteClassFile = '', $suffixes = '')
-    {
-        if (is_dir($suiteClassName) &&
-            !is_file($suiteClassName . '.php') && empty($suiteClassFile)) {
-            $facade = new File_Iterator_Facade;
-            $files  = $facade->getFilesAsArray(
-                $suiteClassName,
-                $suffixes
-            );
-
-            $suite = new PHPUnit_Framework_TestSuite($suiteClassName);
-            $suite->addTestFiles($files);
-
-            return $suite;
-        }
-
-        try {
-            $testClass = $this->loadSuiteClass(
-                $suiteClassName,
-                $suiteClassFile
-            );
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->runFailed($e->getMessage());
-
-            return;
-        }
-
-        try {
-            $suiteMethod = $testClass->getMethod(self::SUITE_METHODNAME);
-
-            if (!$suiteMethod->isStatic()) {
-                $this->runFailed(
-                    'suite() method must be static.'
-                );
-
-                return;
-            }
-
-            try {
-                $test = $suiteMethod->invoke(null, $testClass->getName());
-            } catch (ReflectionException $e) {
-                $this->runFailed(
-                    sprintf(
-                        "Failed to invoke suite() method.\n%s",
-                        $e->getMessage()
-                    )
-                );
-
-                return;
-            }
-        } catch (ReflectionException $e) {
-            try {
-                $test = new PHPUnit_Framework_TestSuite($testClass);
-            } catch (PHPUnit_Framework_Exception $e) {
-                $test = new PHPUnit_Framework_TestSuite;
-                $test->setName($suiteClassName);
-            }
-        }
-
-        $this->clearStatus();
-
-        return $test;
-    }
-
-    /**
-     * Returns the loaded ReflectionClass for a suite name.
-     *
-     * @param string $suiteClassName
-     * @param string $suiteClassFile
-     *
-     * @return ReflectionClass
-     */
-    protected function loadSuiteClass($suiteClassName, $suiteClassFile = '')
-    {
-        $loader = $this->getLoader();
-
-        return $loader->load($suiteClassName, $suiteClassFile);
-    }
-
-    /**
-     * Clears the status message.
-     */
-    protected function clearStatus()
-    {
-    }
-
-    /**
-     * Override to define how to handle a failed loading of
-     * a test suite.
-     *
-     * @param string $message
-     */
-    abstract protected function runFailed($message);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Exception extends RuntimeException implements PHPUnit_Exception
-{
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Factory
-{
-    /**
-     * @var array
-     */
-    private $filters = [];
-
-    /**
-     * @param ReflectionClass $filter
-     * @param mixed           $args
-     */
-    public function addFilter(ReflectionClass $filter, $args)
-    {
-        if (!$filter->isSubclassOf('RecursiveFilterIterator')) {
-            throw new InvalidArgumentException(
-                sprintf(
-                    'Class "%s" does not extend RecursiveFilterIterator',
-                    $filter->name
-                )
-            );
-        }
-
-        $this->filters[] = [$filter, $args];
-    }
-
-    /**
-     * @return FilterIterator
-     */
-    public function factory(Iterator $iterator, PHPUnit_Framework_TestSuite $suite)
-    {
-        foreach ($this->filters as $filter) {
-            list($class, $args) = $filter;
-            $iterator           = $class->newInstance($iterator, $args, $suite);
-        }
-
-        return $iterator;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-abstract class PHPUnit_Runner_Filter_GroupFilterIterator extends RecursiveFilterIterator
-{
-    /**
-     * @var array
-     */
-    protected $groupTests = [];
-
-    /**
-     * @param RecursiveIterator           $iterator
-     * @param array                       $groups
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function __construct(RecursiveIterator $iterator, array $groups, PHPUnit_Framework_TestSuite $suite)
-    {
-        parent::__construct($iterator);
-
-        foreach ($suite->getGroupDetails() as $group => $tests) {
-            if (in_array($group, $groups)) {
-                $testHashes = array_map(
-                    function ($test) {
-                        return spl_object_hash($test);
-                    },
-                    $tests
-                );
-
-                $this->groupTests = array_merge($this->groupTests, $testHashes);
-            }
-        }
-    }
-
-    /**
-     * @return bool
-     */
-    public function accept()
-    {
-        $test = $this->getInnerIterator()->current();
-
-        if ($test instanceof PHPUnit_Framework_TestSuite) {
-            return true;
-        }
-
-        return $this->doAccept(spl_object_hash($test));
-    }
-
-    abstract protected function doAccept($hash);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Group_Exclude extends PHPUnit_Runner_Filter_GroupFilterIterator
-{
-    protected function doAccept($hash)
-    {
-        return !in_array($hash, $this->groupTests);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Group_Include extends PHPUnit_Runner_Filter_GroupFilterIterator
-{
-    protected function doAccept($hash)
-    {
-        return in_array($hash, $this->groupTests);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Runner_Filter_Test extends RecursiveFilterIterator
-{
-    /**
-     * @var string
-     */
-    protected $filter = null;
-
-    /**
-     * @var int
-     */
-    protected $filterMin;
-    /**
-     * @var int
-     */
-    protected $filterMax;
-
-    /**
-     * @param RecursiveIterator $iterator
-     * @param string            $filter
-     */
-    public function __construct(RecursiveIterator $iterator, $filter)
-    {
-        parent::__construct($iterator);
-        $this->setFilter($filter);
-    }
-
-    /**
-     * @param string $filter
-     */
-    protected function setFilter($filter)
-    {
-        if (PHPUnit_Util_Regex::pregMatchSafe($filter, '') === false) {
-            // Handles:
-            //  * testAssertEqualsSucceeds#4
-            //  * testAssertEqualsSucceeds#4-8
-            if (preg_match('/^(.*?)#(\d+)(?:-(\d+))?$/', $filter, $matches)) {
-                if (isset($matches[3]) && $matches[2] < $matches[3]) {
-                    $filter = sprintf(
-                        '%s.*with data set #(\d+)$',
-                        $matches[1]
-                    );
-
-                    $this->filterMin = $matches[2];
-                    $this->filterMax = $matches[3];
-                } else {
-                    $filter = sprintf(
-                        '%s.*with data set #%s$',
-                        $matches[1],
-                        $matches[2]
-                    );
-                }
-            } // Handles:
-            //  * testDetermineJsonError@JSON_ERROR_NONE
-            //  * testDetermineJsonError@JSON.*
-            elseif (preg_match('/^(.*?)@(.+)$/', $filter, $matches)) {
-                $filter = sprintf(
-                    '%s.*with data set "%s"$',
-                    $matches[1],
-                    $matches[2]
-                );
-            }
-
-            // Escape delimiters in regular expression. Do NOT use preg_quote,
-            // to keep magic characters.
-            $filter = sprintf('/%s/', str_replace(
-                '/',
-                '\\/',
-                $filter
-            ));
-        }
-
-        $this->filter = $filter;
-    }
-
-    /**
-     * @return bool
-     */
-    public function accept()
-    {
-        $test = $this->getInnerIterator()->current();
-
-        if ($test instanceof PHPUnit_Framework_TestSuite) {
-            return true;
-        }
-
-        $tmp = PHPUnit_Util_Test::describe($test, false);
-
-        if ($tmp[0] != '') {
-            $name = implode('::', $tmp);
-        } else {
-            $name = $tmp[1];
-        }
-
-        $accepted = preg_match($this->filter, $name, $matches);
-
-        if ($accepted && isset($this->filterMax)) {
-            $set      = end($matches);
-            $accepted = $set >= $this->filterMin && $set <= $this->filterMax;
-        }
-
-        return $accepted;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * The standard test suite loader.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Runner_StandardTestSuiteLoader implements PHPUnit_Runner_TestSuiteLoader
-{
-    /**
-     * @param string $suiteClassName
-     * @param string $suiteClassFile
-     *
-     * @return ReflectionClass
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function load($suiteClassName, $suiteClassFile = '')
-    {
-        $suiteClassName = str_replace('.php', '', $suiteClassName);
-
-        if (empty($suiteClassFile)) {
-            $suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                $suiteClassName
-            );
-        }
-
-        if (!class_exists($suiteClassName, false)) {
-            $loadedClasses = get_declared_classes();
-
-            $filename = PHPUnit_Util_Fileloader::checkAndLoad($suiteClassFile);
-
-            $loadedClasses = array_values(
-                array_diff(get_declared_classes(), $loadedClasses)
-            );
-        }
-
-        if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
-            $offset = 0 - strlen($suiteClassName);
-
-            foreach ($loadedClasses as $loadedClass) {
-                $class = new ReflectionClass($loadedClass);
-                if (substr($loadedClass, $offset) === $suiteClassName &&
-                    $class->getFileName() == $filename) {
-                    $suiteClassName = $loadedClass;
-                    break;
-                }
-            }
-        }
-
-        if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
-            $testCaseClass = 'PHPUnit_Framework_TestCase';
-
-            foreach ($loadedClasses as $loadedClass) {
-                $class     = new ReflectionClass($loadedClass);
-                $classFile = $class->getFileName();
-
-                if ($class->isSubclassOf($testCaseClass) &&
-                    !$class->isAbstract()) {
-                    $suiteClassName = $loadedClass;
-                    $testCaseClass  = $loadedClass;
-
-                    if ($classFile == realpath($suiteClassFile)) {
-                        break;
-                    }
-                }
-
-                if ($class->hasMethod('suite')) {
-                    $method = $class->getMethod('suite');
-
-                    if (!$method->isAbstract() &&
-                        $method->isPublic() &&
-                        $method->isStatic()) {
-                        $suiteClassName = $loadedClass;
-
-                        if ($classFile == realpath($suiteClassFile)) {
-                            break;
-                        }
-                    }
-                }
-            }
-        }
-
-        if (class_exists($suiteClassName, false)) {
-            $class = new ReflectionClass($suiteClassName);
-
-            if ($class->getFileName() == realpath($suiteClassFile)) {
-                return $class;
-            }
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                "Class '%s' could not be found in '%s'.",
-                $suiteClassName,
-                $suiteClassFile
-            )
-        );
-    }
-
-    /**
-     * @param ReflectionClass $aClass
-     *
-     * @return ReflectionClass
-     */
-    public function reload(ReflectionClass $aClass)
-    {
-        return $aClass;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * An interface to define how a test suite should be loaded.
- *
- * @since      Interface available since Release 2.0.0
- */
-interface PHPUnit_Runner_TestSuiteLoader
-{
-    /**
-     * @param string $suiteClassName
-     * @param string $suiteClassFile
-     *
-     * @return ReflectionClass
-     */
-    public function load($suiteClassName, $suiteClassFile = '');
-
-    /**
-     * @param ReflectionClass $aClass
-     *
-     * @return ReflectionClass
-     */
-    public function reload(ReflectionClass $aClass);
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class defines the current version of PHPUnit.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Runner_Version
-{
-    private static $pharVersion = "5.4.6";
-    private static $version;
-
-    /**
-     * Returns the current version of PHPUnit.
-     *
-     * @return string
-     */
-    public static function id()
-    {
-        if (self::$pharVersion !== null) {
-            return self::$pharVersion;
-        }
-
-        if (self::$version === null) {
-            $version       = new SebastianBergmann\Version('5.4.6', dirname(dirname(__DIR__)));
-            self::$version = $version->getVersion();
-        }
-
-        return self::$version;
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 4.8.13
-     */
-    public static function series()
-    {
-        if (strpos(self::id(), '-')) {
-            $version = explode('-', self::id())[0];
-        } else {
-            $version = self::id();
-        }
-
-        return implode('.', array_slice(explode('.', $version), 0, 2));
-    }
-
-    /**
-     * @return string
-     */
-    public static function getVersionString()
-    {
-        return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.';
-    }
-
-    /**
-     * @return string
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public static function getReleaseChannel()
-    {
-        if (strpos(self::$pharVersion, '-') !== false) {
-            return '-nightly';
-        }
-
-        return '';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestRunner for the Command Line Interface (CLI)
- * PHP SAPI Module.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_TextUI_Command
-{
-    /**
-     * @var array
-     */
-    protected $arguments = [
-        'listGroups'              => false,
-        'loader'                  => null,
-        'useDefaultConfiguration' => true
-    ];
-
-    /**
-     * @var array
-     */
-    protected $options = [];
-
-    /**
-     * @var array
-     */
-    protected $longOptions = [
-        'atleast-version='        => null,
-        'bootstrap='              => null,
-        'colors=='                => null,
-        'columns='                => null,
-        'configuration='          => null,
-        'coverage-clover='        => null,
-        'coverage-crap4j='        => null,
-        'coverage-html='          => null,
-        'coverage-php='           => null,
-        'coverage-text=='         => null,
-        'coverage-xml='           => null,
-        'debug'                   => null,
-        'disallow-test-output'    => null,
-        'disallow-resource-usage' => null,
-        'disallow-todo-tests'     => null,
-        'enforce-time-limit'      => null,
-        'exclude-group='          => null,
-        'filter='                 => null,
-        'generate-configuration'  => null,
-        'group='                  => null,
-        'help'                    => null,
-        'include-path='           => null,
-        'list-groups'             => null,
-        'loader='                 => null,
-        'log-json='               => null,
-        'log-junit='              => null,
-        'log-tap='                => null,
-        'log-teamcity='           => null,
-        'no-configuration'        => null,
-        'no-coverage'             => null,
-        'no-globals-backup'       => null,
-        'printer='                => null,
-        'process-isolation'       => null,
-        'repeat='                 => null,
-        'report-useless-tests'    => null,
-        'reverse-list'            => null,
-        'static-backup'           => null,
-        'stderr'                  => null,
-        'stop-on-error'           => null,
-        'stop-on-failure'         => null,
-        'stop-on-warning'         => null,
-        'stop-on-incomplete'      => null,
-        'stop-on-risky'           => null,
-        'stop-on-skipped'         => null,
-        'fail-on-warning'         => null,
-        'fail-on-risky'           => null,
-        'strict-coverage'         => null,
-        'disable-coverage-ignore' => null,
-        'strict-global-state'     => null,
-        'tap'                     => null,
-        'teamcity'                => null,
-        'testdox'                 => null,
-        'testdox-group='          => null,
-        'testdox-exclude-group='  => null,
-        'testdox-html='           => null,
-        'testdox-text='           => null,
-        'testdox-xml='            => null,
-        'test-suffix='            => null,
-        'testsuite='              => null,
-        'verbose'                 => null,
-        'version'                 => null,
-        'whitelist='              => null
-    ];
-
-    /**
-     * @var bool
-     */
-    private $versionStringPrinted = false;
-
-    /**
-     * @param bool $exit
-     */
-    public static function main($exit = true)
-    {
-        $command = new static;
-
-        return $command->run($_SERVER['argv'], $exit);
-    }
-
-    /**
-     * @param array $argv
-     * @param bool  $exit
-     *
-     * @return int
-     */
-    public function run(array $argv, $exit = true)
-    {
-        $this->handleArguments($argv);
-
-        $runner = $this->createRunner();
-
-        if (is_object($this->arguments['test']) &&
-            $this->arguments['test'] instanceof PHPUnit_Framework_Test) {
-            $suite = $this->arguments['test'];
-        } else {
-            $suite = $runner->getTest(
-                $this->arguments['test'],
-                $this->arguments['testFile'],
-                $this->arguments['testSuffixes']
-            );
-        }
-
-        if ($this->arguments['listGroups']) {
-            $this->printVersionString();
-
-            print "Available test group(s):\n";
-
-            $groups = $suite->getGroups();
-            sort($groups);
-
-            foreach ($groups as $group) {
-                print " - $group\n";
-            }
-
-            if ($exit) {
-                exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-            } else {
-                return PHPUnit_TextUI_TestRunner::SUCCESS_EXIT;
-            }
-        }
-
-        unset($this->arguments['test']);
-        unset($this->arguments['testFile']);
-
-        try {
-            $result = $runner->doRun($suite, $this->arguments, $exit);
-        } catch (PHPUnit_Framework_Exception $e) {
-            print $e->getMessage() . "\n";
-        }
-
-        $return = PHPUnit_TextUI_TestRunner::FAILURE_EXIT;
-
-        if (isset($result) && $result->wasSuccessful()) {
-            $return = PHPUnit_TextUI_TestRunner::SUCCESS_EXIT;
-        } elseif (!isset($result) || $result->errorCount() > 0) {
-            $return = PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT;
-        }
-
-        return $return;
-    }
-
-    /**
-     * Create a TestRunner, override in subclasses.
-     *
-     * @return PHPUnit_TextUI_TestRunner
-     *
-     * @since Method available since Release 3.6.0
-     */
-    protected function createRunner()
-    {
-        return new PHPUnit_TextUI_TestRunner($this->arguments['loader']);
-    }
-
-    /**
-     * Handles the command-line arguments.
-     *
-     * A child class of PHPUnit_TextUI_Command can hook into the argument
-     * parsing by adding the switch(es) to the $longOptions array and point to a
-     * callback method that handles the switch(es) in the child class like this
-     *
-     * <code>
-     * <?php
-     * class MyCommand extends PHPUnit_TextUI_Command
-     * {
-     *     public function __construct()
-     *     {
-     *         // my-switch won't accept a value, it's an on/off
-     *         $this->longOptions['my-switch'] = 'myHandler';
-     *         // my-secondswitch will accept a value - note the equals sign
-     *         $this->longOptions['my-secondswitch='] = 'myOtherHandler';
-     *     }
-     *
-     *     // --my-switch  -> myHandler()
-     *     protected function myHandler()
-     *     {
-     *     }
-     *
-     *     // --my-secondswitch foo -> myOtherHandler('foo')
-     *     protected function myOtherHandler ($value)
-     *     {
-     *     }
-     *
-     *     // You will also need this - the static keyword in the
-     *     // PHPUnit_TextUI_Command will mean that it'll be
-     *     // PHPUnit_TextUI_Command that gets instantiated,
-     *     // not MyCommand
-     *     public static function main($exit = true)
-     *     {
-     *         $command = new static;
-     *
-     *         return $command->run($_SERVER['argv'], $exit);
-     *     }
-     *
-     * }
-     * </code>
-     *
-     * @param array $argv
-     */
-    protected function handleArguments(array $argv)
-    {
-        if (defined('__PHPUNIT_PHAR__')) {
-            $this->longOptions['check-version'] = null;
-            $this->longOptions['selfupdate']    = null;
-            $this->longOptions['self-update']   = null;
-            $this->longOptions['selfupgrade']   = null;
-            $this->longOptions['self-upgrade']  = null;
-        }
-
-        try {
-            $this->options = PHPUnit_Util_Getopt::getopt(
-                $argv,
-                'd:c:hv',
-                array_keys($this->longOptions)
-            );
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->showError($e->getMessage());
-        }
-
-        foreach ($this->options[0] as $option) {
-            switch ($option[0]) {
-                case '--colors':
-                    $this->arguments['colors'] = $option[1] ?: PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
-                    break;
-
-                case '--bootstrap':
-                    $this->arguments['bootstrap'] = $option[1];
-                    break;
-
-                case '--columns':
-                    if (is_numeric($option[1])) {
-                        $this->arguments['columns'] = (int) $option[1];
-                    } elseif ($option[1] == 'max') {
-                        $this->arguments['columns'] = 'max';
-                    }
-                    break;
-
-                case 'c':
-                case '--configuration':
-                    $this->arguments['configuration'] = $option[1];
-                    break;
-
-                case '--coverage-clover':
-                    $this->arguments['coverageClover'] = $option[1];
-                    break;
-
-                case '--coverage-crap4j':
-                    $this->arguments['coverageCrap4J'] = $option[1];
-                    break;
-
-                case '--coverage-html':
-                    $this->arguments['coverageHtml'] = $option[1];
-                    break;
-
-                case '--coverage-php':
-                    $this->arguments['coveragePHP'] = $option[1];
-                    break;
-
-                case '--coverage-text':
-                    if ($option[1] === null) {
-                        $option[1] = 'php://stdout';
-                    }
-
-                    $this->arguments['coverageText']                   = $option[1];
-                    $this->arguments['coverageTextShowUncoveredFiles'] = false;
-                    $this->arguments['coverageTextShowOnlySummary']    = false;
-                    break;
-
-                case '--coverage-xml':
-                    $this->arguments['coverageXml'] = $option[1];
-                    break;
-
-                case 'd':
-                    $ini = explode('=', $option[1]);
-
-                    if (isset($ini[0])) {
-                        if (isset($ini[1])) {
-                            ini_set($ini[0], $ini[1]);
-                        } else {
-                            ini_set($ini[0], true);
-                        }
-                    }
-                    break;
-
-                case '--debug':
-                    $this->arguments['debug'] = true;
-                    break;
-
-                case 'h':
-                case '--help':
-                    $this->showHelp();
-                    exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-                    break;
-
-                case '--filter':
-                    $this->arguments['filter'] = $option[1];
-                    break;
-
-                case '--testsuite':
-                    $this->arguments['testsuite'] = $option[1];
-                    break;
-
-                case '--generate-configuration':
-                    $this->printVersionString();
-
-                    printf(
-                        "Generating phpunit.xml in %s\n\n",
-                        getcwd()
-                    );
-
-                    print 'Bootstrap script (relative to path shown above; default: vendor/autoload.php): ';
-                    $bootstrapScript = trim(fgets(STDIN));
-
-                    print 'Tests directory (relative to path shown above; default: tests): ';
-                    $testsDirectory = trim(fgets(STDIN));
-
-                    print 'Source directory (relative to path shown above; default: src): ';
-                    $src = trim(fgets(STDIN));
-
-                    if ($bootstrapScript == '') {
-                        $bootstrapScript = 'vendor/autoload.php';
-                    }
-
-                    if ($testsDirectory == '') {
-                        $testsDirectory = 'tests';
-                    }
-
-                    if ($src == '') {
-                        $src = 'src';
-                    }
-
-                    $generator = new PHPUnit_Util_ConfigurationGenerator;
-
-                    file_put_contents(
-                        'phpunit.xml',
-                        $generator->generateDefaultConfiguration(
-                            PHPUnit_Runner_Version::series(),
-                            $bootstrapScript,
-                            $testsDirectory,
-                            $src
-                        )
-                    );
-
-                    printf(
-                        "\nGenerated phpunit.xml in %s\n",
-                        getcwd()
-                    );
-
-                    exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-                    break;
-
-                case '--group':
-                    $this->arguments['groups'] = explode(',', $option[1]);
-                    break;
-
-                case '--exclude-group':
-                    $this->arguments['excludeGroups'] = explode(
-                        ',',
-                        $option[1]
-                    );
-                    break;
-
-                case '--test-suffix':
-                    $this->arguments['testSuffixes'] = explode(
-                        ',',
-                        $option[1]
-                    );
-                    break;
-
-                case '--include-path':
-                    $includePath = $option[1];
-                    break;
-
-                case '--list-groups':
-                    $this->arguments['listGroups'] = true;
-                    break;
-
-                case '--printer':
-                    $this->arguments['printer'] = $option[1];
-                    break;
-
-                case '--loader':
-                    $this->arguments['loader'] = $option[1];
-                    break;
-
-                case '--log-json':
-                    $this->arguments['jsonLogfile'] = $option[1];
-                    break;
-
-                case '--log-junit':
-                    $this->arguments['junitLogfile'] = $option[1];
-                    break;
-
-                case '--log-tap':
-                    $this->arguments['tapLogfile'] = $option[1];
-                    break;
-
-                case '--log-teamcity':
-                    $this->arguments['teamcityLogfile'] = $option[1];
-                    break;
-
-                case '--process-isolation':
-                    $this->arguments['processIsolation'] = true;
-                    break;
-
-                case '--repeat':
-                    $this->arguments['repeat'] = (int) $option[1];
-                    break;
-
-                case '--stderr':
-                    $this->arguments['stderr'] = true;
-                    break;
-
-                case '--stop-on-error':
-                    $this->arguments['stopOnError'] = true;
-                    break;
-
-                case '--stop-on-failure':
-                    $this->arguments['stopOnFailure'] = true;
-                    break;
-
-                case '--stop-on-warning':
-                    $this->arguments['stopOnWarning'] = true;
-                    break;
-
-                case '--stop-on-incomplete':
-                    $this->arguments['stopOnIncomplete'] = true;
-                    break;
-
-                case '--stop-on-risky':
-                    $this->arguments['stopOnRisky'] = true;
-                    break;
-
-                case '--stop-on-skipped':
-                    $this->arguments['stopOnSkipped'] = true;
-                    break;
-
-                case '--fail-on-warning':
-                    $this->arguments['failOnWarning'] = true;
-                    break;
-
-                case '--fail-on-risky':
-                    $this->arguments['failOnRisky'] = true;
-                    break;
-
-                case '--tap':
-                    $this->arguments['printer'] = 'PHPUnit_Util_Log_TAP';
-                    break;
-
-                case '--teamcity':
-                    $this->arguments['printer'] = 'PHPUnit_Util_Log_TeamCity';
-                    break;
-
-                case '--testdox':
-                    $this->arguments['printer'] = 'PHPUnit_Util_TestDox_ResultPrinter_Text';
-                    break;
-
-                case '--testdox-group':
-                    $this->arguments['testdoxGroups'] = explode(
-                        ',',
-                        $option[1]
-                    );
-                    break;
-
-                case '--testdox-exclude-group':
-                    $this->arguments['testdoxExcludeGroups'] = explode(
-                        ',',
-                        $option[1]
-                    );
-                    break;
-
-                case '--testdox-html':
-                    $this->arguments['testdoxHTMLFile'] = $option[1];
-                    break;
-
-                case '--testdox-text':
-                    $this->arguments['testdoxTextFile'] = $option[1];
-                    break;
-
-                case '--testdox-xml':
-                    $this->arguments['testdoxXMLFile'] = $option[1];
-                    break;
-
-                case '--no-configuration':
-                    $this->arguments['useDefaultConfiguration'] = false;
-                    break;
-
-                case '--no-coverage':
-                    $this->arguments['noCoverage'] = true;
-                    break;
-
-                case '--no-globals-backup':
-                    $this->arguments['backupGlobals'] = false;
-                    break;
-
-                case '--static-backup':
-                    $this->arguments['backupStaticAttributes'] = true;
-                    break;
-
-                case 'v':
-                case '--verbose':
-                    $this->arguments['verbose'] = true;
-                    break;
-
-                case '--atleast-version':
-                    exit(version_compare(PHPUnit_Runner_Version::id(), $option[1], '>=')
-                        ? PHPUnit_TextUI_TestRunner::SUCCESS_EXIT
-                        : PHPUnit_TextUI_TestRunner::FAILURE_EXIT
-                    );
-                    break;
-
-                case '--version':
-                    $this->printVersionString();
-                    exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-                    break;
-
-                case '--report-useless-tests':
-                    $this->arguments['reportUselessTests'] = true;
-                    break;
-
-                case '--strict-coverage':
-                    $this->arguments['strictCoverage'] = true;
-                    break;
-
-                case '--disable-coverage-ignore':
-                    $this->arguments['disableCodeCoverageIgnore'] = true;
-                    break;
-
-                case '--strict-global-state':
-                    $this->arguments['beStrictAboutChangesToGlobalState'] = true;
-                    break;
-
-                case '--disallow-test-output':
-                    $this->arguments['disallowTestOutput'] = true;
-                    break;
-
-                case '--disallow-resource-usage':
-                    $this->arguments['beStrictAboutResourceUsageDuringSmallTests'] = true;
-                    break;
-
-                case '--enforce-time-limit':
-                    $this->arguments['enforceTimeLimit'] = true;
-                    break;
-
-                case '--disallow-todo-tests':
-                    $this->arguments['disallowTodoAnnotatedTests'] = true;
-                    break;
-
-                case '--reverse-list':
-                    $this->arguments['reverseList'] = true;
-                    break;
-
-                case '--check-version':
-                    $this->handleVersionCheck();
-                    break;
-
-                case '--selfupdate':
-                case '--self-update':
-                    $this->handleSelfUpdate();
-                    break;
-
-                case '--selfupgrade':
-                case '--self-upgrade':
-                    $this->handleSelfUpdate(true);
-                    break;
-
-                case '--whitelist':
-                    $this->arguments['whitelist'] = $option[1];
-                    break;
-
-                default:
-                    $optionName = str_replace('--', '', $option[0]);
-
-                    if (isset($this->longOptions[$optionName])) {
-                        $handler = $this->longOptions[$optionName];
-                    } elseif (isset($this->longOptions[$optionName . '='])) {
-                        $handler = $this->longOptions[$optionName . '='];
-                    }
-
-                    if (isset($handler) && is_callable([$this, $handler])) {
-                        $this->$handler($option[1]);
-                    }
-            }
-        }
-
-        $this->handleCustomTestSuite();
-
-        if (!isset($this->arguments['test'])) {
-            if (isset($this->options[1][0])) {
-                $this->arguments['test'] = $this->options[1][0];
-            }
-
-            if (isset($this->options[1][1])) {
-                $this->arguments['testFile'] = realpath($this->options[1][1]);
-            } else {
-                $this->arguments['testFile'] = '';
-            }
-
-            if (isset($this->arguments['test']) &&
-                is_file($this->arguments['test']) &&
-                substr($this->arguments['test'], -5, 5) != '.phpt') {
-                $this->arguments['testFile'] = realpath($this->arguments['test']);
-                $this->arguments['test']     = substr($this->arguments['test'], 0, strrpos($this->arguments['test'], '.'));
-            }
-        }
-
-        if (!isset($this->arguments['testSuffixes'])) {
-            $this->arguments['testSuffixes'] = ['Test.php', '.phpt'];
-        }
-
-        if (isset($includePath)) {
-            ini_set(
-                'include_path',
-                $includePath . PATH_SEPARATOR . ini_get('include_path')
-            );
-        }
-
-        if ($this->arguments['loader'] !== null) {
-            $this->arguments['loader'] = $this->handleLoader($this->arguments['loader']);
-        }
-
-        if (isset($this->arguments['configuration']) &&
-            is_dir($this->arguments['configuration'])) {
-            $configurationFile = $this->arguments['configuration'] . '/phpunit.xml';
-
-            if (file_exists($configurationFile)) {
-                $this->arguments['configuration'] = realpath(
-                    $configurationFile
-                );
-            } elseif (file_exists($configurationFile . '.dist')) {
-                $this->arguments['configuration'] = realpath(
-                    $configurationFile . '.dist'
-                );
-            }
-        } elseif (!isset($this->arguments['configuration']) &&
-                  $this->arguments['useDefaultConfiguration']) {
-            if (file_exists('phpunit.xml')) {
-                $this->arguments['configuration'] = realpath('phpunit.xml');
-            } elseif (file_exists('phpunit.xml.dist')) {
-                $this->arguments['configuration'] = realpath(
-                    'phpunit.xml.dist'
-                );
-            }
-        }
-
-        if (isset($this->arguments['configuration'])) {
-            try {
-                $configuration = PHPUnit_Util_Configuration::getInstance(
-                    $this->arguments['configuration']
-                );
-            } catch (Throwable $e) {
-                print $e->getMessage() . "\n";
-                exit(PHPUnit_TextUI_TestRunner::FAILURE_EXIT);
-            } catch (Exception $e) {
-                print $e->getMessage() . "\n";
-                exit(PHPUnit_TextUI_TestRunner::FAILURE_EXIT);
-            }
-
-            $phpunitConfiguration = $configuration->getPHPUnitConfiguration();
-
-            $configuration->handlePHPConfiguration();
-
-            /*
-             * Issue #1216
-             */
-            if (isset($this->arguments['bootstrap'])) {
-                $this->handleBootstrap($this->arguments['bootstrap']);
-            } elseif (isset($phpunitConfiguration['bootstrap'])) {
-                $this->handleBootstrap($phpunitConfiguration['bootstrap']);
-            }
-
-            /*
-             * Issue #657
-             */
-            if (isset($phpunitConfiguration['stderr']) && ! isset($this->arguments['stderr'])) {
-                $this->arguments['stderr'] = $phpunitConfiguration['stderr'];
-            }
-
-            if (isset($phpunitConfiguration['columns']) && ! isset($this->arguments['columns'])) {
-                $this->arguments['columns'] = $phpunitConfiguration['columns'];
-            }
-
-            if (!isset($this->arguments['printer']) && isset($phpunitConfiguration['printerClass'])) {
-                if (isset($phpunitConfiguration['printerFile'])) {
-                    $file = $phpunitConfiguration['printerFile'];
-                } else {
-                    $file = '';
-                }
-
-                $this->arguments['printer'] = $this->handlePrinter(
-                    $phpunitConfiguration['printerClass'],
-                    $file
-                );
-            }
-
-            if (isset($phpunitConfiguration['testSuiteLoaderClass'])) {
-                if (isset($phpunitConfiguration['testSuiteLoaderFile'])) {
-                    $file = $phpunitConfiguration['testSuiteLoaderFile'];
-                } else {
-                    $file = '';
-                }
-
-                $this->arguments['loader'] = $this->handleLoader(
-                    $phpunitConfiguration['testSuiteLoaderClass'],
-                    $file
-                );
-            }
-
-            if (!isset($this->arguments['test'])) {
-                $testSuite = $configuration->getTestSuiteConfiguration(isset($this->arguments['testsuite']) ? $this->arguments['testsuite'] : null);
-
-                if ($testSuite !== null) {
-                    $this->arguments['test'] = $testSuite;
-                }
-            }
-        } elseif (isset($this->arguments['bootstrap'])) {
-            $this->handleBootstrap($this->arguments['bootstrap']);
-        }
-
-        if (isset($this->arguments['printer']) &&
-            is_string($this->arguments['printer'])) {
-            $this->arguments['printer'] = $this->handlePrinter($this->arguments['printer']);
-        }
-
-        if (isset($this->arguments['test']) && is_string($this->arguments['test']) && substr($this->arguments['test'], -5, 5) == '.phpt') {
-            $test = new PHPUnit_Extensions_PhptTestCase($this->arguments['test']);
-
-            $this->arguments['test'] = new PHPUnit_Framework_TestSuite;
-            $this->arguments['test']->addTest($test);
-        }
-
-        if (!isset($this->arguments['test']) ||
-            (isset($this->arguments['testDatabaseLogRevision']) && !isset($this->arguments['testDatabaseDSN']))) {
-            $this->showHelp();
-            exit(PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT);
-        }
-    }
-
-    /**
-     * Handles the loading of the PHPUnit_Runner_TestSuiteLoader implementation.
-     *
-     * @param string $loaderClass
-     * @param string $loaderFile
-     *
-     * @return PHPUnit_Runner_TestSuiteLoader
-     */
-    protected function handleLoader($loaderClass, $loaderFile = '')
-    {
-        if (!class_exists($loaderClass, false)) {
-            if ($loaderFile == '') {
-                $loaderFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                    $loaderClass
-                );
-            }
-
-            $loaderFile = stream_resolve_include_path($loaderFile);
-
-            if ($loaderFile) {
-                require $loaderFile;
-            }
-        }
-
-        if (class_exists($loaderClass, false)) {
-            $class = new ReflectionClass($loaderClass);
-
-            if ($class->implementsInterface('PHPUnit_Runner_TestSuiteLoader') &&
-                $class->isInstantiable()) {
-                return $class->newInstance();
-            }
-        }
-
-        if ($loaderClass == 'PHPUnit_Runner_StandardTestSuiteLoader') {
-            return;
-        }
-
-        $this->showError(
-            sprintf(
-                'Could not use "%s" as loader.',
-                $loaderClass
-            )
-        );
-    }
-
-    /**
-     * Handles the loading of the PHPUnit_Util_Printer implementation.
-     *
-     * @param string $printerClass
-     * @param string $printerFile
-     *
-     * @return PHPUnit_Util_Printer
-     */
-    protected function handlePrinter($printerClass, $printerFile = '')
-    {
-        if (!class_exists($printerClass, false)) {
-            if ($printerFile == '') {
-                $printerFile = PHPUnit_Util_Filesystem::classNameToFilename(
-                    $printerClass
-                );
-            }
-
-            $printerFile = stream_resolve_include_path($printerFile);
-
-            if ($printerFile) {
-                require $printerFile;
-            }
-        }
-
-        if (class_exists($printerClass)) {
-            $class = new ReflectionClass($printerClass);
-
-            if ($class->implementsInterface('PHPUnit_Framework_TestListener') &&
-                $class->isSubclassOf('PHPUnit_Util_Printer') &&
-                $class->isInstantiable()) {
-                if ($class->isSubclassOf('PHPUnit_TextUI_ResultPrinter')) {
-                    return $printerClass;
-                }
-
-                $outputStream = isset($this->arguments['stderr']) ? 'php://stderr' : null;
-
-                return $class->newInstance($outputStream);
-            }
-        }
-
-        $this->showError(
-            sprintf(
-                'Could not use "%s" as printer.',
-                $printerClass
-            )
-        );
-    }
-
-    /**
-     * Loads a bootstrap file.
-     *
-     * @param string $filename
-     */
-    protected function handleBootstrap($filename)
-    {
-        try {
-            PHPUnit_Util_Fileloader::checkAndLoad($filename);
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->showError($e->getMessage());
-        }
-    }
-
-    /**
-     * @since Method available since Release 4.0.0
-     */
-    protected function handleSelfUpdate($upgrade = false)
-    {
-        $this->printVersionString();
-
-        $localFilename = realpath($_SERVER['argv'][0]);
-
-        if (!is_writable($localFilename)) {
-            print 'No write permission to update ' . $localFilename . "\n";
-            exit(PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT);
-        }
-
-        if (!extension_loaded('openssl')) {
-            print "The OpenSSL extension is not loaded.\n";
-            exit(PHPUnit_TextUI_TestRunner::EXCEPTION_EXIT);
-        }
-
-        if (!$upgrade) {
-            $remoteFilename = sprintf(
-                'https://phar.phpunit.de/phpunit-%s.phar',
-                file_get_contents(
-                    sprintf(
-                        'https://phar.phpunit.de/latest-version-of/phpunit-%s',
-                        PHPUnit_Runner_Version::series()
-                    )
-                )
-            );
-        } else {
-            $remoteFilename = sprintf(
-                'https://phar.phpunit.de/phpunit%s.phar',
-                PHPUnit_Runner_Version::getReleaseChannel()
-            );
-        }
-
-        $tempFilename = tempnam(sys_get_temp_dir(), 'phpunit') . '.phar';
-
-        // Workaround for https://bugs.php.net/bug.php?id=65538
-        $caFile = dirname($tempFilename) . '/ca.pem';
-        copy(__PHPUNIT_PHAR_ROOT__ . '/ca.pem', $caFile);
-
-        print 'Updating the PHPUnit PHAR ... ';
-
-        $options = [
-            'ssl' => [
-                'allow_self_signed' => false,
-                'cafile'            => $caFile,
-                'verify_peer'       => true
-            ]
-        ];
-
-        file_put_contents(
-            $tempFilename,
-            file_get_contents(
-                $remoteFilename,
-                false,
-                stream_context_create($options)
-            )
-        );
-
-        chmod($tempFilename, 0777 & ~umask());
-
-        try {
-            $phar = new Phar($tempFilename);
-            unset($phar);
-            rename($tempFilename, $localFilename);
-            unlink($caFile);
-        } catch (Throwable $_e) {
-            $e = $_e;
-        } catch (Exception $_e) {
-            $e = $_e;
-        }
-
-        if (isset($e)) {
-            unlink($caFile);
-            unlink($tempFilename);
-            print " done\n\n" . $e->getMessage() . "\n";
-            exit(2);
-        }
-
-        print " done\n";
-        exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-    }
-
-    /**
-     * @since Method available since Release 4.8.0
-     */
-    protected function handleVersionCheck()
-    {
-        $this->printVersionString();
-
-        $latestVersion = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit');
-        $isOutdated    = version_compare($latestVersion, PHPUnit_Runner_Version::id(), '>');
-
-        if ($isOutdated) {
-            print "You are not using the latest version of PHPUnit.\n";
-            print 'Use "phpunit --self-upgrade" to install PHPUnit ' . $latestVersion . "\n";
-        } else {
-            print "You are using the latest version of PHPUnit.\n";
-        }
-
-        exit(PHPUnit_TextUI_TestRunner::SUCCESS_EXIT);
-    }
-
-    /**
-     * Show the help message.
-     */
-    protected function showHelp()
-    {
-        $this->printVersionString();
-
-        print <<<EOT
-Usage: phpunit [options] UnitTest [UnitTest.php]
-       phpunit [options] <directory>
-
-Code Coverage Options:
-
-  --coverage-clover <file>  Generate code coverage report in Clover XML format.
-  --coverage-crap4j <file>  Generate code coverage report in Crap4J XML format.
-  --coverage-html <dir>     Generate code coverage report in HTML format.
-  --coverage-php <file>     Export PHP_CodeCoverage object to file.
-  --coverage-text=<file>    Generate code coverage report in text format.
-                            Default: Standard output.
-  --coverage-xml <dir>      Generate code coverage report in PHPUnit XML format.
-  --whitelist <dir>         Whitelist <dir> for code coverage analysis.
-  --disable-coverage-ignore Disable annotations for ignoring code coverage.
-
-Logging Options:
-
-  --log-junit <file>        Log test execution in JUnit XML format to file.
-  --log-tap <file>          Log test execution in TAP format to file.
-  --log-teamcity <file>     Log test execution in TeamCity format to file.
-  --log-json <file>         Log test execution in JSON format.
-  --testdox-html <file>     Write agile documentation in HTML format to file.
-  --testdox-text <file>     Write agile documentation in Text format to file.
-  --testdox-xml <file>      Write agile documentation in XML format to file.
-  --reverse-list            Print defects in reverse order
-
-Test Selection Options:
-
-  --filter <pattern>        Filter which tests to run.
-  --testsuite <pattern>     Filter which testsuite to run.
-  --group ...               Only runs tests from the specified group(s).
-  --exclude-group ...       Exclude tests from the specified group(s).
-  --list-groups             List available test groups.
-  --test-suffix ...         Only search for test in files with specified
-                            suffix(es). Default: Test.php,.phpt
-
-Test Execution Options:
-
-  --report-useless-tests    Be strict about tests that do not test anything.
-  --strict-coverage         Be strict about @covers annotation usage.
-  --strict-global-state     Be strict about changes to global state
-  --disallow-test-output    Be strict about output during tests.
-  --disallow-resource-usage Be strict about resource usage during small tests.
-  --enforce-time-limit      Enforce time limit based on test size.
-  --disallow-todo-tests     Disallow @todo-annotated tests.
-
-  --process-isolation       Run each test in a separate PHP process.
-  --no-globals-backup       Do not backup and restore \$GLOBALS for each test.
-  --static-backup           Backup and restore static attributes for each test.
-
-  --colors=<flag>           Use colors in output ("never", "auto" or "always").
-  --columns <n>             Number of columns to use for progress output.
-  --columns max             Use maximum number of columns for progress output.
-  --stderr                  Write to STDERR instead of STDOUT.
-  --stop-on-error           Stop execution upon first error.
-  --stop-on-failure         Stop execution upon first error or failure.
-  --stop-on-warning         Stop execution upon first warning.
-  --stop-on-risky           Stop execution upon first risky test.
-  --stop-on-skipped         Stop execution upon first skipped test.
-  --stop-on-incomplete      Stop execution upon first incomplete test.
-  --fail-on-warning         Treat tests with warnings as failures.
-  --fail-on-risky           Treat risky tests as failures.
-  -v|--verbose              Output more verbose information.
-  --debug                   Display debugging information during test execution.
-
-  --loader <loader>         TestSuiteLoader implementation to use.
-  --repeat <times>          Runs the test(s) repeatedly.
-  --tap                     Report test execution progress in TAP format.
-  --teamcity                Report test execution progress in TeamCity format.
-  --testdox                 Report test execution progress in TestDox format.
-  --testdox-group           Only include tests from the specified group(s).
-  --testdox-exclude-group   Exclude tests from the specified group(s).
-  --printer <printer>       TestListener implementation to use.
-
-Configuration Options:
-
-  --bootstrap <file>        A "bootstrap" PHP file that is run before the tests.
-  -c|--configuration <file> Read configuration from XML file.
-  --no-configuration        Ignore default configuration file (phpunit.xml).
-  --no-coverage             Ignore code coverage configuration.
-  --include-path <path(s)>  Prepend PHP's include_path with given path(s).
-  -d key[=value]            Sets a php.ini value.
-  --generate-configuration  Generate configuration file with suggested settings.
-
-Miscellaneous Options:
-
-  -h|--help                 Prints this usage information.
-  --version                 Prints the version and exits.
-  --atleast-version <min>   Checks that version is greater than min and exits.
-
-EOT;
-
-        if (defined('__PHPUNIT_PHAR__')) {
-            print "\n  --check-version           Check whether PHPUnit is the latest version.";
-            print "\n  --self-update             Update PHPUnit to the latest version within the same\n                            release series.\n";
-            print "\n  --self-upgrade            Upgrade PHPUnit to the latest version.\n";
-        }
-    }
-
-    /**
-     * Custom callback for test suite discovery.
-     */
-    protected function handleCustomTestSuite()
-    {
-    }
-
-    private function printVersionString()
-    {
-        if ($this->versionStringPrinted) {
-            return;
-        }
-
-        print PHPUnit_Runner_Version::getVersionString() . "\n\n";
-
-        $this->versionStringPrinted = true;
-    }
-
-    /**
-     */
-    private function showError($message)
-    {
-        $this->printVersionString();
-
-        print $message . "\n";
-
-        exit(PHPUnit_TextUI_TestRunner::FAILURE_EXIT);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Console;
-
-/**
- * Prints the result of a TextUI TestRunner run.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_TextUI_ResultPrinter extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    const EVENT_TEST_START      = 0;
-    const EVENT_TEST_END        = 1;
-    const EVENT_TESTSUITE_START = 2;
-    const EVENT_TESTSUITE_END   = 3;
-
-    const COLOR_NEVER   = 'never';
-    const COLOR_AUTO    = 'auto';
-    const COLOR_ALWAYS  = 'always';
-    const COLOR_DEFAULT = self::COLOR_NEVER;
-
-    /**
-     * @var array
-     */
-    private static $ansiCodes = [
-      'bold'       => 1,
-      'fg-black'   => 30,
-      'fg-red'     => 31,
-      'fg-green'   => 32,
-      'fg-yellow'  => 33,
-      'fg-blue'    => 34,
-      'fg-magenta' => 35,
-      'fg-cyan'    => 36,
-      'fg-white'   => 37,
-      'bg-black'   => 40,
-      'bg-red'     => 41,
-      'bg-green'   => 42,
-      'bg-yellow'  => 43,
-      'bg-blue'    => 44,
-      'bg-magenta' => 45,
-      'bg-cyan'    => 46,
-      'bg-white'   => 47
-    ];
-
-    /**
-     * @var int
-     */
-    protected $column = 0;
-
-    /**
-     * @var int
-     */
-    protected $maxColumn;
-
-    /**
-     * @var bool
-     */
-    protected $lastTestFailed = false;
-
-    /**
-     * @var int
-     */
-    protected $numAssertions = 0;
-
-    /**
-     * @var int
-     */
-    protected $numTests = -1;
-
-    /**
-     * @var int
-     */
-    protected $numTestsRun = 0;
-
-    /**
-     * @var int
-     */
-    protected $numTestsWidth;
-
-    /**
-     * @var bool
-     */
-    protected $colors = false;
-
-    /**
-     * @var bool
-     */
-    protected $debug = false;
-
-    /**
-     * @var bool
-     */
-    protected $verbose = false;
-
-    /**
-     * @var int
-     */
-    private $numberOfColumns;
-
-    /**
-     * @var bool
-     */
-    private $reverse = false;
-
-    /**
-     * @var bool
-     */
-    private $defectListPrinted = false;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed      $out
-     * @param bool       $verbose
-     * @param string     $colors
-     * @param bool       $debug
-     * @param int|string $numberOfColumns
-     * @param bool       $reverse
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function __construct($out = null, $verbose = false, $colors = self::COLOR_DEFAULT, $debug = false, $numberOfColumns = 80, $reverse = false)
-    {
-        parent::__construct($out);
-
-        if (!is_bool($verbose)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'boolean');
-        }
-
-        $availableColors = [self::COLOR_NEVER, self::COLOR_AUTO, self::COLOR_ALWAYS];
-
-        if (!in_array($colors, $availableColors)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                3,
-                vsprintf('value from "%s", "%s" or "%s"', $availableColors)
-            );
-        }
-
-        if (!is_bool($debug)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'boolean');
-        }
-
-        if (!is_int($numberOfColumns) && $numberOfColumns != 'max') {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(5, 'integer or "max"');
-        }
-
-        if (!is_bool($reverse)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(6, 'boolean');
-        }
-
-        $console            = new Console;
-        $maxNumberOfColumns = $console->getNumberOfColumns();
-
-        if ($numberOfColumns == 'max' || $numberOfColumns > $maxNumberOfColumns) {
-            $numberOfColumns = $maxNumberOfColumns;
-        }
-
-        $this->numberOfColumns = $numberOfColumns;
-        $this->verbose         = $verbose;
-        $this->debug           = $debug;
-        $this->reverse         = $reverse;
-
-        if ($colors === self::COLOR_AUTO && $console->hasColorSupport()) {
-            $this->colors = true;
-        } else {
-            $this->colors = (self::COLOR_ALWAYS === $colors);
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function printResult(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printHeader();
-        $this->printErrors($result);
-        $this->printWarnings($result);
-        $this->printFailures($result);
-
-        if ($this->verbose) {
-            $this->printRisky($result);
-            $this->printIncompletes($result);
-            $this->printSkipped($result);
-        }
-
-        $this->printFooter($result);
-    }
-
-    /**
-     * @param array  $defects
-     * @param string $type
-     */
-    protected function printDefects(array $defects, $type)
-    {
-        $count = count($defects);
-
-        if ($count == 0) {
-            return;
-        }
-
-        if ($this->defectListPrinted) {
-            $this->write("\n--\n\n");
-        }
-
-        $this->write(
-            sprintf(
-                "There %s %d %s%s:\n",
-                ($count == 1) ? 'was' : 'were',
-                $count,
-                $type,
-                ($count == 1) ? '' : 's'
-            )
-        );
-
-        $i = 1;
-
-        if ($this->reverse) {
-            $defects = array_reverse($defects);
-        }
-
-        foreach ($defects as $defect) {
-            $this->printDefect($defect, $i++);
-        }
-
-        $this->defectListPrinted = true;
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     * @param int                           $count
-     */
-    protected function printDefect(PHPUnit_Framework_TestFailure $defect, $count)
-    {
-        $this->printDefectHeader($defect, $count);
-        $this->printDefectTrace($defect);
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     * @param int                           $count
-     */
-    protected function printDefectHeader(PHPUnit_Framework_TestFailure $defect, $count)
-    {
-        $this->write(
-            sprintf(
-                "\n%d) %s\n",
-                $count,
-                $defect->getTestName()
-            )
-        );
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestFailure $defect
-     */
-    protected function printDefectTrace(PHPUnit_Framework_TestFailure $defect)
-    {
-        $e = $defect->thrownException();
-        $this->write((string) $e);
-
-        while ($e = $e->getPrevious()) {
-            $this->write("\nCaused by\n" . $e);
-        }
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printErrors(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->errors(), 'error');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printFailures(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->failures(), 'failure');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printWarnings(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->warnings(), 'warning');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printIncompletes(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->notImplemented(), 'incomplete test');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @since Method available since Release 4.0.0
-     */
-    protected function printRisky(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->risky(), 'risky test');
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @since Method available since Release 3.0.0
-     */
-    protected function printSkipped(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printDefects($result->skipped(), 'skipped test');
-    }
-
-    protected function printHeader()
-    {
-        $this->write("\n\n" . PHP_Timer::resourceUsage() . "\n\n");
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    protected function printFooter(PHPUnit_Framework_TestResult $result)
-    {
-        if (count($result) === 0) {
-            $this->writeWithColor(
-                'fg-black, bg-yellow',
-                'No tests executed!'
-            );
-
-            return;
-        }
-
-        if ($result->wasSuccessful() &&
-            $result->allHarmless() &&
-            $result->allCompletelyImplemented() &&
-            $result->noneSkipped()) {
-            $this->writeWithColor(
-                'fg-black, bg-green',
-                sprintf(
-                    'OK (%d test%s, %d assertion%s)',
-                    count($result),
-                    (count($result) == 1) ? '' : 's',
-                    $this->numAssertions,
-                    ($this->numAssertions == 1) ? '' : 's'
-                )
-            );
-        } else {
-            if ($result->wasSuccessful()) {
-                $color = 'fg-black, bg-yellow';
-
-                if ($this->verbose) {
-                    $this->write("\n");
-                }
-
-                $this->writeWithColor(
-                    $color,
-                    'OK, but incomplete, skipped, or risky tests!'
-                );
-            } else {
-                $this->write("\n");
-
-                if ($result->errorCount()) {
-                    $color = 'fg-white, bg-red';
-
-                    $this->writeWithColor(
-                        $color,
-                        'ERRORS!'
-                    );
-                } elseif ($result->failureCount()) {
-                    $color = 'fg-white, bg-red';
-
-                    $this->writeWithColor(
-                        $color,
-                        'FAILURES!'
-                    );
-                } elseif ($result->warningCount()) {
-                    $color = 'fg-black, bg-yellow';
-
-                    $this->writeWithColor(
-                        $color,
-                        'WARNINGS!'
-                    );
-                }
-            }
-
-            $this->writeCountString(count($result), 'Tests', $color, true);
-            $this->writeCountString($this->numAssertions, 'Assertions', $color, true);
-            $this->writeCountString($result->errorCount(), 'Errors', $color);
-            $this->writeCountString($result->failureCount(), 'Failures', $color);
-            $this->writeCountString($result->warningCount(), 'Warnings', $color);
-            $this->writeCountString($result->skippedCount(), 'Skipped', $color);
-            $this->writeCountString($result->notImplementedCount(), 'Incomplete', $color);
-            $this->writeCountString($result->riskyCount(), 'Risky', $color);
-            $this->writeWithColor($color, '.', true);
-        }
-    }
-
-    /**
-     */
-    public function printWaitPrompt()
-    {
-        $this->write("\n<RETURN> to continue\n");
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-red, bold', 'E');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeProgressWithColor('bg-red, fg-white', 'F');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        $this->writeProgressWithColor('fg-yellow, bold', 'W');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-yellow, bold', 'I');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-yellow, bold', 'R');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeProgressWithColor('fg-cyan, bold', 'S');
-        $this->lastTestFailed = true;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        if ($this->numTests == -1) {
-            $this->numTests      = count($suite);
-            $this->numTestsWidth = strlen((string) $this->numTests);
-            $this->maxColumn     = $this->numberOfColumns - strlen('  /  (XXX%)') - (2 * $this->numTestsWidth);
-        }
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if ($this->debug) {
-            $this->write(
-                sprintf(
-                    "\nStarting test '%s'.\n",
-                    PHPUnit_Util_Test::describe($test)
-                )
-            );
-        }
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$this->lastTestFailed) {
-            $this->writeProgress('.');
-        }
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $this->numAssertions += $test->getNumAssertions();
-        } elseif ($test instanceof PHPUnit_Extensions_PhptTestCase) {
-            $this->numAssertions++;
-        }
-
-        $this->lastTestFailed = false;
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            if (!$test->hasExpectationOnOutput()) {
-                $this->write($test->getActualOutput());
-            }
-        }
-    }
-
-    /**
-     * @param string $progress
-     */
-    protected function writeProgress($progress)
-    {
-        $this->write($progress);
-        $this->column++;
-        $this->numTestsRun++;
-
-        if ($this->column == $this->maxColumn
-            || $this->numTestsRun == $this->numTests
-        ) {
-            if ($this->numTestsRun == $this->numTests) {
-                $this->write(str_repeat(' ', $this->maxColumn - $this->column));
-            }
-
-            $this->write(
-                sprintf(
-                    ' %' . $this->numTestsWidth . 'd / %' .
-                    $this->numTestsWidth . 'd (%3s%%)',
-                    $this->numTestsRun,
-                    $this->numTests,
-                    floor(($this->numTestsRun / $this->numTests) * 100)
-                )
-            );
-
-            if ($this->column == $this->maxColumn) {
-                $this->writeNewLine();
-            }
-        }
-    }
-
-    protected function writeNewLine()
-    {
-        $this->column = 0;
-        $this->write("\n");
-    }
-
-    /**
-     * Formats a buffer with a specified ANSI color sequence if colors are
-     * enabled.
-     *
-     * @param string $color
-     * @param string $buffer
-     *
-     * @return string
-     *
-     * @since Method available since Release 4.0.0
-     */
-    protected function formatWithColor($color, $buffer)
-    {
-        if (!$this->colors) {
-            return $buffer;
-        }
-
-        $codes   = array_map('trim', explode(',', $color));
-        $lines   = explode("\n", $buffer);
-        $padding = max(array_map('strlen', $lines));
-        $styles  = [];
-
-        foreach ($codes as $code) {
-            $styles[] = self::$ansiCodes[$code];
-        }
-
-        $style = sprintf("\x1b[%sm", implode(';', $styles));
-
-        $styledLines = [];
-
-        foreach ($lines as $line) {
-            $styledLines[] = $style . str_pad($line, $padding) . "\x1b[0m";
-        }
-
-        return implode("\n", $styledLines);
-    }
-
-    /**
-     * Writes a buffer out with a color sequence if colors are enabled.
-     *
-     * @param string $color
-     * @param string $buffer
-     * @param bool   $lf
-     *
-     * @since Method available since Release 4.0.0
-     */
-    protected function writeWithColor($color, $buffer, $lf = true)
-    {
-        $this->write($this->formatWithColor($color, $buffer));
-
-        if ($lf) {
-            $this->write("\n");
-        }
-    }
-
-    /**
-     * Writes progress with a color sequence if colors are enabled.
-     *
-     * @param string $color
-     * @param string $buffer
-     *
-     * @since Method available since Release 4.0.0
-     */
-    protected function writeProgressWithColor($color, $buffer)
-    {
-        $buffer = $this->formatWithColor($color, $buffer);
-        $this->writeProgress($buffer);
-    }
-
-    /**
-     * @param int    $count
-     * @param string $name
-     * @param string $color
-     * @param bool   $always
-     *
-     * @since Method available since Release 4.6.5
-     */
-    private function writeCountString($count, $name, $color, $always = false)
-    {
-        static $first = true;
-
-        if ($always || $count > 0) {
-            $this->writeWithColor(
-                $color,
-                sprintf(
-                    '%s%s: %d',
-                    !$first ? ', ' : '',
-                    $name,
-                    $count
-                ),
-                false
-            );
-
-            $first = false;
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\Exception as CodeCoverageException;
-use SebastianBergmann\CodeCoverage\Filter as CodeCoverageFilter;
-use SebastianBergmann\CodeCoverage\Report\Clover as CloverReport;
-use SebastianBergmann\CodeCoverage\Report\Crap4j as Crap4jReport;
-use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport;
-use SebastianBergmann\CodeCoverage\Report\PHP as PhpReport;
-use SebastianBergmann\CodeCoverage\Report\Text as TextReport;
-use SebastianBergmann\CodeCoverage\Report\Xml\Facade as XmlReport;
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * A TestRunner for the Command Line Interface (CLI)
- * PHP SAPI Module.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_TextUI_TestRunner extends PHPUnit_Runner_BaseTestRunner
-{
-    const SUCCESS_EXIT   = 0;
-    const FAILURE_EXIT   = 1;
-    const EXCEPTION_EXIT = 2;
-
-    /**
-     * @var CodeCoverageFilter
-     */
-    protected $codeCoverageFilter;
-
-    /**
-     * @var PHPUnit_Runner_TestSuiteLoader
-     */
-    protected $loader = null;
-
-    /**
-     * @var PHPUnit_TextUI_ResultPrinter
-     */
-    protected $printer = null;
-
-    /**
-     * @var bool
-     */
-    protected static $versionStringPrinted = false;
-
-    /**
-     * @var Runtime
-     */
-    private $runtime;
-
-    /**
-     * @var bool
-     */
-    private $messagePrinted = false;
-
-    /**
-     * @param PHPUnit_Runner_TestSuiteLoader $loader
-     * @param CodeCoverageFilter             $filter
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function __construct(PHPUnit_Runner_TestSuiteLoader $loader = null, CodeCoverageFilter $filter = null)
-    {
-        if ($filter === null) {
-            $filter = new CodeCoverageFilter;
-        }
-
-        $this->codeCoverageFilter = $filter;
-        $this->loader             = $loader;
-        $this->runtime            = new Runtime;
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test|ReflectionClass $test
-     * @param array                                  $arguments
-     *
-     * @return PHPUnit_Framework_TestResult
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function run($test, array $arguments = [])
-    {
-        if ($test instanceof ReflectionClass) {
-            $test = new PHPUnit_Framework_TestSuite($test);
-        }
-
-        if ($test instanceof PHPUnit_Framework_Test) {
-            $aTestRunner = new self;
-
-            return $aTestRunner->doRun(
-                $test,
-                $arguments
-            );
-        } else {
-            throw new PHPUnit_Framework_Exception(
-                'No test case or test suite found.'
-            );
-        }
-    }
-
-    /**
-     * @return PHPUnit_Framework_TestResult
-     */
-    protected function createTestResult()
-    {
-        return new PHPUnit_Framework_TestResult;
-    }
-
-    private function processSuiteFilters(PHPUnit_Framework_TestSuite $suite, array $arguments)
-    {
-        if (!$arguments['filter'] &&
-            empty($arguments['groups']) &&
-            empty($arguments['excludeGroups'])) {
-            return;
-        }
-
-        $filterFactory = new PHPUnit_Runner_Filter_Factory();
-
-        if (!empty($arguments['excludeGroups'])) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'),
-                $arguments['excludeGroups']
-            );
-        }
-
-        if (!empty($arguments['groups'])) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Group_Include'),
-                $arguments['groups']
-            );
-        }
-
-        if ($arguments['filter']) {
-            $filterFactory->addFilter(
-                new ReflectionClass('PHPUnit_Runner_Filter_Test'),
-                $arguments['filter']
-            );
-        }
-        $suite->injectFilter($filterFactory);
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test $suite
-     * @param array                  $arguments
-     * @param bool                   $exit
-     *
-     * @return PHPUnit_Framework_TestResult
-     */
-    public function doRun(PHPUnit_Framework_Test $suite, array $arguments = [], $exit = true)
-    {
-        if (isset($arguments['configuration'])) {
-            $GLOBALS['__PHPUNIT_CONFIGURATION_FILE'] = $arguments['configuration'];
-        }
-
-        $this->handleConfiguration($arguments);
-
-        $this->processSuiteFilters($suite, $arguments);
-
-        if (isset($arguments['bootstrap'])) {
-            $GLOBALS['__PHPUNIT_BOOTSTRAP'] = $arguments['bootstrap'];
-        }
-
-        if ($arguments['backupGlobals'] === false) {
-            $suite->setBackupGlobals(false);
-        }
-
-        if ($arguments['backupStaticAttributes'] === true) {
-            $suite->setBackupStaticAttributes(true);
-        }
-
-        if ($arguments['beStrictAboutChangesToGlobalState'] === true) {
-            $suite->setbeStrictAboutChangesToGlobalState(true);
-        }
-
-        if (is_integer($arguments['repeat'])) {
-            $test = new PHPUnit_Extensions_RepeatedTest(
-                $suite,
-                $arguments['repeat'],
-                $arguments['processIsolation']
-            );
-
-            $suite = new PHPUnit_Framework_TestSuite();
-            $suite->addTest($test);
-        }
-
-        $result = $this->createTestResult();
-
-        if (!$arguments['convertErrorsToExceptions']) {
-            $result->convertErrorsToExceptions(false);
-        }
-
-        if (!$arguments['convertNoticesToExceptions']) {
-            PHPUnit_Framework_Error_Notice::$enabled = false;
-        }
-
-        if (!$arguments['convertWarningsToExceptions']) {
-            PHPUnit_Framework_Error_Warning::$enabled = false;
-        }
-
-        if ($arguments['stopOnError']) {
-            $result->stopOnError(true);
-        }
-
-        if ($arguments['stopOnFailure']) {
-            $result->stopOnFailure(true);
-        }
-
-        if ($arguments['stopOnWarning']) {
-            $result->stopOnWarning(true);
-        }
-
-        if ($arguments['stopOnIncomplete']) {
-            $result->stopOnIncomplete(true);
-        }
-
-        if ($arguments['stopOnRisky']) {
-            $result->stopOnRisky(true);
-        }
-
-        if ($arguments['stopOnSkipped']) {
-            $result->stopOnSkipped(true);
-        }
-
-        if ($arguments['registerMockObjectsFromTestArgumentsRecursively']) {
-            $result->setRegisterMockObjectsFromTestArgumentsRecursively(true);
-        }
-
-        if ($this->printer === null) {
-            if (isset($arguments['printer']) &&
-                $arguments['printer'] instanceof PHPUnit_Util_Printer) {
-                $this->printer = $arguments['printer'];
-            } else {
-                $printerClass = 'PHPUnit_TextUI_ResultPrinter';
-
-                if (isset($arguments['printer']) &&
-                    is_string($arguments['printer']) &&
-                    class_exists($arguments['printer'], false)) {
-                    $class = new ReflectionClass($arguments['printer']);
-
-                    if ($class->isSubclassOf('PHPUnit_TextUI_ResultPrinter')) {
-                        $printerClass = $arguments['printer'];
-                    }
-                }
-
-                $this->printer = new $printerClass(
-                    isset($arguments['stderr']) ? 'php://stderr' : null,
-                    $arguments['verbose'],
-                    $arguments['colors'],
-                    $arguments['debug'],
-                    $arguments['columns'],
-                    $arguments['reverseList']
-                );
-            }
-        }
-
-        if (!$this->printer instanceof PHPUnit_Util_Log_TAP) {
-            $this->printer->write(
-                PHPUnit_Runner_Version::getVersionString() . "\n"
-            );
-
-            self::$versionStringPrinted = true;
-
-            if ($arguments['verbose']) {
-                $runtime = $this->runtime->getNameWithVersion();
-
-                if ($this->runtime->hasXdebug()) {
-                    $runtime .= sprintf(
-                        ' with Xdebug %s',
-                        phpversion('xdebug')
-                    );
-                }
-
-                $this->writeMessage('Runtime', $runtime);
-
-                if (isset($arguments['configuration'])) {
-                    $this->writeMessage(
-                        'Configuration',
-                        $arguments['configuration']->getFilename()
-                    );
-                }
-            }
-
-            if (isset($arguments['deprecatedCheckForUnintentionallyCoveredCodeSettingUsed'])) {
-                print "Warning:       Deprecated configuration setting \"checkForUnintentionallyCoveredCode\" used\n";
-            }
-        }
-
-        foreach ($arguments['listeners'] as $listener) {
-            $result->addListener($listener);
-        }
-
-        $result->addListener($this->printer);
-
-        if (isset($arguments['testdoxHTMLFile'])) {
-            $result->addListener(
-                new PHPUnit_Util_TestDox_ResultPrinter_HTML(
-                    $arguments['testdoxHTMLFile'],
-                    $arguments['testdoxGroups'],
-                    $arguments['testdoxExcludeGroups']
-                )
-            );
-        }
-
-        if (isset($arguments['testdoxTextFile'])) {
-            $result->addListener(
-                new PHPUnit_Util_TestDox_ResultPrinter_Text(
-                    $arguments['testdoxTextFile'],
-                    $arguments['testdoxGroups'],
-                    $arguments['testdoxExcludeGroups']
-                )
-            );
-        }
-
-        if (isset($arguments['testdoxXMLFile'])) {
-            $result->addListener(
-                new PHPUnit_Util_TestDox_ResultPrinter_XML(
-                    $arguments['testdoxXMLFile']
-                )
-            );
-        }
-
-        $codeCoverageReports = 0;
-
-        if (isset($arguments['coverageClover'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageCrap4J'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageHtml'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coveragePHP'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageText'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['coverageXml'])) {
-            $codeCoverageReports++;
-        }
-
-        if (isset($arguments['noCoverage'])) {
-            $codeCoverageReports = 0;
-        }
-
-        if ($codeCoverageReports > 0) {
-            if (!$this->runtime->canCollectCodeCoverage()) {
-                $this->writeMessage('Error', 'No code coverage driver is available');
-
-                $codeCoverageReports = 0;
-            } elseif (!isset($arguments['whitelist']) && !$this->codeCoverageFilter->hasWhitelist()) {
-                $this->writeMessage('Error', 'No whitelist configured, no code coverage will be generated');
-
-                $codeCoverageReports = 0;
-            }
-        }
-
-        if (!$this->printer instanceof PHPUnit_Util_Log_TAP) {
-            $this->printer->write("\n");
-        }
-
-        if ($codeCoverageReports > 0) {
-            $codeCoverage = new CodeCoverage(
-                null,
-                $this->codeCoverageFilter
-            );
-
-            $codeCoverage->setUnintentionallyCoveredSubclassesWhitelist(
-                [SebastianBergmann\Comparator\Comparator::class]
-            );
-
-            $codeCoverage->setAddUncoveredFilesFromWhitelist(
-                $arguments['addUncoveredFilesFromWhitelist']
-            );
-
-            $codeCoverage->setCheckForUnintentionallyCoveredCode(
-                $arguments['strictCoverage']
-            );
-
-            $codeCoverage->setCheckForMissingCoversAnnotation(
-                $arguments['strictCoverage']
-            );
-
-            $codeCoverage->setProcessUncoveredFilesFromWhitelist(
-                $arguments['processUncoveredFilesFromWhitelist']
-            );
-
-            if (isset($arguments['forceCoversAnnotation'])) {
-                $codeCoverage->setForceCoversAnnotation(
-                    $arguments['forceCoversAnnotation']
-                );
-            }
-
-            if (isset($arguments['disableCodeCoverageIgnore'])) {
-                $codeCoverage->setDisableIgnoredLines(true);
-            }
-
-            if (isset($arguments['whitelist'])) {
-                $this->codeCoverageFilter->addDirectoryToWhitelist($arguments['whitelist']);
-            }
-
-            $result->setCodeCoverage($codeCoverage);
-        }
-
-        if ($codeCoverageReports > 1) {
-            if (isset($arguments['cacheTokens'])) {
-                $codeCoverage->setCacheTokens($arguments['cacheTokens']);
-            }
-        }
-
-        if (isset($arguments['jsonLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_JSON($arguments['jsonLogfile'])
-            );
-        }
-
-        if (isset($arguments['tapLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_TAP($arguments['tapLogfile'])
-            );
-        }
-
-        if (isset($arguments['teamcityLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_TeamCity($arguments['teamcityLogfile'])
-            );
-        }
-
-        if (isset($arguments['junitLogfile'])) {
-            $result->addListener(
-                new PHPUnit_Util_Log_JUnit(
-                    $arguments['junitLogfile'],
-                    $arguments['reportUselessTests']
-                )
-            );
-        }
-
-        $result->beStrictAboutTestsThatDoNotTestAnything($arguments['reportUselessTests']);
-        $result->beStrictAboutOutputDuringTests($arguments['disallowTestOutput']);
-        $result->beStrictAboutTodoAnnotatedTests($arguments['disallowTodoAnnotatedTests']);
-        $result->beStrictAboutResourceUsageDuringSmallTests($arguments['beStrictAboutResourceUsageDuringSmallTests']);
-        $result->enforceTimeLimit($arguments['enforceTimeLimit']);
-        $result->setTimeoutForSmallTests($arguments['timeoutForSmallTests']);
-        $result->setTimeoutForMediumTests($arguments['timeoutForMediumTests']);
-        $result->setTimeoutForLargeTests($arguments['timeoutForLargeTests']);
-
-        if ($suite instanceof PHPUnit_Framework_TestSuite) {
-            $suite->setRunTestInSeparateProcess($arguments['processIsolation']);
-        }
-
-        $suite->run($result);
-
-        unset($suite);
-        $result->flushListeners();
-
-        if ($this->printer instanceof PHPUnit_TextUI_ResultPrinter) {
-            $this->printer->printResult($result);
-        }
-
-        if (isset($codeCoverage)) {
-            if (isset($arguments['coverageClover'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in Clover XML format ..."
-                );
-
-                try {
-                    $writer = new CloverReport();
-                    $writer->process($codeCoverage, $arguments['coverageClover']);
-
-                    $this->printer->write(" done\n");
-                    unset($writer);
-                } catch (CodeCoverageException $e) {
-                    $this->printer->write(
-                        " failed\n" . $e->getMessage() . "\n"
-                    );
-                }
-            }
-
-            if (isset($arguments['coverageCrap4J'])) {
-                $this->printer->write(
-                    "\nGenerating Crap4J report XML file ..."
-                );
-
-                try {
-                    $writer = new Crap4jReport($arguments['crap4jThreshold']);
-                    $writer->process($codeCoverage, $arguments['coverageCrap4J']);
-
-                    $this->printer->write(" done\n");
-                    unset($writer);
-                } catch (CodeCoverageException $e) {
-                    $this->printer->write(
-                        " failed\n" . $e->getMessage() . "\n"
-                    );
-                }
-            }
-
-            if (isset($arguments['coverageHtml'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in HTML format ..."
-                );
-
-                try {
-                    $writer = new HtmlReport(
-                        $arguments['reportLowUpperBound'],
-                        $arguments['reportHighLowerBound'],
-                        sprintf(
-                            ' and <a href="https://phpunit.de/">PHPUnit %s</a>',
-                            PHPUnit_Runner_Version::id()
-                        )
-                    );
-
-                    $writer->process($codeCoverage, $arguments['coverageHtml']);
-
-                    $this->printer->write(" done\n");
-                    unset($writer);
-                } catch (CodeCoverageException $e) {
-                    $this->printer->write(
-                        " failed\n" . $e->getMessage() . "\n"
-                    );
-                }
-            }
-
-            if (isset($arguments['coveragePHP'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in PHP format ..."
-                );
-
-                try {
-                    $writer = new PhpReport();
-                    $writer->process($codeCoverage, $arguments['coveragePHP']);
-
-                    $this->printer->write(" done\n");
-                    unset($writer);
-                } catch (CodeCoverageException $e) {
-                    $this->printer->write(
-                        " failed\n" . $e->getMessage() . "\n"
-                    );
-                }
-            }
-
-            if (isset($arguments['coverageText'])) {
-                if ($arguments['coverageText'] == 'php://stdout') {
-                    $outputStream = $this->printer;
-                    $colors       = $arguments['colors'] && $arguments['colors'] != PHPUnit_TextUI_ResultPrinter::COLOR_NEVER;
-                } else {
-                    $outputStream = new PHPUnit_Util_Printer($arguments['coverageText']);
-                    $colors       = false;
-                }
-
-                $processor = new TextReport(
-                    $arguments['reportLowUpperBound'],
-                    $arguments['reportHighLowerBound'],
-                    $arguments['coverageTextShowUncoveredFiles'],
-                    $arguments['coverageTextShowOnlySummary']
-                );
-
-                $outputStream->write(
-                    $processor->process($codeCoverage, $colors)
-                );
-            }
-
-            if (isset($arguments['coverageXml'])) {
-                $this->printer->write(
-                    "\nGenerating code coverage report in PHPUnit XML format ..."
-                );
-
-                try {
-                    $writer = new XmlReport;
-                    $writer->process($codeCoverage, $arguments['coverageXml']);
-
-                    $this->printer->write(" done\n");
-                    unset($writer);
-                } catch (CodeCoverageException $e) {
-                    $this->printer->write(
-                        " failed\n" . $e->getMessage() . "\n"
-                    );
-                }
-            }
-        }
-
-        if ($exit) {
-            if ($result->wasSuccessful()) {
-                if ($arguments['failOnRisky'] && !$result->allHarmless()) {
-                    exit(self::FAILURE_EXIT);
-                }
-
-                if ($arguments['failOnWarning'] && $result->warningCount() > 0) {
-                    exit(self::FAILURE_EXIT);
-                }
-
-                exit(self::SUCCESS_EXIT);
-            }
-
-            if ($result->errorCount() > 0) {
-                exit(self::EXCEPTION_EXIT);
-            }
-
-            if ($result->failureCount() > 0) {
-                exit(self::FAILURE_EXIT);
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param PHPUnit_TextUI_ResultPrinter $resultPrinter
-     */
-    public function setPrinter(PHPUnit_TextUI_ResultPrinter $resultPrinter)
-    {
-        $this->printer = $resultPrinter;
-    }
-
-    /**
-     * Override to define how to handle a failed loading of
-     * a test suite.
-     *
-     * @param string $message
-     */
-    protected function runFailed($message)
-    {
-        $this->write($message . PHP_EOL);
-        exit(self::FAILURE_EXIT);
-    }
-
-    /**
-     * @param string $buffer
-     *
-     * @since Method available since Release 3.1.0
-     */
-    protected function write($buffer)
-    {
-        if (PHP_SAPI != 'cli' && PHP_SAPI != 'phpdbg') {
-            $buffer = htmlspecialchars($buffer);
-        }
-
-        if ($this->printer !== null) {
-            $this->printer->write($buffer);
-        } else {
-            print $buffer;
-        }
-    }
-
-    /**
-     * Returns the loader to be used.
-     *
-     * @return PHPUnit_Runner_TestSuiteLoader
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function getLoader()
-    {
-        if ($this->loader === null) {
-            $this->loader = new PHPUnit_Runner_StandardTestSuiteLoader;
-        }
-
-        return $this->loader;
-    }
-
-    /**
-     * @param array $arguments
-     *
-     * @since Method available since Release 3.2.1
-     */
-    protected function handleConfiguration(array &$arguments)
-    {
-        if (isset($arguments['configuration']) &&
-            !$arguments['configuration'] instanceof PHPUnit_Util_Configuration) {
-            $arguments['configuration'] = PHPUnit_Util_Configuration::getInstance(
-                $arguments['configuration']
-            );
-        }
-
-        $arguments['debug']     = isset($arguments['debug'])     ? $arguments['debug']     : false;
-        $arguments['filter']    = isset($arguments['filter'])    ? $arguments['filter']    : false;
-        $arguments['listeners'] = isset($arguments['listeners']) ? $arguments['listeners'] : [];
-
-        if (isset($arguments['configuration'])) {
-            $arguments['configuration']->handlePHPConfiguration();
-
-            $phpunitConfiguration = $arguments['configuration']->getPHPUnitConfiguration();
-
-            if (isset($phpunitConfiguration['deprecatedCheckForUnintentionallyCoveredCodeSettingUsed'])) {
-                $arguments['deprecatedCheckForUnintentionallyCoveredCodeSettingUsed'] = true;
-            }
-
-            if (isset($phpunitConfiguration['backupGlobals']) &&
-                !isset($arguments['backupGlobals'])) {
-                $arguments['backupGlobals'] = $phpunitConfiguration['backupGlobals'];
-            }
-
-            if (isset($phpunitConfiguration['backupStaticAttributes']) &&
-                !isset($arguments['backupStaticAttributes'])) {
-                $arguments['backupStaticAttributes'] = $phpunitConfiguration['backupStaticAttributes'];
-            }
-
-            if (isset($phpunitConfiguration['beStrictAboutChangesToGlobalState']) &&
-                !isset($arguments['beStrictAboutChangesToGlobalState'])) {
-                $arguments['beStrictAboutChangesToGlobalState'] = $phpunitConfiguration['beStrictAboutChangesToGlobalState'];
-            }
-
-            if (isset($phpunitConfiguration['bootstrap']) &&
-                !isset($arguments['bootstrap'])) {
-                $arguments['bootstrap'] = $phpunitConfiguration['bootstrap'];
-            }
-
-            if (isset($phpunitConfiguration['cacheTokens']) &&
-                !isset($arguments['cacheTokens'])) {
-                $arguments['cacheTokens'] = $phpunitConfiguration['cacheTokens'];
-            }
-
-            if (isset($phpunitConfiguration['colors']) &&
-                !isset($arguments['colors'])) {
-                $arguments['colors'] = $phpunitConfiguration['colors'];
-            }
-
-            if (isset($phpunitConfiguration['convertErrorsToExceptions']) &&
-                !isset($arguments['convertErrorsToExceptions'])) {
-                $arguments['convertErrorsToExceptions'] = $phpunitConfiguration['convertErrorsToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['convertNoticesToExceptions']) &&
-                !isset($arguments['convertNoticesToExceptions'])) {
-                $arguments['convertNoticesToExceptions'] = $phpunitConfiguration['convertNoticesToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['convertWarningsToExceptions']) &&
-                !isset($arguments['convertWarningsToExceptions'])) {
-                $arguments['convertWarningsToExceptions'] = $phpunitConfiguration['convertWarningsToExceptions'];
-            }
-
-            if (isset($phpunitConfiguration['processIsolation']) &&
-                !isset($arguments['processIsolation'])) {
-                $arguments['processIsolation'] = $phpunitConfiguration['processIsolation'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnError']) &&
-                !isset($arguments['stopOnError'])) {
-                $arguments['stopOnError'] = $phpunitConfiguration['stopOnError'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnFailure']) &&
-                !isset($arguments['stopOnFailure'])) {
-                $arguments['stopOnFailure'] = $phpunitConfiguration['stopOnFailure'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnWarning']) &&
-                !isset($arguments['stopOnWarning'])) {
-                $arguments['stopOnWarning'] = $phpunitConfiguration['stopOnWarning'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnIncomplete']) &&
-                !isset($arguments['stopOnIncomplete'])) {
-                $arguments['stopOnIncomplete'] = $phpunitConfiguration['stopOnIncomplete'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnRisky']) &&
-                !isset($arguments['stopOnRisky'])) {
-                $arguments['stopOnRisky'] = $phpunitConfiguration['stopOnRisky'];
-            }
-
-            if (isset($phpunitConfiguration['stopOnSkipped']) &&
-                !isset($arguments['stopOnSkipped'])) {
-                $arguments['stopOnSkipped'] = $phpunitConfiguration['stopOnSkipped'];
-            }
-
-            if (isset($phpunitConfiguration['failOnWarning']) &&
-                !isset($arguments['failOnWarning'])) {
-                $arguments['failOnWarning'] = $phpunitConfiguration['failOnWarning'];
-            }
-
-            if (isset($phpunitConfiguration['failOnRisky']) &&
-                !isset($arguments['failOnRisky'])) {
-                $arguments['failOnRisky'] = $phpunitConfiguration['failOnRisky'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForSmallTests']) &&
-                !isset($arguments['timeoutForSmallTests'])) {
-                $arguments['timeoutForSmallTests'] = $phpunitConfiguration['timeoutForSmallTests'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForMediumTests']) &&
-                !isset($arguments['timeoutForMediumTests'])) {
-                $arguments['timeoutForMediumTests'] = $phpunitConfiguration['timeoutForMediumTests'];
-            }
-
-            if (isset($phpunitConfiguration['timeoutForLargeTests']) &&
-                !isset($arguments['timeoutForLargeTests'])) {
-                $arguments['timeoutForLargeTests'] = $phpunitConfiguration['timeoutForLargeTests'];
-            }
-
-            if (isset($phpunitConfiguration['reportUselessTests']) &&
-                !isset($arguments['reportUselessTests'])) {
-                $arguments['reportUselessTests'] = $phpunitConfiguration['reportUselessTests'];
-            }
-
-            if (isset($phpunitConfiguration['strictCoverage']) &&
-                !isset($arguments['strictCoverage'])) {
-                $arguments['strictCoverage'] = $phpunitConfiguration['strictCoverage'];
-            }
-
-            if (isset($phpunitConfiguration['disallowTestOutput']) &&
-                !isset($arguments['disallowTestOutput'])) {
-                $arguments['disallowTestOutput'] = $phpunitConfiguration['disallowTestOutput'];
-            }
-
-            if (isset($phpunitConfiguration['enforceTimeLimit']) &&
-                !isset($arguments['enforceTimeLimit'])) {
-                $arguments['enforceTimeLimit'] = $phpunitConfiguration['enforceTimeLimit'];
-            }
-
-            if (isset($phpunitConfiguration['disallowTodoAnnotatedTests']) &&
-                !isset($arguments['disallowTodoAnnotatedTests'])) {
-                $arguments['disallowTodoAnnotatedTests'] = $phpunitConfiguration['disallowTodoAnnotatedTests'];
-            }
-
-            if (isset($phpunitConfiguration['beStrictAboutResourceUsageDuringSmallTests']) &&
-                !isset($arguments['beStrictAboutResourceUsageDuringSmallTests'])) {
-                $arguments['beStrictAboutResourceUsageDuringSmallTests'] = $phpunitConfiguration['beStrictAboutResourceUsageDuringSmallTests'];
-            }
-
-            if (isset($phpunitConfiguration['verbose']) &&
-                !isset($arguments['verbose'])) {
-                $arguments['verbose'] = $phpunitConfiguration['verbose'];
-            }
-
-            if (isset($phpunitConfiguration['reverseDefectList']) &&
-                !isset($arguments['reverseList'])) {
-                $arguments['reverseList'] = $phpunitConfiguration['reverseDefectList'];
-            }
-
-            if (isset($phpunitConfiguration['forceCoversAnnotation']) &&
-                !isset($arguments['forceCoversAnnotation'])) {
-                $arguments['forceCoversAnnotation'] = $phpunitConfiguration['forceCoversAnnotation'];
-            }
-
-            if (isset($phpunitConfiguration['disableCodeCoverageIgnore']) &&
-                !isset($arguments['disableCodeCoverageIgnore'])) {
-                $arguments['disableCodeCoverageIgnore'] = $phpunitConfiguration['disableCodeCoverageIgnore'];
-            }
-
-            if (isset($phpunitConfiguration['registerMockObjectsFromTestArgumentsRecursively']) &&
-                !isset($arguments['registerMockObjectsFromTestArgumentsRecursively'])) {
-                $arguments['registerMockObjectsFromTestArgumentsRecursively'] = $phpunitConfiguration['registerMockObjectsFromTestArgumentsRecursively'];
-            }
-
-            $groupCliArgs = [];
-
-            if (!empty($arguments['groups'])) {
-                $groupCliArgs = $arguments['groups'];
-            }
-
-            $groupConfiguration = $arguments['configuration']->getGroupConfiguration();
-
-            if (!empty($groupConfiguration['include']) &&
-                !isset($arguments['groups'])) {
-                $arguments['groups'] = $groupConfiguration['include'];
-            }
-
-            if (!empty($groupConfiguration['exclude']) &&
-                !isset($arguments['excludeGroups'])) {
-                $arguments['excludeGroups'] = array_diff($groupConfiguration['exclude'], $groupCliArgs);
-            }
-
-            foreach ($arguments['configuration']->getListenerConfiguration() as $listener) {
-                if (!class_exists($listener['class'], false) &&
-                    $listener['file'] !== '') {
-                    require_once $listener['file'];
-                }
-
-                if (class_exists($listener['class'])) {
-                    if (count($listener['arguments']) == 0) {
-                        $listener = new $listener['class'];
-                    } else {
-                        $listenerClass = new ReflectionClass(
-                            $listener['class']
-                        );
-                        $listener      = $listenerClass->newInstanceArgs(
-                            $listener['arguments']
-                        );
-                    }
-
-                    if ($listener instanceof PHPUnit_Framework_TestListener) {
-                        $arguments['listeners'][] = $listener;
-                    }
-                }
-            }
-
-            $loggingConfiguration = $arguments['configuration']->getLoggingConfiguration();
-
-            if (isset($loggingConfiguration['coverage-clover']) &&
-                !isset($arguments['coverageClover'])) {
-                $arguments['coverageClover'] = $loggingConfiguration['coverage-clover'];
-            }
-
-            if (isset($loggingConfiguration['coverage-crap4j']) &&
-                !isset($arguments['coverageCrap4J'])) {
-                $arguments['coverageCrap4J'] = $loggingConfiguration['coverage-crap4j'];
-
-                if (isset($loggingConfiguration['crap4jThreshold']) &&
-                    !isset($arguments['crap4jThreshold'])) {
-                    $arguments['crap4jThreshold'] = $loggingConfiguration['crap4jThreshold'];
-                }
-            }
-
-            if (isset($loggingConfiguration['coverage-html']) &&
-                !isset($arguments['coverageHtml'])) {
-                if (isset($loggingConfiguration['lowUpperBound']) &&
-                    !isset($arguments['reportLowUpperBound'])) {
-                    $arguments['reportLowUpperBound'] = $loggingConfiguration['lowUpperBound'];
-                }
-
-                if (isset($loggingConfiguration['highLowerBound']) &&
-                    !isset($arguments['reportHighLowerBound'])) {
-                    $arguments['reportHighLowerBound'] = $loggingConfiguration['highLowerBound'];
-                }
-
-                $arguments['coverageHtml'] = $loggingConfiguration['coverage-html'];
-            }
-
-            if (isset($loggingConfiguration['coverage-php']) &&
-                !isset($arguments['coveragePHP'])) {
-                $arguments['coveragePHP'] = $loggingConfiguration['coverage-php'];
-            }
-
-            if (isset($loggingConfiguration['coverage-text']) &&
-                !isset($arguments['coverageText'])) {
-                $arguments['coverageText'] = $loggingConfiguration['coverage-text'];
-                if (isset($loggingConfiguration['coverageTextShowUncoveredFiles'])) {
-                    $arguments['coverageTextShowUncoveredFiles'] = $loggingConfiguration['coverageTextShowUncoveredFiles'];
-                } else {
-                    $arguments['coverageTextShowUncoveredFiles'] = false;
-                }
-                if (isset($loggingConfiguration['coverageTextShowOnlySummary'])) {
-                    $arguments['coverageTextShowOnlySummary'] = $loggingConfiguration['coverageTextShowOnlySummary'];
-                } else {
-                    $arguments['coverageTextShowOnlySummary'] = false;
-                }
-            }
-
-            if (isset($loggingConfiguration['coverage-xml']) &&
-                !isset($arguments['coverageXml'])) {
-                $arguments['coverageXml'] = $loggingConfiguration['coverage-xml'];
-            }
-
-            if (isset($loggingConfiguration['json']) &&
-                !isset($arguments['jsonLogfile'])) {
-                $arguments['jsonLogfile'] = $loggingConfiguration['json'];
-            }
-
-            if (isset($loggingConfiguration['plain'])) {
-                $arguments['listeners'][] = new PHPUnit_TextUI_ResultPrinter(
-                    $loggingConfiguration['plain'],
-                    true
-                );
-            }
-
-            if (isset($loggingConfiguration['tap']) &&
-                !isset($arguments['tapLogfile'])) {
-                $arguments['tapLogfile'] = $loggingConfiguration['tap'];
-            }
-
-            if (isset($loggingConfiguration['teamcity']) &&
-                !isset($arguments['teamcityLogfile'])) {
-                $arguments['teamcityLogfile'] = $loggingConfiguration['teamcity'];
-            }
-
-            if (isset($loggingConfiguration['junit']) &&
-                !isset($arguments['junitLogfile'])) {
-                $arguments['junitLogfile'] = $loggingConfiguration['junit'];
-            }
-
-            if (isset($loggingConfiguration['testdox-html']) &&
-                !isset($arguments['testdoxHTMLFile'])) {
-                $arguments['testdoxHTMLFile'] = $loggingConfiguration['testdox-html'];
-            }
-
-            if (isset($loggingConfiguration['testdox-text']) &&
-                !isset($arguments['testdoxTextFile'])) {
-                $arguments['testdoxTextFile'] = $loggingConfiguration['testdox-text'];
-            }
-
-            if (isset($loggingConfiguration['testdox-xml']) &&
-                !isset($arguments['testdoxXMLFile'])) {
-                $arguments['testdoxXMLFile'] = $loggingConfiguration['testdox-xml'];
-            }
-
-            if ((isset($arguments['coverageClover']) ||
-                isset($arguments['coverageCrap4J']) ||
-                isset($arguments['coverageHtml']) ||
-                isset($arguments['coveragePHP']) ||
-                isset($arguments['coverageText']) ||
-                isset($arguments['coverageXml'])) &&
-                $this->runtime->canCollectCodeCoverage()) {
-                $filterConfiguration                             = $arguments['configuration']->getFilterConfiguration();
-                $arguments['addUncoveredFilesFromWhitelist']     = $filterConfiguration['whitelist']['addUncoveredFilesFromWhitelist'];
-                $arguments['processUncoveredFilesFromWhitelist'] = $filterConfiguration['whitelist']['processUncoveredFilesFromWhitelist'];
-
-                foreach ($filterConfiguration['whitelist']['include']['directory'] as $dir) {
-                    $this->codeCoverageFilter->addDirectoryToWhitelist(
-                        $dir['path'],
-                        $dir['suffix'],
-                        $dir['prefix']
-                    );
-                }
-
-                foreach ($filterConfiguration['whitelist']['include']['file'] as $file) {
-                    $this->codeCoverageFilter->addFileToWhitelist($file);
-                }
-
-                foreach ($filterConfiguration['whitelist']['exclude']['directory'] as $dir) {
-                    $this->codeCoverageFilter->removeDirectoryFromWhitelist(
-                        $dir['path'],
-                        $dir['suffix'],
-                        $dir['prefix']
-                    );
-                }
-
-                foreach ($filterConfiguration['whitelist']['exclude']['file'] as $file) {
-                    $this->codeCoverageFilter->removeFileFromWhitelist($file);
-                }
-            }
-        }
-
-        $arguments['addUncoveredFilesFromWhitelist']                  = isset($arguments['addUncoveredFilesFromWhitelist'])                  ? $arguments['addUncoveredFilesFromWhitelist']                  : true;
-        $arguments['processUncoveredFilesFromWhitelist']              = isset($arguments['processUncoveredFilesFromWhitelist'])              ? $arguments['processUncoveredFilesFromWhitelist']              : false;
-        $arguments['backupGlobals']                                   = isset($arguments['backupGlobals'])                                   ? $arguments['backupGlobals']                                   : null;
-        $arguments['backupStaticAttributes']                          = isset($arguments['backupStaticAttributes'])                          ? $arguments['backupStaticAttributes']                          : null;
-        $arguments['beStrictAboutChangesToGlobalState']               = isset($arguments['beStrictAboutChangesToGlobalState'])               ? $arguments['beStrictAboutChangesToGlobalState']               : null;
-        $arguments['cacheTokens']                                     = isset($arguments['cacheTokens'])                                     ? $arguments['cacheTokens']                                     : false;
-        $arguments['columns']                                         = isset($arguments['columns'])                                         ? $arguments['columns']                                         : 80;
-        $arguments['colors']                                          = isset($arguments['colors'])                                          ? $arguments['colors']                                          : PHPUnit_TextUI_ResultPrinter::COLOR_DEFAULT;
-        $arguments['convertErrorsToExceptions']                       = isset($arguments['convertErrorsToExceptions'])                       ? $arguments['convertErrorsToExceptions']                       : true;
-        $arguments['convertNoticesToExceptions']                      = isset($arguments['convertNoticesToExceptions'])                      ? $arguments['convertNoticesToExceptions']                      : true;
-        $arguments['convertWarningsToExceptions']                     = isset($arguments['convertWarningsToExceptions'])                     ? $arguments['convertWarningsToExceptions']                     : true;
-        $arguments['excludeGroups']                                   = isset($arguments['excludeGroups'])                                   ? $arguments['excludeGroups']                                   : [];
-        $arguments['groups']                                          = isset($arguments['groups'])                                          ? $arguments['groups']                                          : [];
-        $arguments['processIsolation']                                = isset($arguments['processIsolation'])                                ? $arguments['processIsolation']                                : false;
-        $arguments['repeat']                                          = isset($arguments['repeat'])                                          ? $arguments['repeat']                                          : false;
-        $arguments['reportHighLowerBound']                            = isset($arguments['reportHighLowerBound'])                            ? $arguments['reportHighLowerBound']                            : 90;
-        $arguments['reportLowUpperBound']                             = isset($arguments['reportLowUpperBound'])                             ? $arguments['reportLowUpperBound']                             : 50;
-        $arguments['crap4jThreshold']                                 = isset($arguments['crap4jThreshold'])                                 ? $arguments['crap4jThreshold']                                 : 30;
-        $arguments['stopOnError']                                     = isset($arguments['stopOnError'])                                     ? $arguments['stopOnError']                                     : false;
-        $arguments['stopOnFailure']                                   = isset($arguments['stopOnFailure'])                                   ? $arguments['stopOnFailure']                                   : false;
-        $arguments['stopOnWarning']                                   = isset($arguments['stopOnWarning'])                                   ? $arguments['stopOnWarning']                                   : false;
-        $arguments['stopOnIncomplete']                                = isset($arguments['stopOnIncomplete'])                                ? $arguments['stopOnIncomplete']                                : false;
-        $arguments['stopOnRisky']                                     = isset($arguments['stopOnRisky'])                                     ? $arguments['stopOnRisky']                                     : false;
-        $arguments['stopOnSkipped']                                   = isset($arguments['stopOnSkipped'])                                   ? $arguments['stopOnSkipped']                                   : false;
-        $arguments['failOnWarning']                                   = isset($arguments['failOnWarning'])                                   ? $arguments['failOnWarning']                                   : false;
-        $arguments['failOnRisky']                                     = isset($arguments['failOnRisky'])                                     ? $arguments['failOnRisky']                                     : false;
-        $arguments['timeoutForSmallTests']                            = isset($arguments['timeoutForSmallTests'])                            ? $arguments['timeoutForSmallTests']                            : 1;
-        $arguments['timeoutForMediumTests']                           = isset($arguments['timeoutForMediumTests'])                           ? $arguments['timeoutForMediumTests']                           : 10;
-        $arguments['timeoutForLargeTests']                            = isset($arguments['timeoutForLargeTests'])                            ? $arguments['timeoutForLargeTests']                            : 60;
-        $arguments['reportUselessTests']                              = isset($arguments['reportUselessTests'])                              ? $arguments['reportUselessTests']                              : false;
-        $arguments['strictCoverage']                                  = isset($arguments['strictCoverage'])                                  ? $arguments['strictCoverage']                                  : false;
-        $arguments['disallowTestOutput']                              = isset($arguments['disallowTestOutput'])                              ? $arguments['disallowTestOutput']                              : false;
-        $arguments['enforceTimeLimit']                                = isset($arguments['enforceTimeLimit'])                                ? $arguments['enforceTimeLimit']                                : false;
-        $arguments['disallowTodoAnnotatedTests']                      = isset($arguments['disallowTodoAnnotatedTests'])                      ? $arguments['disallowTodoAnnotatedTests']                      : false;
-        $arguments['beStrictAboutResourceUsageDuringSmallTests']      = isset($arguments['beStrictAboutResourceUsageDuringSmallTests'])      ? $arguments['beStrictAboutResourceUsageDuringSmallTests']      : false;
-        $arguments['reverseList']                                     = isset($arguments['reverseList'])                                     ? $arguments['reverseList']                                     : false;
-        $arguments['registerMockObjectsFromTestArgumentsRecursively'] = isset($arguments['registerMockObjectsFromTestArgumentsRecursively']) ? $arguments['registerMockObjectsFromTestArgumentsRecursively'] : false;
-        $arguments['verbose']                                         = isset($arguments['verbose'])                                         ? $arguments['verbose']                                         : false;
-        $arguments['testdoxExcludeGroups']                            = isset($arguments['testdoxExcludeGroups'])                            ? $arguments['testdoxExcludeGroups']                            : [];
-        $arguments['testdoxGroups']                                   = isset($arguments['testdoxGroups'])                                   ? $arguments['testdoxGroups']                                   : [];
-    }
-
-    /**
-     * @param string $type
-     * @param string $message
-     *
-     * @since Method available since Release 5.0.0
-     */
-    private function writeMessage($type, $message)
-    {
-        if (!$this->messagePrinted) {
-            $this->write("\n");
-        }
-
-        $this->write(
-            sprintf(
-                "%-15s%s\n",
-                $type . ':',
-                $message
-            )
-        );
-
-        $this->messagePrinted = true;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for blacklisting PHPUnit's own source code files.
- *
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Util_Blacklist
-{
-    /**
-     * @var array
-     */
-    public static $blacklistedClassNames = [
-        'File_Iterator'                               => 1,
-        'PHP_Invoker'                                 => 1,
-        'PHP_Timer'                                   => 1,
-        'PHP_Token'                                   => 1,
-        'PHPUnit_Framework_TestCase'                  => 2,
-        'PHPUnit_Extensions_Database_TestCase'        => 2,
-        'PHPUnit_Framework_MockObject_Generator'      => 2,
-        'Text_Template'                               => 1,
-        'Symfony\Component\Yaml\Yaml'                 => 1,
-        'SebastianBergmann\CodeCoverage\CodeCoverage' => 1,
-        'SebastianBergmann\Diff\Diff'                 => 1,
-        'SebastianBergmann\Environment\Runtime'       => 1,
-        'SebastianBergmann\Comparator\Comparator'     => 1,
-        'SebastianBergmann\Exporter\Exporter'         => 1,
-        'SebastianBergmann\GlobalState\Snapshot'      => 1,
-        'SebastianBergmann\RecursionContext\Context'  => 1,
-        'SebastianBergmann\Version'                   => 1,
-        'Composer\Autoload\ClassLoader'               => 1,
-        'Doctrine\Instantiator\Instantiator'          => 1,
-        'phpDocumentor\Reflection\DocBlock'           => 1,
-        'Prophecy\Prophet'                            => 1,
-        'DeepCopy\DeepCopy'                           => 1
-    ];
-
-    /**
-     * @var array
-     */
-    private static $directories;
-
-    /**
-     * @return array
-     *
-     * @since Method available since Release 4.1.0
-     */
-    public function getBlacklistedDirectories()
-    {
-        $this->initialize();
-
-        return self::$directories;
-    }
-
-    /**
-     * @param string $file
-     *
-     * @return bool
-     */
-    public function isBlacklisted($file)
-    {
-        if (defined('PHPUNIT_TESTSUITE')) {
-            return false;
-        }
-
-        $this->initialize();
-
-        foreach (self::$directories as $directory) {
-            if (strpos($file, $directory) === 0) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private function initialize()
-    {
-        if (self::$directories === null) {
-            self::$directories = [];
-
-            foreach (self::$blacklistedClassNames as $className => $parent) {
-                if (!class_exists($className)) {
-                    continue;
-                }
-
-                $reflector = new ReflectionClass($className);
-                $directory = $reflector->getFileName();
-
-                for ($i = 0; $i < $parent; $i++) {
-                    $directory = dirname($directory);
-                }
-
-                self::$directories[] = $directory;
-            }
-
-            // Hide process isolation workaround on Windows.
-            // @see PHPUnit_Util_PHP::factory()
-            // @see PHPUnit_Util_PHP_Windows::process()
-            if (DIRECTORY_SEPARATOR === '\\') {
-                // tempnam() prefix is limited to first 3 chars.
-                // @see http://php.net/manual/en/function.tempnam.php
-                self::$directories[] = sys_get_temp_dir() . '\\PHP';
-            }
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for the PHPUnit XML configuration file.
- *
- * Example XML configuration file:
- * <code>
- * <?xml version="1.0" encoding="utf-8" ?>
- *
- * <phpunit backupGlobals="true"
- *          backupStaticAttributes="false"
- *          bootstrap="/path/to/bootstrap.php"
- *          cacheTokens="false"
- *          columns="80"
- *          colors="false"
- *          stderr="false"
- *          convertErrorsToExceptions="true"
- *          convertNoticesToExceptions="true"
- *          convertWarningsToExceptions="true"
- *          forceCoversAnnotation="false"
- *          printerClass="PHPUnit_TextUI_ResultPrinter"
- *          processIsolation="false"
- *          stopOnError="false"
- *          stopOnFailure="false"
- *          stopOnWarning="false"
- *          stopOnIncomplete="false"
- *          stopOnRisky="false"
- *          stopOnSkipped="false"
- *          failOnWarning="false"
- *          failOnRisky="false"
- *          testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
- *          beStrictAboutChangesToGlobalState="false"
- *          beStrictAboutCoversAnnotation="false"
- *          beStrictAboutOutputDuringTests="false"
- *          beStrictAboutResourceUsageDuringSmallTests="false"
- *          beStrictAboutTestsThatDoNotTestAnything="false"
- *          beStrictAboutTodoAnnotatedTests="false"
- *          checkForUnintentionallyCoveredCode="false"
- *          enforceTimeLimit="false"
- *          timeoutForSmallTests="1"
- *          timeoutForMediumTests="10"
- *          timeoutForLargeTests="60"
- *          verbose="false"
- *          reverseDefectList="false"
- *          registerMockObjectsFromTestArgumentsRecursively="false">
- *   <testsuites>
- *     <testsuite name="My Test Suite">
- *       <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files</directory>
- *       <file phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php</file>
- *       <exclude>/path/to/files/exclude</exclude>
- *     </testsuite>
- *   </testsuites>
- *
- *   <groups>
- *     <include>
- *       <group>name</group>
- *     </include>
- *     <exclude>
- *       <group>name</group>
- *     </exclude>
- *   </groups>
- *
- *   <testdoxGroups>
- *     <include>
- *       <group>name</group>
- *     </include>
- *     <exclude>
- *       <group>name</group>
- *     </exclude>
- *   </testdoxGroups>
- *
- *   <filter>
- *     <whitelist addUncoveredFilesFromWhitelist="true"
- *                processUncoveredFilesFromWhitelist="false">
- *       <directory suffix=".php">/path/to/files</directory>
- *       <file>/path/to/file</file>
- *       <exclude>
- *         <directory suffix=".php">/path/to/files</directory>
- *         <file>/path/to/file</file>
- *       </exclude>
- *     </whitelist>
- *   </filter>
- *
- *   <listeners>
- *     <listener class="MyListener" file="/optional/path/to/MyListener.php">
- *       <arguments>
- *         <array>
- *           <element key="0">
- *             <string>Sebastian</string>
- *           </element>
- *         </array>
- *         <integer>22</integer>
- *         <string>April</string>
- *         <double>19.78</double>
- *         <null/>
- *         <object class="stdClass"/>
- *         <file>MyRelativeFile.php</file>
- *         <directory>MyRelativeDir</directory>
- *       </arguments>
- *     </listener>
- *   </listeners>
- *
- *   <logging>
- *     <log type="coverage-html" target="/tmp/report" lowUpperBound="50" highLowerBound="90"/>
- *     <log type="coverage-clover" target="/tmp/clover.xml"/>
- *     <log type="coverage-crap4j" target="/tmp/crap.xml" threshold="30"/>
- *     <log type="json" target="/tmp/logfile.json"/>
- *     <log type="plain" target="/tmp/logfile.txt"/>
- *     <log type="tap" target="/tmp/logfile.tap"/>
- *     <log type="teamcity" target="/tmp/logfile.txt"/>
- *     <log type="junit" target="/tmp/logfile.xml"/>
- *     <log type="testdox-html" target="/tmp/testdox.html"/>
- *     <log type="testdox-text" target="/tmp/testdox.txt"/>
- *     <log type="testdox-xml" target="/tmp/testdox.xml"/>
- *   </logging>
- *
- *   <php>
- *     <includePath>.</includePath>
- *     <ini name="foo" value="bar"/>
- *     <const name="foo" value="bar"/>
- *     <var name="foo" value="bar"/>
- *     <env name="foo" value="bar"/>
- *     <post name="foo" value="bar"/>
- *     <get name="foo" value="bar"/>
- *     <cookie name="foo" value="bar"/>
- *     <server name="foo" value="bar"/>
- *     <files name="foo" value="bar"/>
- *     <request name="foo" value="bar"/>
- *   </php>
- * </phpunit>
- * </code>
- *
- * @since Class available since Release 3.2.0
- */
-class PHPUnit_Util_Configuration
-{
-    private static $instances = [];
-
-    protected $document;
-    protected $xpath;
-    protected $filename;
-
-    /**
-     * Loads a PHPUnit configuration file.
-     *
-     * @param string $filename
-     */
-    protected function __construct($filename)
-    {
-        $this->filename = $filename;
-        $this->document = PHPUnit_Util_XML::loadFile($filename, false, true, true);
-        $this->xpath    = new DOMXPath($this->document);
-    }
-
-    /**
-     * @since Method available since Release 3.4.0
-     */
-    final private function __clone()
-    {
-    }
-
-    /**
-     * Returns a PHPUnit configuration object.
-     *
-     * @param string $filename
-     *
-     * @return PHPUnit_Util_Configuration
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getInstance($filename)
-    {
-        $realpath = realpath($filename);
-
-        if ($realpath === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        if (!isset(self::$instances[$realpath])) {
-            self::$instances[$realpath] = new self($realpath);
-        }
-
-        return self::$instances[$realpath];
-    }
-
-    /**
-     * Returns the realpath to the configuration file.
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Returns the configuration for SUT filtering.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.1
-     */
-    public function getFilterConfiguration()
-    {
-        $addUncoveredFilesFromWhitelist     = true;
-        $processUncoveredFilesFromWhitelist = false;
-
-        $tmp = $this->xpath->query('filter/whitelist');
-
-        if ($tmp->length == 1) {
-            if ($tmp->item(0)->hasAttribute('addUncoveredFilesFromWhitelist')) {
-                $addUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'addUncoveredFilesFromWhitelist'
-                    ),
-                    true
-                );
-            }
-
-            if ($tmp->item(0)->hasAttribute('processUncoveredFilesFromWhitelist')) {
-                $processUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'processUncoveredFilesFromWhitelist'
-                    ),
-                    false
-                );
-            }
-        }
-
-        return [
-          'whitelist' => [
-            'addUncoveredFilesFromWhitelist'     => $addUncoveredFilesFromWhitelist,
-            'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist,
-            'include'                            => [
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/file'
-              )
-            ],
-            'exclude' => [
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/exclude/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/exclude/file'
-              )
-            ]
-          ]
-        ];
-    }
-
-    /**
-     * Returns the configuration for groups.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.1
-     */
-    public function getGroupConfiguration()
-    {
-        return $this->parseGroupConfiguration('groups');
-    }
-
-    /**
-     * Returns the configuration for testdox groups.
-     *
-     * @return array
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public function getTestdoxGroupConfiguration()
-    {
-        return $this->parseGroupConfiguration('testdoxGroups');
-    }
-
-    /**
-     * @param string $root
-     *
-     * @return array
-     */
-    private function parseGroupConfiguration($root)
-    {
-        $groups = [
-            'include' => [],
-            'exclude' => []
-        ];
-
-        foreach ($this->xpath->query($root . '/include/group') as $group) {
-            $groups['include'][] = (string) $group->textContent;
-        }
-
-        foreach ($this->xpath->query($root . '/exclude/group') as $group) {
-            $groups['exclude'][] = (string) $group->textContent;
-        }
-
-        return $groups;
-    }
-
-    /**
-     * Returns the configuration for listeners.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public function getListenerConfiguration()
-    {
-        $result = [];
-
-        foreach ($this->xpath->query('listeners/listener') as $listener) {
-            $class     = (string) $listener->getAttribute('class');
-            $file      = '';
-            $arguments = [];
-
-            if ($listener->getAttribute('file')) {
-                $file = $this->toAbsolutePath(
-                    (string) $listener->getAttribute('file'),
-                    true
-                );
-            }
-
-            foreach ($listener->childNodes as $node) {
-                if ($node instanceof DOMElement && $node->tagName == 'arguments') {
-                    foreach ($node->childNodes as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            if ($argument->tagName == 'file' ||
-                            $argument->tagName == 'directory') {
-                                $arguments[] = $this->toAbsolutePath((string) $argument->textContent);
-                            } else {
-                                $arguments[] = PHPUnit_Util_XML::xmlToVariable($argument);
-                            }
-                        }
-                    }
-                }
-            }
-
-            $result[] = [
-              'class'     => $class,
-              'file'      => $file,
-              'arguments' => $arguments
-            ];
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the logging configuration.
-     *
-     * @return array
-     */
-    public function getLoggingConfiguration()
-    {
-        $result = [];
-
-        foreach ($this->xpath->query('logging/log') as $log) {
-            $type   = (string) $log->getAttribute('type');
-            $target = (string) $log->getAttribute('target');
-
-            if (!$target) {
-                continue;
-            }
-
-            $target = $this->toAbsolutePath($target);
-
-            if ($type == 'coverage-html') {
-                if ($log->hasAttribute('lowUpperBound')) {
-                    $result['lowUpperBound'] = $this->getInteger(
-                        (string) $log->getAttribute('lowUpperBound'),
-                        50
-                    );
-                }
-
-                if ($log->hasAttribute('highLowerBound')) {
-                    $result['highLowerBound'] = $this->getInteger(
-                        (string) $log->getAttribute('highLowerBound'),
-                        90
-                    );
-                }
-            } elseif ($type == 'coverage-crap4j') {
-                if ($log->hasAttribute('threshold')) {
-                    $result['crap4jThreshold'] = $this->getInteger(
-                        (string) $log->getAttribute('threshold'),
-                        30
-                    );
-                }
-            } elseif ($type == 'coverage-text') {
-                if ($log->hasAttribute('showUncoveredFiles')) {
-                    $result['coverageTextShowUncoveredFiles'] = $this->getBoolean(
-                        (string) $log->getAttribute('showUncoveredFiles'),
-                        false
-                    );
-                }
-                if ($log->hasAttribute('showOnlySummary')) {
-                    $result['coverageTextShowOnlySummary'] = $this->getBoolean(
-                        (string) $log->getAttribute('showOnlySummary'),
-                        false
-                    );
-                }
-            }
-
-            $result[$type] = $target;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the PHP configuration.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.1
-     */
-    public function getPHPConfiguration()
-    {
-        $result = [
-          'include_path' => [],
-          'ini'          => [],
-          'const'        => [],
-          'var'          => [],
-          'env'          => [],
-          'post'         => [],
-          'get'          => [],
-          'cookie'       => [],
-          'server'       => [],
-          'files'        => [],
-          'request'      => []
-        ];
-
-        foreach ($this->xpath->query('php/includePath') as $includePath) {
-            $path = (string) $includePath->textContent;
-            if ($path) {
-                $result['include_path'][] = $this->toAbsolutePath($path);
-            }
-        }
-
-        foreach ($this->xpath->query('php/ini') as $ini) {
-            $name  = (string) $ini->getAttribute('name');
-            $value = (string) $ini->getAttribute('value');
-
-            $result['ini'][$name] = $value;
-        }
-
-        foreach ($this->xpath->query('php/const') as $const) {
-            $name  = (string) $const->getAttribute('name');
-            $value = (string) $const->getAttribute('value');
-
-            $result['const'][$name] = $this->getBoolean($value, $value);
-        }
-
-        foreach (['var', 'env', 'post', 'get', 'cookie', 'server', 'files', 'request'] as $array) {
-            foreach ($this->xpath->query('php/' . $array) as $var) {
-                $name  = (string) $var->getAttribute('name');
-                $value = (string) $var->getAttribute('value');
-
-                $result[$array][$name] = $this->getBoolean($value, $value);
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * Handles the PHP configuration.
-     *
-     * @since Method available since Release 3.2.20
-     */
-    public function handlePHPConfiguration()
-    {
-        $configuration = $this->getPHPConfiguration();
-
-        if (! empty($configuration['include_path'])) {
-            ini_set(
-                'include_path',
-                implode(PATH_SEPARATOR, $configuration['include_path']) .
-                PATH_SEPARATOR .
-                ini_get('include_path')
-            );
-        }
-
-        foreach ($configuration['ini'] as $name => $value) {
-            if (defined($value)) {
-                $value = constant($value);
-            }
-
-            ini_set($name, $value);
-        }
-
-        foreach ($configuration['const'] as $name => $value) {
-            if (!defined($name)) {
-                define($name, $value);
-            }
-        }
-
-        foreach (['var', 'post', 'get', 'cookie', 'server', 'files', 'request'] as $array) {
-            // See https://github.com/sebastianbergmann/phpunit/issues/277
-            switch ($array) {
-                case 'var':
-                    $target = &$GLOBALS;
-                    break;
-
-                case 'server':
-                    $target = &$_SERVER;
-                    break;
-
-                default:
-                    $target = &$GLOBALS['_' . strtoupper($array)];
-                    break;
-            }
-
-            foreach ($configuration[$array] as $name => $value) {
-                $target[$name] = $value;
-            }
-        }
-
-        foreach ($configuration['env'] as $name => $value) {
-            if (false === getenv($name)) {
-                putenv("{$name}={$value}");
-            }
-            if (!isset($_ENV[$name])) {
-                $_ENV[$name] = $value;
-            }
-        }
-    }
-
-    /**
-     * Returns the PHPUnit configuration.
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.14
-     */
-    public function getPHPUnitConfiguration()
-    {
-        $result = [];
-        $root   = $this->document->documentElement;
-
-        if ($root->hasAttribute('cacheTokens')) {
-            $result['cacheTokens'] = $this->getBoolean(
-                (string) $root->getAttribute('cacheTokens'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('columns')) {
-            $columns = (string) $root->getAttribute('columns');
-
-            if ($columns == 'max') {
-                $result['columns'] = 'max';
-            } else {
-                $result['columns'] = $this->getInteger($columns, 80);
-            }
-        }
-
-        if ($root->hasAttribute('colors')) {
-            /* only allow boolean for compatibility with previous versions
-              'always' only allowed from command line */
-            if ($this->getBoolean($root->getAttribute('colors'), false)) {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
-            } else {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_NEVER;
-            }
-        }
-
-        /*
-         * Issue #657
-         */
-        if ($root->hasAttribute('stderr')) {
-            $result['stderr'] = $this->getBoolean(
-                (string) $root->getAttribute('stderr'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('backupGlobals')) {
-            $result['backupGlobals'] = $this->getBoolean(
-                (string) $root->getAttribute('backupGlobals'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('backupStaticAttributes')) {
-            $result['backupStaticAttributes'] = $this->getBoolean(
-                (string) $root->getAttribute('backupStaticAttributes'),
-                false
-            );
-        }
-
-        if ($root->getAttribute('bootstrap')) {
-            $result['bootstrap'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('bootstrap')
-            );
-        }
-
-        if ($root->hasAttribute('convertErrorsToExceptions')) {
-            $result['convertErrorsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertErrorsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertNoticesToExceptions')) {
-            $result['convertNoticesToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertNoticesToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertWarningsToExceptions')) {
-            $result['convertWarningsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertWarningsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('forceCoversAnnotation')) {
-            $result['forceCoversAnnotation'] = $this->getBoolean(
-                (string) $root->getAttribute('forceCoversAnnotation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('disableCodeCoverageIgnore')) {
-            $result['disableCodeCoverageIgnore'] = $this->getBoolean(
-                (string) $root->getAttribute('disableCodeCoverageIgnore'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('processIsolation')) {
-            $result['processIsolation'] = $this->getBoolean(
-                (string) $root->getAttribute('processIsolation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnError')) {
-            $result['stopOnError'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnError'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnFailure')) {
-            $result['stopOnFailure'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnFailure'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnWarning')) {
-            $result['stopOnWarning'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnWarning'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnIncomplete')) {
-            $result['stopOnIncomplete'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnIncomplete'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnRisky')) {
-            $result['stopOnRisky'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnRisky'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnSkipped')) {
-            $result['stopOnSkipped'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnSkipped'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('failOnWarning')) {
-            $result['failOnWarning'] = $this->getBoolean(
-                (string) $root->getAttribute('failOnWarning'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('failOnRisky')) {
-            $result['failOnRisky'] = $this->getBoolean(
-                (string) $root->getAttribute('failOnRisky'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('testSuiteLoaderClass')) {
-            $result['testSuiteLoaderClass'] = (string) $root->getAttribute(
-                'testSuiteLoaderClass'
-            );
-        }
-
-        if ($root->getAttribute('testSuiteLoaderFile')) {
-            $result['testSuiteLoaderFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('testSuiteLoaderFile')
-            );
-        }
-
-        if ($root->hasAttribute('printerClass')) {
-            $result['printerClass'] = (string) $root->getAttribute(
-                'printerClass'
-            );
-        }
-
-        if ($root->getAttribute('printerFile')) {
-            $result['printerFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('printerFile')
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutChangesToGlobalState')) {
-            $result['beStrictAboutChangesToGlobalState'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutChangesToGlobalState'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutOutputDuringTests')) {
-            $result['disallowTestOutput'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutOutputDuringTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutResourceUsageDuringSmallTests')) {
-            $result['beStrictAboutResourceUsageDuringSmallTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutResourceUsageDuringSmallTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTestsThatDoNotTestAnything')) {
-            $result['reportUselessTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTestsThatDoNotTestAnything'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTodoAnnotatedTests')) {
-            $result['disallowTodoAnnotatedTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTodoAnnotatedTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutCoversAnnotation')) {
-            $result['strictCoverage'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutCoversAnnotation'),
-                false
-            );
-        } elseif ($root->hasAttribute('checkForUnintentionallyCoveredCode')) {
-            $result['strictCoverage'] = $this->getBoolean(
-                (string) $root->getAttribute('checkForUnintentionallyCoveredCode'),
-                false
-            );
-
-            $result['deprecatedCheckForUnintentionallyCoveredCodeSettingUsed'] = true;
-        }
-
-        if ($root->hasAttribute('enforceTimeLimit')) {
-            $result['enforceTimeLimit'] = $this->getBoolean(
-                (string) $root->getAttribute('enforceTimeLimit'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForSmallTests')) {
-            $result['timeoutForSmallTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForSmallTests'),
-                1
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForMediumTests')) {
-            $result['timeoutForMediumTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForMediumTests'),
-                10
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForLargeTests')) {
-            $result['timeoutForLargeTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForLargeTests'),
-                60
-            );
-        }
-
-        if ($root->hasAttribute('reverseDefectList')) {
-            $result['reverseDefectList'] = $this->getBoolean(
-                (string) $root->getAttribute('reverseDefectList'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('verbose')) {
-            $result['verbose'] = $this->getBoolean(
-                (string) $root->getAttribute('verbose'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('registerMockObjectsFromTestArgumentsRecursively')) {
-            $result['registerMockObjectsFromTestArgumentsRecursively'] = $this->getBoolean(
-                (string) $root->getAttribute('registerMockObjectsFromTestArgumentsRecursively'),
-                false
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the test suite configuration.
-     *
-     * @return PHPUnit_Framework_TestSuite
-     *
-     * @since Method available since Release 3.2.1
-     */
-    public function getTestSuiteConfiguration($testSuiteFilter = null)
-    {
-        $testSuiteNodes = $this->xpath->query('testsuites/testsuite');
-
-        if ($testSuiteNodes->length == 0) {
-            $testSuiteNodes = $this->xpath->query('testsuite');
-        }
-
-        if ($testSuiteNodes->length == 1) {
-            return $this->getTestSuite($testSuiteNodes->item(0), $testSuiteFilter);
-        }
-
-        if ($testSuiteNodes->length > 1) {
-            $suite = new PHPUnit_Framework_TestSuite;
-
-            foreach ($testSuiteNodes as $testSuiteNode) {
-                $suite->addTestSuite(
-                    $this->getTestSuite($testSuiteNode, $testSuiteFilter)
-                );
-            }
-
-            return $suite;
-        }
-    }
-
-    /**
-     * @param DOMElement $testSuiteNode
-     *
-     * @return PHPUnit_Framework_TestSuite
-     *
-     * @since Method available since Release 3.4.0
-     */
-    protected function getTestSuite(DOMElement $testSuiteNode, $testSuiteFilter = null)
-    {
-        if ($testSuiteNode->hasAttribute('name')) {
-            $suite = new PHPUnit_Framework_TestSuite(
-                (string) $testSuiteNode->getAttribute('name')
-            );
-        } else {
-            $suite = new PHPUnit_Framework_TestSuite;
-        }
-
-        $exclude = [];
-
-        foreach ($testSuiteNode->getElementsByTagName('exclude') as $excludeNode) {
-            $excludeFile = (string) $excludeNode->textContent;
-            if ($excludeFile) {
-                $exclude[] = $this->toAbsolutePath($excludeFile);
-            }
-        }
-
-        $fileIteratorFacade = new File_Iterator_Facade;
-
-        foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) {
-            if ($testSuiteFilter && $directoryNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $directory = (string) $directoryNode->textContent;
-
-            if (empty($directory)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $directoryNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $directoryNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('prefix')) {
-                $prefix = (string) $directoryNode->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directoryNode->hasAttribute('suffix')) {
-                $suffix = (string) $directoryNode->getAttribute('suffix');
-            } else {
-                $suffix = 'Test.php';
-            }
-
-            $files = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($directory),
-                $suffix,
-                $prefix,
-                $exclude
-            );
-            $suite->addTestFiles($files);
-        }
-
-        foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) {
-            if ($testSuiteFilter && $fileNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $file = (string) $fileNode->textContent;
-
-            if (empty($file)) {
-                continue;
-            }
-
-            // Get the absolute path to the file
-            $file = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($file)
-            );
-
-            if (!isset($file[0])) {
-                continue;
-            }
-
-            $file = $file[0];
-
-            if ($fileNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $fileNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($fileNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $fileNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            $suite->addTestFile($file);
-        }
-
-        return $suite;
-    }
-
-    /**
-     * @param string $value
-     * @param bool   $default
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.2.3
-     */
-    protected function getBoolean($value, $default)
-    {
-        if (strtolower($value) == 'false') {
-            return false;
-        } elseif (strtolower($value) == 'true') {
-            return true;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param string $value
-     * @param bool   $default
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.6.0
-     */
-    protected function getInteger($value, $default)
-    {
-        if (is_numeric($value)) {
-            return (int) $value;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param string $query
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.3
-     */
-    protected function readFilterDirectories($query)
-    {
-        $directories = [];
-
-        foreach ($this->xpath->query($query) as $directory) {
-            $directoryPath = (string) $directory->textContent;
-
-            if (!$directoryPath) {
-                continue;
-            }
-
-            if ($directory->hasAttribute('prefix')) {
-                $prefix = (string) $directory->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directory->hasAttribute('suffix')) {
-                $suffix = (string) $directory->getAttribute('suffix');
-            } else {
-                $suffix = '.php';
-            }
-
-            if ($directory->hasAttribute('group')) {
-                $group = (string) $directory->getAttribute('group');
-            } else {
-                $group = 'DEFAULT';
-            }
-
-            $directories[] = [
-              'path'   => $this->toAbsolutePath($directoryPath),
-              'prefix' => $prefix,
-              'suffix' => $suffix,
-              'group'  => $group
-            ];
-        }
-
-        return $directories;
-    }
-
-    /**
-     * @param string $query
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.3
-     */
-    protected function readFilterFiles($query)
-    {
-        $files = [];
-
-        foreach ($this->xpath->query($query) as $file) {
-            $filePath = (string) $file->textContent;
-
-            if ($filePath) {
-                $files[] = $this->toAbsolutePath($filePath);
-            }
-        }
-
-        return $files;
-    }
-
-    /**
-     * @param string $path
-     * @param bool   $useIncludePath
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.5.0
-     */
-    protected function toAbsolutePath($path, $useIncludePath = false)
-    {
-        $path = trim($path);
-
-        if ($path[0] === '/') {
-            return $path;
-        }
-
-        // Matches the following on Windows:
-        //  - \\NetworkComputer\Path
-        //  - \\.\D:
-        //  - \\.\c:
-        //  - C:\Windows
-        //  - C:\windows
-        //  - C:/windows
-        //  - c:/windows
-        if (defined('PHP_WINDOWS_VERSION_BUILD') &&
-            ($path[0] === '\\' ||
-            (strlen($path) >= 3 && preg_match('#^[A-Z]\:[/\\\]#i', substr($path, 0, 3))))) {
-            return $path;
-        }
-
-        // Stream
-        if (strpos($path, '://') !== false) {
-            return $path;
-        }
-
-        $file = dirname($this->filename) . DIRECTORY_SEPARATOR . $path;
-
-        if ($useIncludePath && !file_exists($file)) {
-            $includePathFile = stream_resolve_include_path($path);
-
-            if ($includePathFile) {
-                $file = $includePathFile;
-            }
-        }
-
-        return $file;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 5.3.0
- */
-class PHPUnit_Util_ConfigurationGenerator
-{
-    /**
-     * @var string
-     */
-    private $defaultTemplate = <<<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/{phpunit_version}/phpunit.xsd"
-         bootstrap="{bootstrap_script}"
-         backupGlobals="false"
-         beStrictAboutCoversAnnotation="true"
-         beStrictAboutOutputDuringTests="true"
-         beStrictAboutTestsThatDoNotTestAnything="true"
-         beStrictAboutTodoAnnotatedTests="true"
-         verbose="true">
-    <testsuite>
-        <directory suffix="Test.php">{tests_directory}</directory>
-    </testsuite>
-
-    <filter>
-        <whitelist processUncoveredFilesFromWhitelist="true">
-            <directory suffix=".php">{src_directory}</directory>
-        </whitelist>
-    </filter>
-</phpunit>
-
-EOT;
-
-    /**
-     * @param string $phpunitVersion
-     * @param string $bootstrapScript
-     * @param string $testsDirectory
-     * @param string $srcDirectory
-     *
-     * @return string
-     */
-    public function generateDefaultConfiguration($phpunitVersion, $bootstrapScript, $testsDirectory, $srcDirectory)
-    {
-        return str_replace(
-            [
-                '{phpunit_version}',
-                '{bootstrap_script}',
-                '{tests_directory}',
-                '{src_directory}'
-            ],
-            [
-                $phpunitVersion,
-                $bootstrapScript,
-                $testsDirectory,
-                $srcDirectory
-            ],
-            $this->defaultTemplate
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-// Workaround for http://bugs.php.net/bug.php?id=47987,
-// see https://github.com/sebastianbergmann/phpunit/issues#issue/125 for details
-// Use dirname(__DIR__) instead of using /../ because of https://github.com/facebook/hhvm/issues/5215
-require_once dirname(__DIR__) . '/Framework/Error.php';
-require_once dirname(__DIR__) . '/Framework/Error/Notice.php';
-require_once dirname(__DIR__) . '/Framework/Error/Warning.php';
-require_once dirname(__DIR__) . '/Framework/Error/Deprecated.php';
-
-/**
- * Error handler that converts PHP errors and warnings to exceptions.
- *
- * @since Class available since Release 3.3.0
- */
-class PHPUnit_Util_ErrorHandler
-{
-    protected static $errorStack = [];
-
-    /**
-     * Returns the error stack.
-     *
-     * @return array
-     */
-    public static function getErrorStack()
-    {
-        return self::$errorStack;
-    }
-
-    /**
-     * @param int    $errno
-     * @param string $errstr
-     * @param string $errfile
-     * @param int    $errline
-     *
-     * @throws PHPUnit_Framework_Error
-     */
-    public static function handleError($errno, $errstr, $errfile, $errline)
-    {
-        if (!($errno & error_reporting())) {
-            return false;
-        }
-
-        self::$errorStack[] = [$errno, $errstr, $errfile, $errline];
-
-        $trace = debug_backtrace(false);
-        array_shift($trace);
-
-        foreach ($trace as $frame) {
-            if ($frame['function'] == '__toString') {
-                return false;
-            }
-        }
-
-        if ($errno == E_NOTICE || $errno == E_USER_NOTICE || $errno == E_STRICT) {
-            if (PHPUnit_Framework_Error_Notice::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Notice';
-        } elseif ($errno == E_WARNING || $errno == E_USER_WARNING) {
-            if (PHPUnit_Framework_Error_Warning::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Warning';
-        } elseif ($errno == E_DEPRECATED || $errno == E_USER_DEPRECATED) {
-            if (PHPUnit_Framework_Error_Deprecated::$enabled !== true) {
-                return false;
-            }
-
-            $exception = 'PHPUnit_Framework_Error_Deprecated';
-        } else {
-            $exception = 'PHPUnit_Framework_Error';
-        }
-
-        throw new $exception($errstr, $errno, $errfile, $errline);
-    }
-
-    /**
-     * Registers an error handler and returns a function that will restore
-     * the previous handler when invoked
-     *
-     * @param int $severity PHP predefined error constant
-     *
-     * @throws Exception if event of specified severity is emitted
-     */
-    public static function handleErrorOnce($severity = E_WARNING)
-    {
-        $terminator = function () {
-            static $expired = false;
-            if (!$expired) {
-                $expired = true;
-                // cleans temporary error handler
-                return restore_error_handler();
-            }
-        };
-
-        set_error_handler(function ($errno, $errstr) use ($severity) {
-            if ($errno === $severity) {
-                return;
-            }
-
-            return false;
-        });
-
-        return $terminator;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility methods to load PHP sourcefiles.
- *
- * @since Class available since Release 2.3.0
- */
-class PHPUnit_Util_Fileloader
-{
-    /**
-     * Checks if a PHP sourcefile is readable.
-     * The sourcefile is loaded through the load() method.
-     *
-     * @param string $filename
-     *
-     * @return string
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function checkAndLoad($filename)
-    {
-        $includePathFilename = stream_resolve_include_path($filename);
-
-        if (!$includePathFilename || !is_readable($includePathFilename)) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf('Cannot open file "%s".' . "\n", $filename)
-            );
-        }
-
-        self::load($includePathFilename);
-
-        return $includePathFilename;
-    }
-
-    /**
-     * Loads a PHP sourcefile.
-     *
-     * @param string $filename
-     *
-     * @return mixed
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public static function load($filename)
-    {
-        $oldVariableNames = array_keys(get_defined_vars());
-
-        include_once $filename;
-
-        $newVariables     = get_defined_vars();
-        $newVariableNames = array_diff(
-            array_keys($newVariables),
-            $oldVariableNames
-        );
-
-        foreach ($newVariableNames as $variableName) {
-            if ($variableName != 'oldVariableNames') {
-                $GLOBALS[$variableName] = $newVariables[$variableName];
-            }
-        }
-
-        return $filename;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filesystem helpers.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Filesystem
-{
-    /**
-     * @var array
-     */
-    protected static $buffer = [];
-
-    /**
-     * Maps class names to source file names:
-     *   - PEAR CS:   Foo_Bar_Baz -> Foo/Bar/Baz.php
-     *   - Namespace: Foo\Bar\Baz -> Foo/Bar/Baz.php
-     *
-     * @param string $className
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function classNameToFilename($className)
-    {
-        return str_replace(
-            ['_', '\\'],
-            DIRECTORY_SEPARATOR,
-            $className
-        ) . '.php';
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for code filtering.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Util_Filter
-{
-    /**
-     * Filters stack frames from PHPUnit classes.
-     *
-     * @param Exception $e
-     * @param bool      $asString
-     *
-     * @return string
-     */
-    public static function getFilteredStacktrace($e, $asString = true)
-    {
-        $prefix = false;
-        $script = realpath($GLOBALS['_SERVER']['SCRIPT_NAME']);
-
-        if (defined('__PHPUNIT_PHAR_ROOT__')) {
-            $prefix = __PHPUNIT_PHAR_ROOT__;
-        }
-
-        if ($asString === true) {
-            $filteredStacktrace = '';
-        } else {
-            $filteredStacktrace = [];
-        }
-
-        if ($e instanceof PHPUnit_Framework_SyntheticError) {
-            $eTrace = $e->getSyntheticTrace();
-            $eFile  = $e->getSyntheticFile();
-            $eLine  = $e->getSyntheticLine();
-        } elseif ($e instanceof PHPUnit_Framework_Exception) {
-            $eTrace = $e->getSerializableTrace();
-            $eFile  = $e->getFile();
-            $eLine  = $e->getLine();
-        } else {
-            if ($e->getPrevious()) {
-                $e = $e->getPrevious();
-            }
-            $eTrace = $e->getTrace();
-            $eFile  = $e->getFile();
-            $eLine  = $e->getLine();
-        }
-
-        if (!self::frameExists($eTrace, $eFile, $eLine)) {
-            array_unshift(
-                $eTrace,
-                ['file' => $eFile, 'line' => $eLine]
-            );
-        }
-
-        $blacklist = new PHPUnit_Util_Blacklist;
-
-        foreach ($eTrace as $frame) {
-            if (isset($frame['file']) && is_file($frame['file']) &&
-                !$blacklist->isBlacklisted($frame['file']) &&
-                ($prefix === false || strpos($frame['file'], $prefix) !== 0) &&
-                $frame['file'] !== $script) {
-                if ($asString === true) {
-                    $filteredStacktrace .= sprintf(
-                        "%s:%s\n",
-                        $frame['file'],
-                        isset($frame['line']) ? $frame['line'] : '?'
-                    );
-                } else {
-                    $filteredStacktrace[] = $frame;
-                }
-            }
-        }
-
-        return $filteredStacktrace;
-    }
-
-    /**
-     * @param array  $trace
-     * @param string $file
-     * @param int    $line
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.3.2
-     */
-    private static function frameExists(array $trace, $file, $line)
-    {
-        foreach ($trace as $frame) {
-            if (isset($frame['file']) && $frame['file'] == $file &&
-                isset($frame['line']) && $frame['line'] == $line) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Command-line options parsing class.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Getopt
-{
-    public static function getopt(array $args, $short_options, $long_options = null)
-    {
-        if (empty($args)) {
-            return [[], []];
-        }
-
-        $opts     = [];
-        $non_opts = [];
-
-        if ($long_options) {
-            sort($long_options);
-        }
-
-        if (isset($args[0][0]) && $args[0][0] != '-') {
-            array_shift($args);
-        }
-
-        reset($args);
-        array_map('trim', $args);
-
-        while (list($i, $arg) = each($args)) {
-            if ($arg == '') {
-                continue;
-            }
-
-            if ($arg == '--') {
-                $non_opts = array_merge($non_opts, array_slice($args, $i + 1));
-                break;
-            }
-
-            if ($arg[0] != '-' ||
-                (strlen($arg) > 1 && $arg[1] == '-' && !$long_options)) {
-                $non_opts[] = $args[$i];
-                continue;
-            } elseif (strlen($arg) > 1 && $arg[1] == '-') {
-                self::parseLongOption(
-                    substr($arg, 2),
-                    $long_options,
-                    $opts,
-                    $args
-                );
-            } else {
-                self::parseShortOption(
-                    substr($arg, 1),
-                    $short_options,
-                    $opts,
-                    $args
-                );
-            }
-        }
-
-        return [$opts, $non_opts];
-    }
-
-    protected static function parseShortOption($arg, $short_options, &$opts, &$args)
-    {
-        $argLen = strlen($arg);
-
-        for ($i = 0; $i < $argLen; $i++) {
-            $opt     = $arg[$i];
-            $opt_arg = null;
-
-            if (($spec = strstr($short_options, $opt)) === false ||
-                $arg[$i] == ':') {
-                throw new PHPUnit_Framework_Exception(
-                    "unrecognized option -- $opt"
-                );
-            }
-
-            if (strlen($spec) > 1 && $spec[1] == ':') {
-                if (strlen($spec) > 2 && $spec[2] == ':') {
-                    if ($i + 1 < $argLen) {
-                        $opts[] = [$opt, substr($arg, $i + 1)];
-                        break;
-                    }
-                } else {
-                    if ($i + 1 < $argLen) {
-                        $opts[] = [$opt, substr($arg, $i + 1)];
-                        break;
-                    } elseif (list(, $opt_arg) = each($args)) {
-                    } else {
-                        throw new PHPUnit_Framework_Exception(
-                            "option requires an argument -- $opt"
-                        );
-                    }
-                }
-            }
-
-            $opts[] = [$opt, $opt_arg];
-        }
-    }
-
-    protected static function parseLongOption($arg, $long_options, &$opts, &$args)
-    {
-        $count   = count($long_options);
-        $list    = explode('=', $arg);
-        $opt     = $list[0];
-        $opt_arg = null;
-
-        if (count($list) > 1) {
-            $opt_arg = $list[1];
-        }
-
-        $opt_len = strlen($opt);
-
-        for ($i = 0; $i < $count; $i++) {
-            $long_opt  = $long_options[$i];
-            $opt_start = substr($long_opt, 0, $opt_len);
-
-            if ($opt_start != $opt) {
-                continue;
-            }
-
-            $opt_rest = substr($long_opt, $opt_len);
-
-            if ($opt_rest != '' && $opt[0] != '=' && $i + 1 < $count &&
-                $opt == substr($long_options[$i+1], 0, $opt_len)) {
-                throw new PHPUnit_Framework_Exception(
-                    "option --$opt is ambiguous"
-                );
-            }
-
-            if (substr($long_opt, -1) == '=') {
-                if (substr($long_opt, -2) != '==') {
-                    if (!strlen($opt_arg) &&
-                        !(list(, $opt_arg) = each($args))) {
-                        throw new PHPUnit_Framework_Exception(
-                            "option --$opt requires an argument"
-                        );
-                    }
-                }
-            } elseif ($opt_arg) {
-                throw new PHPUnit_Framework_Exception(
-                    "option --$opt doesn't allow an argument"
-                );
-            }
-
-            $full_option = '--' . preg_replace('/={1,2}$/', '', $long_opt);
-            $opts[]      = [$full_option, $opt_arg];
-
-            return;
-        }
-
-        throw new PHPUnit_Framework_Exception("unrecognized option --$opt");
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Util_GlobalState
-{
-    /**
-     * @var array
-     */
-    protected static $superGlobalArrays = [
-      '_ENV',
-      '_POST',
-      '_GET',
-      '_COOKIE',
-      '_SERVER',
-      '_FILES',
-      '_REQUEST'
-    ];
-
-    /**
-     * @var array
-     */
-    protected static $superGlobalArraysLong = [
-      'HTTP_ENV_VARS',
-      'HTTP_POST_VARS',
-      'HTTP_GET_VARS',
-      'HTTP_COOKIE_VARS',
-      'HTTP_SERVER_VARS',
-      'HTTP_POST_FILES'
-    ];
-
-    public static function getIncludedFilesAsString()
-    {
-        return static::processIncludedFilesAsString(get_included_files());
-    }
-
-    public static function processIncludedFilesAsString(array $files)
-    {
-        $blacklist = new PHPUnit_Util_Blacklist;
-        $prefix    = false;
-        $result    = '';
-
-        if (defined('__PHPUNIT_PHAR__')) {
-            $prefix = 'phar://' . __PHPUNIT_PHAR__ . '/';
-        }
-
-        for ($i = count($files) - 1; $i > 0; $i--) {
-            $file = $files[$i];
-
-            if ($prefix !== false && strpos($file, $prefix) === 0) {
-                continue;
-            }
-
-            // Skip virtual file system protocols
-            if (preg_match('/^(vfs|phpvfs[a-z0-9]+):/', $file)) {
-                continue;
-            }
-
-            if (!$blacklist->isBlacklisted($file) && is_file($file)) {
-                $result = 'require_once \'' . $file . "';\n" . $result;
-            }
-        }
-
-        return $result;
-    }
-
-    public static function getIniSettingsAsString()
-    {
-        $result      = '';
-        $iniSettings = ini_get_all(null, false);
-
-        foreach ($iniSettings as $key => $value) {
-            $result .= sprintf(
-                '@ini_set(%s, %s);' . "\n",
-                self::exportVariable($key),
-                self::exportVariable($value)
-            );
-        }
-
-        return $result;
-    }
-
-    public static function getConstantsAsString()
-    {
-        $constants = get_defined_constants(true);
-        $result    = '';
-
-        if (isset($constants['user'])) {
-            foreach ($constants['user'] as $name => $value) {
-                $result .= sprintf(
-                    'if (!defined(\'%s\')) define(\'%s\', %s);' . "\n",
-                    $name,
-                    $name,
-                    self::exportVariable($value)
-                );
-            }
-        }
-
-        return $result;
-    }
-
-    public static function getGlobalsAsString()
-    {
-        $result            = '';
-        $superGlobalArrays = self::getSuperGlobalArrays();
-
-        foreach ($superGlobalArrays as $superGlobalArray) {
-            if (isset($GLOBALS[$superGlobalArray]) &&
-                is_array($GLOBALS[$superGlobalArray])) {
-                foreach (array_keys($GLOBALS[$superGlobalArray]) as $key) {
-                    if ($GLOBALS[$superGlobalArray][$key] instanceof Closure) {
-                        continue;
-                    }
-
-                    $result .= sprintf(
-                        '$GLOBALS[\'%s\'][\'%s\'] = %s;' . "\n",
-                        $superGlobalArray,
-                        $key,
-                        self::exportVariable($GLOBALS[$superGlobalArray][$key])
-                    );
-                }
-            }
-        }
-
-        $blacklist   = $superGlobalArrays;
-        $blacklist[] = 'GLOBALS';
-
-        foreach (array_keys($GLOBALS) as $key) {
-            if (!in_array($key, $blacklist) && !$GLOBALS[$key] instanceof Closure) {
-                $result .= sprintf(
-                    '$GLOBALS[\'%s\'] = %s;' . "\n",
-                    $key,
-                    self::exportVariable($GLOBALS[$key])
-                );
-            }
-        }
-
-        return $result;
-    }
-
-    protected static function getSuperGlobalArrays()
-    {
-        if (ini_get('register_long_arrays') == '1') {
-            return array_merge(
-                self::$superGlobalArrays,
-                self::$superGlobalArraysLong
-            );
-        } else {
-            return self::$superGlobalArrays;
-        }
-    }
-
-    protected static function exportVariable($variable)
-    {
-        if (is_scalar($variable) || is_null($variable) ||
-           (is_array($variable) && self::arrayOnlyContainsScalars($variable))) {
-            return var_export($variable, true);
-        }
-
-        return 'unserialize(' .
-                var_export(serialize($variable), true) .
-                ')';
-    }
-
-    protected static function arrayOnlyContainsScalars(array $array)
-    {
-        $result = true;
-
-        foreach ($array as $element) {
-            if (is_array($element)) {
-                $result = self::arrayOnlyContainsScalars($element);
-            } elseif (!is_scalar($element) && !is_null($element)) {
-                $result = false;
-            }
-
-            if ($result === false) {
-                break;
-            }
-        }
-
-        return $result;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Factory for PHPUnit_Framework_Exception objects that are used to describe
- * invalid arguments passed to a function or method.
- *
- * @since Class available since Release 3.4.0
- */
-class PHPUnit_Util_InvalidArgumentHelper
-{
-    /**
-     * @param int    $argument
-     * @param string $type
-     * @param mixed  $value
-     *
-     * @return PHPUnit_Framework_Exception
-     */
-    public static function factory($argument, $type, $value = null)
-    {
-        $stack = debug_backtrace(false);
-
-        return new PHPUnit_Framework_Exception(
-            sprintf(
-                'Argument #%d%sof %s::%s() must be a %s',
-                $argument,
-                $value !== null ? ' (' . gettype($value) . '#' . $value . ')' : ' (No Value) ',
-                $stack[1]['class'],
-                $stack[1]['function'],
-                $type
-            )
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestListener that generates JSON messages.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Log_JSON extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var string
-     */
-    protected $currentTestSuiteName = '';
-
-    /**
-     * @var string
-     */
-    protected $currentTestName = '';
-
-    /**
-     * @var bool
-     */
-    protected $currentTestPass = true;
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            PHPUnit_Framework_TestFailure::exceptionToString($e),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        $this->writeCase(
-            'warning',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            PHPUnit_Framework_TestFailure::exceptionToString($e),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeCase(
-            'fail',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            PHPUnit_Framework_TestFailure::exceptionToString($e),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Incomplete Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Risky Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeCase(
-            'error',
-            $time,
-            PHPUnit_Util_Filter::getFilteredStacktrace($e, false),
-            'Skipped Test: ' . $e->getMessage(),
-            $test
-        );
-
-        $this->currentTestPass = false;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->currentTestSuiteName = $suite->getName();
-        $this->currentTestName      = '';
-
-        $this->write(
-            [
-            'event' => 'suiteStart',
-            'suite' => $this->currentTestSuiteName,
-            'tests' => count($suite)
-            ]
-        );
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->currentTestSuiteName = '';
-        $this->currentTestName      = '';
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->currentTestName = PHPUnit_Util_Test::describe($test);
-        $this->currentTestPass = true;
-
-        $this->write(
-            [
-            'event' => 'testStart',
-            'suite' => $this->currentTestSuiteName,
-            'test'  => $this->currentTestName
-            ]
-        );
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($this->currentTestPass) {
-            $this->writeCase('pass', $time, [], '', $test);
-        }
-    }
-
-    /**
-     * @param string                          $status
-     * @param float                           $time
-     * @param array                           $trace
-     * @param string                          $message
-     * @param PHPUnit_Framework_TestCase|null $test
-     */
-    protected function writeCase($status, $time, array $trace = [], $message = '', $test = null)
-    {
-        $output = '';
-        // take care of TestSuite producing error (e.g. by running into exception) as TestSuite doesn't have hasOutput
-        if ($test !== null && method_exists($test, 'hasOutput') && $test->hasOutput()) {
-            $output = $test->getActualOutput();
-        }
-        $this->write(
-            [
-            'event'   => 'test',
-            'suite'   => $this->currentTestSuiteName,
-            'test'    => $this->currentTestName,
-            'status'  => $status,
-            'time'    => $time,
-            'trace'   => $trace,
-            'message' => PHPUnit_Util_String::convertToUtf8($message),
-            'output'  => $output,
-            ]
-        );
-    }
-
-    /**
-     * @param string $buffer
-     */
-    public function write($buffer)
-    {
-        array_walk_recursive($buffer, function (&$input) {
-            if (is_string($input)) {
-                $input = PHPUnit_Util_String::convertToUtf8($input);
-            }
-        });
-
-        parent::write(json_encode($buffer, JSON_PRETTY_PRINT));
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestListener that generates a logfile of the test execution in XML markup.
- *
- * The XML markup used is the same as the one that is used by the JUnit Ant task.
- *
- * @since Class available since Release 2.1.0
- */
-class PHPUnit_Util_Log_JUnit extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var DOMDocument
-     */
-    protected $document;
-
-    /**
-     * @var DOMElement
-     */
-    protected $root;
-
-    /**
-     * @var bool
-     */
-    protected $logIncompleteSkipped = false;
-
-    /**
-     * @var bool
-     */
-    protected $writeDocument = true;
-
-    /**
-     * @var DOMElement[]
-     */
-    protected $testSuites = [];
-
-    /**
-     * @var int[]
-     */
-    protected $testSuiteTests = [0];
-
-    /**
-     * @var int[]
-     */
-    protected $testSuiteAssertions = [0];
-
-    /**
-     * @var int[]
-     */
-    protected $testSuiteErrors = [0];
-
-    /**
-     * @var int[]
-     */
-    protected $testSuiteFailures = [0];
-
-    /**
-     * @var int[]
-     */
-    protected $testSuiteTimes = [0];
-
-    /**
-     * @var int
-     */
-    protected $testSuiteLevel = 0;
-
-    /**
-     * @var DOMElement
-     */
-    protected $currentTestCase = null;
-
-    /**
-     * @var bool
-     */
-    protected $attachCurrentTestCase = true;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed $out
-     * @param bool  $logIncompleteSkipped
-     */
-    public function __construct($out = null, $logIncompleteSkipped = false)
-    {
-        $this->document               = new DOMDocument('1.0', 'UTF-8');
-        $this->document->formatOutput = true;
-
-        $this->root = $this->document->createElement('testsuites');
-        $this->document->appendChild($this->root);
-
-        parent::__construct($out);
-
-        $this->logIncompleteSkipped = $logIncompleteSkipped;
-    }
-
-    /**
-     * Flush buffer and close output.
-     */
-    public function flush()
-    {
-        if ($this->writeDocument === true) {
-            $this->write($this->getXML());
-        }
-
-        parent::flush();
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->doAddFault($test, $e, $time, 'error');
-        $this->testSuiteErrors[$this->testSuiteLevel]++;
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        $this->doAddFault($test, $e, $time, 'warning');
-        $this->testSuiteFailures[$this->testSuiteLevel]++;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->doAddFault($test, $e, $time, 'failure');
-        $this->testSuiteFailures[$this->testSuiteLevel]++;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Incomplete Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since  Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Risky Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since  Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if ($this->logIncompleteSkipped && $this->currentTestCase !== null) {
-            $error = $this->document->createElement(
-                'error',
-                PHPUnit_Util_XML::prepareString(
-                    "Skipped Test\n" .
-                    PHPUnit_Util_Filter::getFilteredStacktrace($e)
-                )
-            );
-
-            $error->setAttribute('type', get_class($e));
-
-            $this->currentTestCase->appendChild($error);
-
-            $this->testSuiteErrors[$this->testSuiteLevel]++;
-        } else {
-            $this->attachCurrentTestCase = false;
-        }
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since  Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $testSuite = $this->document->createElement('testsuite');
-        $testSuite->setAttribute('name', $suite->getName());
-
-        if (class_exists($suite->getName(), false)) {
-            try {
-                $class = new ReflectionClass($suite->getName());
-
-                $testSuite->setAttribute('file', $class->getFileName());
-            } catch (ReflectionException $e) {
-            }
-        }
-
-        if ($this->testSuiteLevel > 0) {
-            $this->testSuites[$this->testSuiteLevel]->appendChild($testSuite);
-        } else {
-            $this->root->appendChild($testSuite);
-        }
-
-        $this->testSuiteLevel++;
-        $this->testSuites[$this->testSuiteLevel]          = $testSuite;
-        $this->testSuiteTests[$this->testSuiteLevel]      = 0;
-        $this->testSuiteAssertions[$this->testSuiteLevel] = 0;
-        $this->testSuiteErrors[$this->testSuiteLevel]     = 0;
-        $this->testSuiteFailures[$this->testSuiteLevel]   = 0;
-        $this->testSuiteTimes[$this->testSuiteLevel]      = 0;
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since  Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'tests',
-            $this->testSuiteTests[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'assertions',
-            $this->testSuiteAssertions[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'failures',
-            $this->testSuiteFailures[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'errors',
-            $this->testSuiteErrors[$this->testSuiteLevel]
-        );
-
-        $this->testSuites[$this->testSuiteLevel]->setAttribute(
-            'time',
-            sprintf('%F', $this->testSuiteTimes[$this->testSuiteLevel])
-        );
-
-        if ($this->testSuiteLevel > 1) {
-            $this->testSuiteTests[$this->testSuiteLevel - 1]      += $this->testSuiteTests[$this->testSuiteLevel];
-            $this->testSuiteAssertions[$this->testSuiteLevel - 1] += $this->testSuiteAssertions[$this->testSuiteLevel];
-            $this->testSuiteErrors[$this->testSuiteLevel - 1]     += $this->testSuiteErrors[$this->testSuiteLevel];
-            $this->testSuiteFailures[$this->testSuiteLevel - 1]   += $this->testSuiteFailures[$this->testSuiteLevel];
-            $this->testSuiteTimes[$this->testSuiteLevel - 1]      += $this->testSuiteTimes[$this->testSuiteLevel];
-        }
-
-        $this->testSuiteLevel--;
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $testCase = $this->document->createElement('testcase');
-        $testCase->setAttribute('name', $test->getName());
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $class      = new ReflectionClass($test);
-            $methodName = $test->getName();
-
-            if ($class->hasMethod($methodName)) {
-                $method = $class->getMethod($test->getName());
-
-                $testCase->setAttribute('class', $class->getName());
-                $testCase->setAttribute('file', $class->getFileName());
-                $testCase->setAttribute('line', $method->getStartLine());
-            }
-        }
-
-        $this->currentTestCase = $testCase;
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($this->attachCurrentTestCase) {
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                $numAssertions = $test->getNumAssertions();
-                $this->testSuiteAssertions[$this->testSuiteLevel] += $numAssertions;
-
-                $this->currentTestCase->setAttribute(
-                    'assertions',
-                    $numAssertions
-                );
-            }
-
-            $this->currentTestCase->setAttribute(
-                'time',
-                sprintf('%F', $time)
-            );
-
-            $this->testSuites[$this->testSuiteLevel]->appendChild(
-                $this->currentTestCase
-            );
-
-            $this->testSuiteTests[$this->testSuiteLevel]++;
-            $this->testSuiteTimes[$this->testSuiteLevel] += $time;
-
-            if (method_exists($test, 'hasOutput') && $test->hasOutput()) {
-                $systemOut = $this->document->createElement('system-out');
-                $systemOut->appendChild(
-                    $this->document->createTextNode($test->getActualOutput())
-                );
-                $this->currentTestCase->appendChild($systemOut);
-            }
-        }
-
-        $this->attachCurrentTestCase = true;
-        $this->currentTestCase       = null;
-    }
-
-    /**
-     * Returns the XML as a string.
-     *
-     * @return string
-     *
-     * @since  Method available since Release 2.2.0
-     */
-    public function getXML()
-    {
-        return $this->document->saveXML();
-    }
-
-    /**
-     * Enables or disables the writing of the document
-     * in flush().
-     *
-     * This is a "hack" needed for the integration of
-     * PHPUnit with Phing.
-     *
-     * @return string
-     *
-     * @since  Method available since Release 2.2.0
-     */
-    public function setWriteDocument($flag)
-    {
-        if (is_bool($flag)) {
-            $this->writeDocument = $flag;
-        }
-    }
-
-    /**
-     * Method which generalizes addError() and addFailure()
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     * @param string                 $type
-     */
-    private function doAddFault(PHPUnit_Framework_Test $test, Exception $e, $time, $type)
-    {
-        if ($this->currentTestCase === null) {
-            return;
-        }
-
-        if ($test instanceof PHPUnit_Framework_SelfDescribing) {
-            $buffer = $test->toString() . "\n";
-        } else {
-            $buffer = '';
-        }
-
-        $buffer .= PHPUnit_Framework_TestFailure::exceptionToString($e) .
-                   "\n" .
-                   PHPUnit_Util_Filter::getFilteredStacktrace($e);
-
-        $fault = $this->document->createElement(
-            $type,
-            PHPUnit_Util_XML::prepareString($buffer)
-        );
-
-        $fault->setAttribute('type', get_class($e));
-        $this->currentTestCase->appendChild($fault);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A TestListener that generates a logfile of the
- * test execution using the Test Anything Protocol (TAP).
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Log_TAP extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var int
-     */
-    protected $testNumber = 0;
-
-    /**
-     * @var int
-     */
-    protected $testSuiteLevel = 0;
-
-    /**
-     * @var bool
-     */
-    protected $testSuccessful = true;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed $out
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.3.4
-     */
-    public function __construct($out = null)
-    {
-        parent::__construct($out);
-        $this->write("TAP version 13\n");
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeNotOk($test, 'Error');
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        $this->writeNotOk($test, 'Warning');
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->writeNotOk($test, 'Failure');
-
-        $message = explode(
-            "\n",
-            PHPUnit_Framework_TestFailure::exceptionToString($e)
-        );
-
-        $diagnostic = [
-          'message'  => $message[0],
-          'severity' => 'fail'
-        ];
-
-        if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
-            $cf = $e->getComparisonFailure();
-
-            if ($cf !== null) {
-                $diagnostic['data'] = [
-                  'got'      => $cf->getActual(),
-                  'expected' => $cf->getExpected()
-                ];
-            }
-        }
-
-        $yaml = new Symfony\Component\Yaml\Dumper;
-
-        $this->write(
-            sprintf(
-                "  ---\n%s  ...\n",
-                $yaml->dump($diagnostic, 2, 2)
-            )
-        );
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->writeNotOk($test, '', 'TODO Incomplete Test');
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->write(
-            sprintf(
-                "ok %d - # RISKY%s\n",
-                $this->testNumber,
-                $e->getMessage() != '' ? ' ' . $e->getMessage() : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->write(
-            sprintf(
-                "ok %d - # SKIP%s\n",
-                $this->testNumber,
-                $e->getMessage() != '' ? ' ' . $e->getMessage() : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuiteLevel++;
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $this->testSuiteLevel--;
-
-        if ($this->testSuiteLevel == 0) {
-            $this->write(sprintf("1..%d\n", $this->testNumber));
-        }
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->testNumber++;
-        $this->testSuccessful = true;
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if ($this->testSuccessful === true) {
-            $this->write(
-                sprintf(
-                    "ok %d - %s\n",
-                    $this->testNumber,
-                    PHPUnit_Util_Test::describe($test)
-                )
-            );
-        }
-
-        $this->writeDiagnostics($test);
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     * @param string                 $prefix
-     * @param string                 $directive
-     */
-    protected function writeNotOk(PHPUnit_Framework_Test $test, $prefix = '', $directive = '')
-    {
-        $this->write(
-            sprintf(
-                "not ok %d - %s%s%s\n",
-                $this->testNumber,
-                $prefix != '' ? $prefix . ': ' : '',
-                PHPUnit_Util_Test::describe($test),
-                $directive != '' ? ' # ' . $directive : ''
-            )
-        );
-
-        $this->testSuccessful = false;
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     */
-    private function writeDiagnostics(PHPUnit_Framework_Test $test)
-    {
-        if (!$test instanceof PHPUnit_Framework_TestCase) {
-            return;
-        }
-
-        if (!$test->hasOutput()) {
-            return;
-        }
-
-        foreach (explode("\n", trim($test->getActualOutput())) as $line) {
-            $this->write(
-                sprintf(
-                    "# %s\n",
-                    $line
-                )
-            );
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Comparator\ComparisonFailure;
-
-/**
- * A TestListener that generates a logfile of the test execution using the
- * TeamCity format (for use with PhpStorm, for instance).
- *
- * @since Class available since Release 5.0.0
- */
-class PHPUnit_Util_Log_TeamCity extends PHPUnit_TextUI_ResultPrinter
-{
-    /**
-     * @var bool
-     */
-    private $isSummaryTestCountPrinted = false;
-
-    /**
-     * @var string
-     */
-    private $startedTestName;
-
-    /**
-     * @var string
-     */
-    private $flowId;
-
-    /**
-     * @param string $progress
-     */
-    protected function writeProgress($progress)
-    {
-    }
-
-    /**
-     * @param PHPUnit_Framework_TestResult $result
-     */
-    public function printResult(PHPUnit_Framework_TestResult $result)
-    {
-        $this->printHeader();
-        $this->printFooter($result);
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->printEvent(
-            'testFailed',
-            [
-                'name'    => $test->getName(),
-                'message' => self::getMessage($e),
-                'details' => self::getDetails($e),
-            ]
-        );
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        $this->printEvent(
-            'testFailed',
-            [
-                'name'    => $test->getName(),
-                'message' => self::getMessage($e),
-                'details' => self::getDetails($e)
-            ]
-        );
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $parameters = [
-            'name'    => $test->getName(),
-            'message' => self::getMessage($e),
-            'details' => self::getDetails($e),
-        ];
-
-        if ($e instanceof PHPUnit_Framework_ExpectationFailedException) {
-            $comparisonFailure = $e->getComparisonFailure();
-
-            if ($comparisonFailure instanceof ComparisonFailure) {
-                $expectedString = $comparisonFailure->getExpectedAsString();
-
-                if (is_null($expectedString) || empty($expectedString)) {
-                    $expectedString = self::getPrimitiveValueAsString($comparisonFailure->getExpected());
-                }
-
-                $actualString = $comparisonFailure->getActualAsString();
-
-                if (is_null($actualString) || empty($actualString)) {
-                    $actualString = self::getPrimitiveValueAsString($comparisonFailure->getActual());
-                }
-
-                if (!is_null($actualString) && !is_null($expectedString)) {
-                    $parameters['type']     = 'comparisonFailure';
-                    $parameters['actual']   = $actualString;
-                    $parameters['expected'] = $expectedString;
-                }
-            }
-        }
-
-        $this->printEvent('testFailed', $parameters);
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->printIgnoredTest($test->getName(), $e);
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->addError($test, $e, $time);
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $testName = $test->getName();
-        if ($this->startedTestName != $testName) {
-            $this->startTest($test);
-            $this->printIgnoredTest($testName, $e);
-            $this->endTest($test, $time);
-        } else {
-            $this->printIgnoredTest($testName, $e);
-        }
-    }
-
-    public function printIgnoredTest($testName, Exception $e)
-    {
-        $this->printEvent(
-            'testIgnored',
-            [
-                'name'    => $testName,
-                'message' => self::getMessage($e),
-                'details' => self::getDetails($e),
-            ]
-        );
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        if (stripos(ini_get('disable_functions'), 'getmypid') === false) {
-            $this->flowId = getmypid();
-        } else {
-            $this->flowId = false;
-        }
-
-        if (!$this->isSummaryTestCountPrinted) {
-            $this->isSummaryTestCountPrinted = true;
-
-            $this->printEvent(
-                'testCount',
-                ['count' => count($suite)]
-            );
-        }
-
-        $suiteName = $suite->getName();
-
-        if (empty($suiteName)) {
-            return;
-        }
-
-        $parameters = ['name' => $suiteName];
-
-        if (class_exists($suiteName, false)) {
-            $fileName                   = self::getFileName($suiteName);
-            $parameters['locationHint'] = "php_qn://$fileName::\\$suiteName";
-        } else {
-            $split = preg_split('/::/', $suiteName);
-
-            if (count($split) == 2 && method_exists($split[0], $split[1])) {
-                $fileName                   = self::getFileName($split[0]);
-                $parameters['locationHint'] = "php_qn://$fileName::\\$suiteName";
-                $parameters['name']         = $split[1];
-            }
-        }
-
-        $this->printEvent('testSuiteStarted', $parameters);
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-        $suiteName = $suite->getName();
-
-        if (empty($suiteName)) {
-            return;
-        }
-
-        $parameters = ['name' => $suiteName];
-
-        if (!class_exists($suiteName, false)) {
-            $split = preg_split('/::/', $suiteName);
-
-            if (count($split) == 2 && method_exists($split[0], $split[1])) {
-                $parameters['name'] = $split[1];
-            }
-        }
-
-        $this->printEvent('testSuiteFinished', $parameters);
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $testName              = $test->getName();
-        $this->startedTestName = $testName;
-        $params                = ['name' => $testName];
-
-        if ($test instanceof PHPUnit_Framework_TestCase) {
-            $className              = get_class($test);
-            $fileName               = self::getFileName($className);
-            $params['locationHint'] = "php_qn://$fileName::\\$className::$testName";
-        }
-
-        $this->printEvent('testStarted', $params);
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        parent::endTest($test, $time);
-
-        $this->printEvent(
-            'testFinished',
-            [
-                'name'     => $test->getName(),
-                'duration' => (int) (round($time, 2) * 1000)
-            ]
-        );
-    }
-
-    /**
-     * @param string $eventName
-     * @param array  $params
-     */
-    private function printEvent($eventName, $params = [])
-    {
-        $this->write("\n##teamcity[$eventName");
-
-        if ($this->flowId) {
-            $params['flowId'] = $this->flowId;
-        }
-
-        foreach ($params as $key => $value) {
-            $escapedValue = self::escapeValue($value);
-            $this->write(" $key='$escapedValue'");
-        }
-
-        $this->write("]\n");
-    }
-
-    /**
-     * @param Exception $e
-     *
-     * @return string
-     */
-    private static function getMessage(Exception $e)
-    {
-        $message = '';
-
-        if (!$e instanceof PHPUnit_Framework_Exception) {
-            if (strlen(get_class($e)) != 0) {
-                $message = $message . get_class($e);
-            }
-
-            if (strlen($message) != 0 && strlen($e->getMessage()) != 0) {
-                $message = $message . ' : ';
-            }
-        }
-
-        return $message . $e->getMessage();
-    }
-
-    /**
-     * @param Exception $e
-     *
-     * @return string
-     */
-    private static function getDetails(Exception $e)
-    {
-        $stackTrace = PHPUnit_Util_Filter::getFilteredStacktrace($e);
-        $previous   = $e->getPrevious();
-
-        while ($previous) {
-            $stackTrace .= "\nCaused by\n" .
-                PHPUnit_Framework_TestFailure::exceptionToString($previous) . "\n" .
-                PHPUnit_Util_Filter::getFilteredStacktrace($previous);
-
-            $previous = $previous->getPrevious();
-        }
-
-        return ' ' . str_replace("\n", "\n ", $stackTrace);
-    }
-
-    /**
-     * @param mixed $value
-     *
-     * @return string
-     */
-    private static function getPrimitiveValueAsString($value)
-    {
-        if (is_null($value)) {
-            return 'null';
-        } elseif (is_bool($value)) {
-            return $value == true ? 'true' : 'false';
-        } elseif (is_scalar($value)) {
-            return print_r($value, true);
-        }
-
-        return;
-    }
-
-    /**
-     * @param  $text
-     *
-     * @return string
-     */
-    private static function escapeValue($text)
-    {
-        $text = str_replace('|', '||', $text);
-        $text = str_replace("'", "|'", $text);
-        $text = str_replace("\n", '|n', $text);
-        $text = str_replace("\r", '|r', $text);
-        $text = str_replace(']', '|]', $text);
-        $text = str_replace('[', '|[', $text);
-
-        return $text;
-    }
-
-    /**
-     * @param string $className
-     *
-     * @return string
-     */
-    private static function getFileName($className)
-    {
-        $reflectionClass = new ReflectionClass($className);
-        $fileName        = $reflectionClass->getFileName();
-
-        return $fileName;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Utility methods for PHP sub-processes.
- *
- * @since Class available since Release 3.4.0
- */
-abstract class PHPUnit_Util_PHP
-{
-    /**
-     * @var Runtime
-     */
-    protected $runtime;
-
-    /**
-     * @var bool
-     */
-    protected $stderrRedirection = false;
-
-    /**
-     * @var string
-     */
-    protected $stdin = '';
-
-    /**
-     * @var string
-     */
-    protected $args = '';
-
-    /**
-     * @var array
-     */
-    protected $env = [];
-
-    /**
-     * @var int
-     */
-    protected $timeout = 0;
-
-    /**
-     * Creates internal Runtime instance.
-     */
-    public function __construct()
-    {
-        $this->runtime = new Runtime();
-    }
-
-    /**
-     * Defines if should use STDERR redirection or not.
-     *
-     * Then $stderrRedirection is TRUE, STDERR is redirected to STDOUT.
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @param bool $stderrRedirection
-     */
-    public function setUseStderrRedirection($stderrRedirection)
-    {
-        if (!is_bool($stderrRedirection)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-
-        $this->stderrRedirection = $stderrRedirection;
-    }
-
-    /**
-     * Returns TRUE if uses STDERR redirection or FALSE if not.
-     *
-     * @return bool
-     */
-    public function useStderrRedirection()
-    {
-        return $this->stderrRedirection;
-    }
-
-    /**
-     * Sets the input string to be sent via STDIN
-     *
-     * @param string $stdin
-     */
-    public function setStdin($stdin)
-    {
-        $this->stdin = (string) $stdin;
-    }
-
-    /**
-     * Returns the input string to be sent via STDIN
-     *
-     * @return string
-     */
-    public function getStdin()
-    {
-        return $this->stdin;
-    }
-
-    /**
-     * Sets the string of arguments to pass to the php job
-     *
-     * @param string $args
-     */
-    public function setArgs($args)
-    {
-        $this->args = (string) $args;
-    }
-
-    /**
-     * Returns the string of arguments to pass to the php job
-     *
-     * @retrun string
-     */
-    public function getArgs()
-    {
-        return $this->args;
-    }
-
-    /**
-     * Sets the array of environment variables to start the child process with
-     *
-     * @param array $env
-     */
-    public function setEnv(array $env)
-    {
-        $this->env = $env;
-    }
-
-    /**
-     * Returns the array of environment variables to start the child process with
-     *
-     * @return array
-     */
-    public function getEnv()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Sets the amount of seconds to wait before timing out
-     *
-     * @param int $timeout
-     */
-    public function setTimeout($timeout)
-    {
-        $this->timeout = (int) $timeout;
-    }
-
-    /**
-     * Returns the amount of seconds to wait before timing out
-     *
-     * @return int
-     */
-    public function getTimeout()
-    {
-        return $this->timeout;
-    }
-
-    /**
-     * @return PHPUnit_Util_PHP
-     *
-     * @since Method available since Release 3.5.12
-     */
-    public static function factory()
-    {
-        if (DIRECTORY_SEPARATOR == '\\') {
-            return new PHPUnit_Util_PHP_Windows;
-        }
-
-        return new PHPUnit_Util_PHP_Default;
-    }
-
-    /**
-     * Runs a single test in a separate PHP process.
-     *
-     * @param string                       $job
-     * @param PHPUnit_Framework_Test       $test
-     * @param PHPUnit_Framework_TestResult $result
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function runTestJob($job, PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result)
-    {
-        $result->startTest($test);
-
-        $_result = $this->runJob($job);
-
-        $this->processChildResult(
-            $test,
-            $result,
-            $_result['stdout'],
-            $_result['stderr']
-        );
-    }
-
-    /**
-     * Returns the command based into the configurations.
-     *
-     * @param array       $settings
-     * @param string|null $file
-     *
-     * @return string
-     */
-    public function getCommand(array $settings, $file = null)
-    {
-        $command = $this->runtime->getBinary();
-        $command .= $this->settingsToParameters($settings);
-
-        if ('phpdbg' === PHP_SAPI) {
-            $command .= ' -qrr ';
-
-            if ($file) {
-                $command .= '-e ' . escapeshellarg($file);
-            } else {
-                $command .= escapeshellarg(__DIR__ . '/PHP/eval-stdin.php');
-            }
-        } elseif ($file) {
-            $command .= ' -f ' . escapeshellarg($file);
-        }
-
-        if ($this->args) {
-            $command .= ' -- ' . $this->args;
-        }
-
-        if (true === $this->stderrRedirection) {
-            $command .= ' 2>&1';
-        }
-
-        return $command;
-    }
-
-    /**
-     * Runs a single job (PHP code) using a separate PHP process.
-     *
-     * @param string $job
-     * @param array  $settings
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    abstract public function runJob($job, array $settings = []);
-
-    /**
-     * @param array $settings
-     *
-     * @return string
-     *
-     * @since Method available since Release 4.0.0
-     */
-    protected function settingsToParameters(array $settings)
-    {
-        $buffer = '';
-
-        foreach ($settings as $setting) {
-            $buffer .= ' -d ' . $setting;
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Processes the TestResult object from an isolated process.
-     *
-     * @param PHPUnit_Framework_Test       $test
-     * @param PHPUnit_Framework_TestResult $result
-     * @param string                       $stdout
-     * @param string                       $stderr
-     *
-     * @since Method available since Release 3.5.0
-     */
-    private function processChildResult(PHPUnit_Framework_Test $test, PHPUnit_Framework_TestResult $result, $stdout, $stderr)
-    {
-        $time = 0;
-
-        if (!empty($stderr)) {
-            $result->addError(
-                $test,
-                new PHPUnit_Framework_Exception(trim($stderr)),
-                $time
-            );
-        } else {
-            set_error_handler(function ($errno, $errstr, $errfile, $errline) {
-                throw new ErrorException($errstr, $errno, $errno, $errfile, $errline);
-            });
-            try {
-                if (strpos($stdout, "#!/usr/bin/env php\n") === 0) {
-                    $stdout = substr($stdout, 19);
-                }
-
-                $childResult = unserialize(str_replace("#!/usr/bin/env php\n", '', $stdout));
-                restore_error_handler();
-            } catch (ErrorException $e) {
-                restore_error_handler();
-                $childResult = false;
-
-                $result->addError(
-                    $test,
-                    new PHPUnit_Framework_Exception(trim($stdout), 0, $e),
-                    $time
-                );
-            }
-
-            if ($childResult !== false) {
-                if (!empty($childResult['output'])) {
-                    $output = $childResult['output'];
-                }
-
-                $test->setResult($childResult['testResult']);
-                $test->addToAssertionCount($childResult['numAssertions']);
-
-                $childResult = $childResult['result'];
-
-                if ($result->getCollectCodeCoverageInformation()) {
-                    $result->getCodeCoverage()->merge(
-                        $childResult->getCodeCoverage()
-                    );
-                }
-
-                $time           = $childResult->time();
-                $notImplemented = $childResult->notImplemented();
-                $risky          = $childResult->risky();
-                $skipped        = $childResult->skipped();
-                $errors         = $childResult->errors();
-                $failures       = $childResult->failures();
-
-                if (!empty($notImplemented)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($notImplemented[0]),
-                        $time
-                    );
-                } elseif (!empty($risky)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($risky[0]),
-                        $time
-                    );
-                } elseif (!empty($skipped)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($skipped[0]),
-                        $time
-                    );
-                } elseif (!empty($errors)) {
-                    $result->addError(
-                        $test,
-                        $this->getException($errors[0]),
-                        $time
-                    );
-                } elseif (!empty($failures)) {
-                    $result->addFailure(
-                        $test,
-                        $this->getException($failures[0]),
-                        $time
-                    );
-                }
-            }
-        }
-
-        $result->endTest($test, $time);
-
-        if (!empty($output)) {
-            print $output;
-        }
-    }
-
-    /**
-     * Gets the thrown exception from a PHPUnit_Framework_TestFailure.
-     *
-     * @param PHPUnit_Framework_TestFailure $error
-     *
-     * @return Exception
-     *
-     * @since Method available since Release 3.6.0
-     * @see    https://github.com/sebastianbergmann/phpunit/issues/74
-     */
-    private function getException(PHPUnit_Framework_TestFailure $error)
-    {
-        $exception = $error->thrownException();
-
-        if ($exception instanceof __PHP_Incomplete_Class) {
-            $exceptionArray = [];
-            foreach ((array) $exception as $key => $value) {
-                $key                  = substr($key, strrpos($key, "\0") + 1);
-                $exceptionArray[$key] = $value;
-            }
-
-            $exception = new PHPUnit_Framework_SyntheticError(
-                sprintf(
-                    '%s: %s',
-                    $exceptionArray['_PHP_Incomplete_Class_Name'],
-                    $exceptionArray['message']
-                ),
-                $exceptionArray['code'],
-                $exceptionArray['file'],
-                $exceptionArray['line'],
-                $exceptionArray['trace']
-            );
-        }
-
-        return $exception;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default utility for PHP sub-processes.
- *
- * @since Class available since Release 3.5.12
- */
-class PHPUnit_Util_PHP_Default extends PHPUnit_Util_PHP
-{
-    /**
-     * @var string
-     */
-    protected $tempFile;
-
-    /**
-     * @var bool
-     */
-    protected $useTempFile = false;
-
-    /**
-     * Runs a single job (PHP code) using a separate PHP process.
-     *
-     * @param string $job
-     * @param array  $settings
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function runJob($job, array $settings = [])
-    {
-        if ($this->useTempFile || $this->stdin) {
-            if (!($this->tempFile = tempnam(sys_get_temp_dir(), 'PHPUnit')) ||
-                file_put_contents($this->tempFile, $job) === false) {
-                throw new PHPUnit_Framework_Exception(
-                    'Unable to write temporary file'
-                );
-            }
-
-            $job = $this->stdin;
-        }
-
-        return $this->runProcess($job, $settings);
-    }
-
-    /**
-     * Returns an array of file handles to be used in place of pipes
-     *
-     * @return array
-     */
-    protected function getHandles()
-    {
-        return [];
-    }
-
-    /**
-     * Handles creating the child process and returning the STDOUT and STDERR
-     *
-     * @param string $job
-     * @param array  $settings
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    protected function runProcess($job, $settings)
-    {
-        $handles = $this->getHandles();
-
-        $env = null;
-        if ($this->env) {
-            $env = isset($_SERVER) ? $_SERVER : [];
-            unset($env['argv'], $env['argc']);
-            $env = array_merge($env, $this->env);
-
-            foreach ($env as $envKey => $envVar) {
-                if (is_array($envVar)) {
-                    unset($env[$envKey]);
-                }
-            }
-        }
-
-        $pipeSpec = [
-            0 => isset($handles[0]) ? $handles[0] : ['pipe', 'r'],
-            1 => isset($handles[1]) ? $handles[1] : ['pipe', 'w'],
-            2 => isset($handles[2]) ? $handles[2] : ['pipe', 'w'],
-        ];
-        $process = proc_open(
-            $this->getCommand($settings, $this->tempFile),
-            $pipeSpec,
-            $pipes,
-            null,
-            $env
-        );
-
-        if (!is_resource($process)) {
-            throw new PHPUnit_Framework_Exception(
-                'Unable to spawn worker process'
-            );
-        }
-
-        if ($job) {
-            $this->process($pipes[0], $job);
-        }
-        fclose($pipes[0]);
-
-        if ($this->timeout) {
-            $stderr = $stdout = '';
-            unset($pipes[0]);
-
-            while (true) {
-                $r = $pipes;
-                $w = null;
-                $e = null;
-
-                $n = @stream_select($r, $w, $e, $this->timeout);
-
-                if ($n === false) {
-                    break;
-                } elseif ($n === 0) {
-                    proc_terminate($process, 9);
-                    throw new PHPUnit_Framework_Exception(sprintf('Job execution aborted after %d seconds', $this->timeout));
-                } elseif ($n > 0) {
-                    foreach ($r as $pipe) {
-                        $pipeOffset = 0;
-                        foreach ($pipes as $i => $origPipe) {
-                            if ($pipe == $origPipe) {
-                                $pipeOffset = $i;
-                                break;
-                            }
-                        }
-
-                        if (!$pipeOffset) {
-                            break;
-                        }
-
-                        $line = fread($pipe, 8192);
-                        if (strlen($line) == 0) {
-                            fclose($pipes[$pipeOffset]);
-                            unset($pipes[$pipeOffset]);
-                        } else {
-                            if ($pipeOffset == 1) {
-                                $stdout .= $line;
-                            } else {
-                                $stderr .= $line;
-                            }
-                        }
-                    }
-
-                    if (empty($pipes)) {
-                        break;
-                    }
-                }
-            }
-        } else {
-            if (isset($pipes[1])) {
-                $stdout = stream_get_contents($pipes[1]);
-                fclose($pipes[1]);
-            }
-
-            if (isset($pipes[2])) {
-                $stderr = stream_get_contents($pipes[2]);
-                fclose($pipes[2]);
-            }
-        }
-
-        if (isset($handles[1])) {
-            rewind($handles[1]);
-            $stdout = stream_get_contents($handles[1]);
-            fclose($handles[1]);
-        }
-
-        if (isset($handles[2])) {
-            rewind($handles[2]);
-            $stderr = stream_get_contents($handles[2]);
-            fclose($handles[2]);
-        }
-
-        proc_close($process);
-        $this->cleanup();
-
-        return ['stdout' => $stdout, 'stderr' => $stderr];
-    }
-
-    /**
-     * @param resource $pipe
-     * @param string   $job
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.5.12
-     */
-    protected function process($pipe, $job)
-    {
-        fwrite($pipe, $job);
-    }
-
-    /**
-     * @since Method available since Release 3.5.12
-     */
-    protected function cleanup()
-    {
-        if ($this->tempFile) {
-            unlink($this->tempFile);
-        }
-    }
-}
-<?php
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-
-if (!defined('STDOUT')) {
-    // php://stdout does not obey output buffering. Any output would break
-    // unserialization of child process results in the parent process.
-    define('STDOUT', fopen('php://temp', 'w+b'));
-    define('STDERR', fopen('php://stderr', 'wb'));
-}
-
-{iniSettings}
-ini_set('display_errors', 'stderr');
-set_include_path('{include_path}');
-
-$composerAutoload = {composerAutoload};
-$phar             = {phar};
-
-ob_start();
-
-if ($composerAutoload) {
-    require_once $composerAutoload;
-    define('PHPUNIT_COMPOSER_INSTALL', $composerAutoload);
-} else if ($phar) {
-    require $phar;
-}
-
-function __phpunit_run_isolated_test()
-{
-    if (!class_exists('{className}')) {
-        require_once '{filename}';
-    }
-
-    $result = new PHPUnit_Framework_TestResult;
-
-    if ({collectCodeCoverageInformation}) {
-        $result->setCodeCoverage(
-            new CodeCoverage(
-                null,
-                unserialize('{codeCoverageFilter}')
-            )
-        );
-    }
-
-    $result->beStrictAboutTestsThatDoNotTestAnything({isStrictAboutTestsThatDoNotTestAnything});
-    $result->beStrictAboutOutputDuringTests({isStrictAboutOutputDuringTests});
-    $result->enforceTimeLimit({enforcesTimeLimit});
-    $result->beStrictAboutTodoAnnotatedTests({isStrictAboutTodoAnnotatedTests});
-    $result->beStrictAboutResourceUsageDuringSmallTests({isStrictAboutResourceUsageDuringSmallTests});
-
-    $test = new {className}('{methodName}', unserialize('{data}'), '{dataName}');
-    $test->setDependencyInput(unserialize('{dependencyInput}'));
-    $test->setInIsolation(TRUE);
-
-    ob_end_clean();
-    $test->run($result);
-    $output = '';
-    if (!$test->hasExpectationOnOutput()) {
-        $output = $test->getActualOutput();
-    }
-
-    rewind(STDOUT);
-    if ($stdout = stream_get_contents(STDOUT)) {
-        $output = $stdout . $output;
-    }
-
-    print serialize(
-      array(
-        'testResult'    => $test->getResult(),
-        'numAssertions' => $test->getNumAssertions(),
-        'result'        => $result,
-        'output'        => $output
-      )
-    );
-}
-
-$configurationFilePath = '{configurationFilePath}';
-
-if ('' !== $configurationFilePath) {
-    $configuration = PHPUnit_Util_Configuration::getInstance($configurationFilePath);
-    $configuration->handlePHPConfiguration();
-    unset($configuration);
-}
-
-function __phpunit_error_handler($errno, $errstr, $errfile, $errline, $errcontext)
-{
-   return true;
-}
-
-set_error_handler("__phpunit_error_handler");
-
-{constants}
-{included_files}
-{globals}
-
-restore_error_handler();
-
-if (isset($GLOBALS['__PHPUNIT_BOOTSTRAP'])) {
-    require_once $GLOBALS['__PHPUNIT_BOOTSTRAP'];
-    unset($GLOBALS['__PHPUNIT_BOOTSTRAP']);
-}
-
-__phpunit_run_isolated_test();
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Windows utility for PHP sub-processes.
- *
- * Reading from STDOUT or STDERR hangs forever on Windows if the output is
- * too large.
- *
- * @since Class available since Release 3.5.12
- * @see https://bugs.php.net/bug.php?id=51800
- */
-class PHPUnit_Util_PHP_Windows extends PHPUnit_Util_PHP_Default
-{
-    protected $useTempFile = true;
-
-    protected function getHandles()
-    {
-        if (false === $stdout_handle = tmpfile()) {
-            throw new PHPUnit_Framework_Exception(
-                'A temporary file could not be created; verify that your TEMP environment variable is writable'
-            );
-        }
-
-        return [
-            1 => $stdout_handle
-        ];
-    }
-
-    public function getCommand(array $settings, $file = null)
-    {
-        return '"' . parent::getCommand($settings, $file) . '"';
-    }
-}
-<?php
-
-eval('?>' . file_get_contents('php://input'));
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class that can print to STDOUT or write to a file.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Util_Printer
-{
-    /**
-     * If true, flush output after every write.
-     *
-     * @var bool
-     */
-    protected $autoFlush = false;
-
-    /**
-     * @var resource
-     */
-    protected $out;
-
-    /**
-     * @var string
-     */
-    protected $outTarget;
-
-    /**
-     * @var bool
-     */
-    protected $printsHTML = false;
-
-    /**
-     * Constructor.
-     *
-     * @param mixed $out
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    public function __construct($out = null)
-    {
-        if ($out !== null) {
-            if (is_string($out)) {
-                if (strpos($out, 'socket://') === 0) {
-                    $out = explode(':', str_replace('socket://', '', $out));
-
-                    if (sizeof($out) != 2) {
-                        throw new PHPUnit_Framework_Exception;
-                    }
-
-                    $this->out = fsockopen($out[0], $out[1]);
-                } else {
-                    if (strpos($out, 'php://') === false &&
-                        !is_dir(dirname($out))) {
-                        mkdir(dirname($out), 0777, true);
-                    }
-
-                    $this->out = fopen($out, 'wt');
-                }
-
-                $this->outTarget = $out;
-            } else {
-                $this->out = $out;
-            }
-        }
-    }
-
-    /**
-     * Flush buffer, optionally tidy up HTML, and close output if it's not to a php stream
-     */
-    public function flush()
-    {
-        if ($this->out && strncmp($this->outTarget, 'php://', 6) !== 0) {
-            fclose($this->out);
-        }
-
-        if ($this->printsHTML === true &&
-            $this->outTarget !== null &&
-            strpos($this->outTarget, 'php://') !== 0 &&
-            strpos($this->outTarget, 'socket://') !== 0 &&
-            extension_loaded('tidy')) {
-            file_put_contents(
-                $this->outTarget,
-                tidy_repair_file(
-                    $this->outTarget,
-                    ['indent' => true, 'wrap' => 0],
-                    'utf8'
-                )
-            );
-        }
-    }
-
-    /**
-     * Performs a safe, incremental flush.
-     *
-     * Do not confuse this function with the flush() function of this class,
-     * since the flush() function may close the file being written to, rendering
-     * the current object no longer usable.
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function incrementalFlush()
-    {
-        if ($this->out) {
-            fflush($this->out);
-        } else {
-            flush();
-        }
-    }
-
-    /**
-     * @param string $buffer
-     */
-    public function write($buffer)
-    {
-        if ($this->out) {
-            fwrite($this->out, $buffer);
-
-            if ($this->autoFlush) {
-                $this->incrementalFlush();
-            }
-        } else {
-            if (PHP_SAPI != 'cli' && PHP_SAPI != 'phpdbg') {
-                $buffer = htmlspecialchars($buffer);
-            }
-
-            print $buffer;
-
-            if ($this->autoFlush) {
-                $this->incrementalFlush();
-            }
-        }
-    }
-
-    /**
-     * Check auto-flush mode.
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function getAutoFlush()
-    {
-        return $this->autoFlush;
-    }
-
-    /**
-     * Set auto-flushing mode.
-     *
-     * If set, *incremental* flushes will be done after each write. This should
-     * not be confused with the different effects of this class' flush() method.
-     *
-     * @param bool $autoFlush
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public function setAutoFlush($autoFlush)
-    {
-        if (is_bool($autoFlush)) {
-            $this->autoFlush = $autoFlush;
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'boolean');
-        }
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Error handler that converts PHP errors and warnings to exceptions.
- *
- * @since Class available since Release 4.2.0
- */
-class PHPUnit_Util_Regex
-{
-    public static function pregMatchSafe($pattern, $subject, $matches = null, $flags = 0, $offset = 0)
-    {
-        $handler_terminator = PHPUnit_Util_ErrorHandler::handleErrorOnce(E_WARNING);
-        $match              = preg_match($pattern, $subject, $matches, $flags, $offset);
-        $handler_terminator(); // cleaning
-
-        return $match;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * String helpers.
- *
- * @since Class available since Release 3.6.0
- */
-class PHPUnit_Util_String
-{
-    /**
-     * Converts a string to UTF-8 encoding.
-     *
-     * @param string $string
-     *
-     * @return string
-     */
-    public static function convertToUtf8($string)
-    {
-        if (!self::isUtf8($string)) {
-            if (function_exists('mb_convert_encoding')) {
-                $string = mb_convert_encoding($string, 'UTF-8');
-            } else {
-                $string = utf8_encode($string);
-            }
-        }
-
-        return $string;
-    }
-
-    /**
-     * Checks a string for UTF-8 encoding.
-     *
-     * @param string $string
-     *
-     * @return bool
-     */
-    protected static function isUtf8($string)
-    {
-        $length = strlen($string);
-
-        for ($i = 0; $i < $length; $i++) {
-            if (ord($string[$i]) < 0x80) {
-                $n = 0;
-            } elseif ((ord($string[$i]) & 0xE0) == 0xC0) {
-                $n = 1;
-            } elseif ((ord($string[$i]) & 0xF0) == 0xE0) {
-                $n = 2;
-            } elseif ((ord($string[$i]) & 0xF0) == 0xF0) {
-                $n = 3;
-            } else {
-                return false;
-            }
-
-            for ($j = 0; $j < $n; $j++) {
-                if ((++$i == $length) || ((ord($string[$i]) & 0xC0) != 0x80)) {
-                    return false;
-                }
-            }
-        }
-
-        return true;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Test helpers.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Test
-{
-    const REGEX_DATA_PROVIDER      = '/@dataProvider\s+([a-zA-Z0-9._:-\\\\x7f-\xff]+)/';
-    const REGEX_TEST_WITH          = '/@testWith\s+/';
-    const REGEX_EXPECTED_EXCEPTION = '(@expectedException\s+([:.\w\\\\x7f-\xff]+)(?:[\t ]+(\S*))?(?:[\t ]+(\S*))?\s*$)m';
-    const REGEX_REQUIRES_VERSION   = '/@requires\s+(?P<name>PHP(?:Unit)?)\s+(?P<operator>[<>=!]{0,2})\s*(?P<version>[\d\.-]+(dev|(RC|alpha|beta)[\d\.])?)[ \t]*\r?$/m';
-    const REGEX_REQUIRES_OS        = '/@requires\s+OS\s+(?P<value>.+?)[ \t]*\r?$/m';
-    const REGEX_REQUIRES           = '/@requires\s+(?P<name>function|extension)\s+(?P<value>([^ ]+?))\s*(?P<operator>[<>=!]{0,2})\s*(?P<version>[\d\.-]+[\d\.]?)?[ \t]*\r?$/m';
-
-    const UNKNOWN = -1;
-    const SMALL   = 0;
-    const MEDIUM  = 1;
-    const LARGE   = 2;
-
-    private static $annotationCache = [];
-
-    private static $hookMethods = [];
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     * @param bool                   $asString
-     *
-     * @return mixed
-     */
-    public static function describe(PHPUnit_Framework_Test $test, $asString = true)
-    {
-        if ($asString) {
-            if ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                return $test->toString();
-            } else {
-                return get_class($test);
-            }
-        } else {
-            if ($test instanceof PHPUnit_Framework_TestCase) {
-                return [
-                  get_class($test), $test->getName()
-                ];
-            } elseif ($test instanceof PHPUnit_Framework_SelfDescribing) {
-                return ['', $test->toString()];
-            } else {
-                return ['', get_class($test)];
-            }
-        }
-    }
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array|bool
-     *
-     * @throws PHPUnit_Framework_CodeCoverageException
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public static function getLinesToBeCovered($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        if (isset($annotations['class']['coversNothing']) || isset($annotations['method']['coversNothing'])) {
-            return false;
-        }
-
-        return self::getLinesToBeCoveredOrUsed($className, $methodName, 'covers');
-    }
-
-    /**
-     * Returns lines of code specified with the @uses annotation.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public static function getLinesToBeUsed($className, $methodName)
-    {
-        return self::getLinesToBeCoveredOrUsed($className, $methodName, 'uses');
-    }
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param string $mode
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_CodeCoverageException
-     *
-     * @since Method available since Release 4.2.0
-     */
-    private static function getLinesToBeCoveredOrUsed($className, $methodName, $mode)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $classShortcut = null;
-
-        if (!empty($annotations['class'][$mode . 'DefaultClass'])) {
-            if (count($annotations['class'][$mode . 'DefaultClass']) > 1) {
-                throw new PHPUnit_Framework_CodeCoverageException(
-                    sprintf(
-                        'More than one @%sClass annotation in class or interface "%s".',
-                        $mode,
-                        $className
-                    )
-                );
-            }
-
-            $classShortcut = $annotations['class'][$mode . 'DefaultClass'][0];
-        }
-
-        $list = [];
-
-        if (isset($annotations['class'][$mode])) {
-            $list = $annotations['class'][$mode];
-        }
-
-        if (isset($annotations['method'][$mode])) {
-            $list = array_merge($list, $annotations['method'][$mode]);
-        }
-
-        $codeList = [];
-
-        foreach (array_unique($list) as $element) {
-            if ($classShortcut && strncmp($element, '::', 2) === 0) {
-                $element = $classShortcut . $element;
-            }
-
-            $element = preg_replace('/[\s()]+$/', '', $element);
-            $element = explode(' ', $element);
-            $element = $element[0];
-
-            $codeList = array_merge(
-                $codeList,
-                self::resolveElementToReflectionObjects($element)
-            );
-        }
-
-        return self::resolveReflectionObjectsToLines($codeList);
-    }
-
-    /**
-     * Returns the requirements for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function getRequirements($className, $methodName)
-    {
-        $reflector  = new ReflectionClass($className);
-        $docComment = $reflector->getDocComment();
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment .= "\n" . $reflector->getDocComment();
-        $requires   = [];
-
-        if ($count = preg_match_all(self::REGEX_REQUIRES_OS, $docComment, $matches)) {
-            $requires['OS'] = sprintf(
-                '/%s/i',
-                addcslashes($matches['value'][$count - 1], '/')
-            );
-        }
-        if ($count = preg_match_all(self::REGEX_REQUIRES_VERSION, $docComment, $matches)) {
-            for ($i = 0; $i < $count; $i++) {
-                $requires[$matches['name'][$i]] = [
-                    'version'  => $matches['version'][$i],
-                    'operator' => $matches['operator'][$i]
-                ];
-            }
-        }
-
-        // https://bugs.php.net/bug.php?id=63055
-        $matches = [];
-
-        if ($count = preg_match_all(self::REGEX_REQUIRES, $docComment, $matches)) {
-            for ($i = 0; $i < $count; $i++) {
-                $name = $matches['name'][$i] . 's';
-                if (!isset($requires[$name])) {
-                    $requires[$name] = [];
-                }
-                $requires[$name][] = $matches['value'][$i];
-                if (empty($matches['version'][$i]) || $name != 'extensions') {
-                    continue;
-                }
-                $requires['extension_versions'][$matches['value'][$i]] = [
-                    'version'  => $matches['version'][$i],
-                    'operator' => $matches['operator'][$i]
-                ];
-            }
-        }
-
-        return $requires;
-    }
-
-    /**
-     * Returns the missing requirements for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 4.3.0
-     */
-    public static function getMissingRequirements($className, $methodName)
-    {
-        $required = static::getRequirements($className, $methodName);
-        $missing  = [];
-
-        $operator = empty($required['PHP']['operator']) ? '>=' : $required['PHP']['operator'];
-        if (!empty($required['PHP']) && !version_compare(PHP_VERSION, $required['PHP']['version'], $operator)) {
-            $missing[] = sprintf('PHP %s %s is required.', $operator, $required['PHP']['version']);
-        }
-
-        if (!empty($required['PHPUnit'])) {
-            $phpunitVersion = PHPUnit_Runner_Version::id();
-
-            $operator = empty($required['PHPUnit']['operator']) ? '>=' : $required['PHPUnit']['operator'];
-            if (!version_compare($phpunitVersion, $required['PHPUnit']['version'], $operator)) {
-                $missing[] = sprintf('PHPUnit %s %s is required.', $operator, $required['PHPUnit']['version']);
-            }
-        }
-
-        if (!empty($required['OS']) && !preg_match($required['OS'], PHP_OS)) {
-            $missing[] = sprintf('Operating system matching %s is required.', $required['OS']);
-        }
-
-        if (!empty($required['functions'])) {
-            foreach ($required['functions'] as $function) {
-                $pieces = explode('::', $function);
-                if (2 === count($pieces) && method_exists($pieces[0], $pieces[1])) {
-                    continue;
-                }
-                if (function_exists($function)) {
-                    continue;
-                }
-                $missing[] = sprintf('Function %s is required.', $function);
-            }
-        }
-
-        if (!empty($required['extensions'])) {
-            foreach ($required['extensions'] as $extension) {
-                if (isset($required['extension_versions'][$extension])) {
-                    continue;
-                }
-                if (!extension_loaded($extension)) {
-                    $missing[] = sprintf('Extension %s is required.', $extension);
-                }
-            }
-        }
-
-        if (!empty($required['extension_versions'])) {
-            foreach ($required['extension_versions'] as $extension => $required) {
-                $actualVersion = phpversion($extension);
-
-                $operator = empty($required['operator']) ? '>=' : $required['operator'];
-                if (false === $actualVersion || !version_compare($actualVersion, $required['version'], $operator)) {
-                    $missing[] = sprintf('Extension %s %s %s is required.', $extension, $operator, $required['version']);
-                }
-            }
-        }
-
-        return $missing;
-    }
-
-    /**
-     * Returns the expected exception for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.3.6
-     */
-    public static function getExpectedException($className, $methodName)
-    {
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment = $reflector->getDocComment();
-        $docComment = substr($docComment, 3, -2);
-
-        if (preg_match(self::REGEX_EXPECTED_EXCEPTION, $docComment, $matches)) {
-            $annotations = self::parseTestMethodAnnotations(
-                $className,
-                $methodName
-            );
-
-            $class         = $matches[1];
-            $code          = null;
-            $message       = '';
-            $messageRegExp = '';
-
-            if (isset($matches[2])) {
-                $message = trim($matches[2]);
-            } elseif (isset($annotations['method']['expectedExceptionMessage'])) {
-                $message = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionMessage'][0]
-                );
-            }
-
-            if (isset($annotations['method']['expectedExceptionMessageRegExp'])) {
-                $messageRegExp = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionMessageRegExp'][0]
-                );
-            }
-
-            if (isset($matches[3])) {
-                $code = $matches[3];
-            } elseif (isset($annotations['method']['expectedExceptionCode'])) {
-                $code = self::parseAnnotationContent(
-                    $annotations['method']['expectedExceptionCode'][0]
-                );
-            }
-
-            if (is_numeric($code)) {
-                $code = (int) $code;
-            } elseif (is_string($code) && defined($code)) {
-                $code = (int) constant($code);
-            }
-
-            return [
-              'class' => $class, 'code' => $code, 'message' => $message, 'message_regex' => $messageRegExp
-            ];
-        }
-
-        return false;
-    }
-
-    /**
-     * Parse annotation content to use constant/class constant values
-     *
-     * Constants are specified using a starting '@'. For example: @ClassName::CONST_NAME
-     *
-     * If the constant is not found the string is used as is to ensure maximum BC.
-     *
-     * @param string $message
-     *
-     * @return string
-     */
-    private static function parseAnnotationContent($message)
-    {
-        if (strpos($message, '::') !== false && count(explode('::', $message) == 2)) {
-            if (defined($message)) {
-                $message = constant($message);
-            }
-        }
-
-        return $message;
-    }
-
-    /**
-     * Returns the provided data for a method.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array|Iterator when a data provider is specified and exists
-     *                        null           when no data provider is specified
-     *
-     * @throws PHPUnit_Framework_Exception
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public static function getProvidedData($className, $methodName)
-    {
-        $reflector  = new ReflectionMethod($className, $methodName);
-        $docComment = $reflector->getDocComment();
-        $data       = null;
-
-        if ($dataProviderData = self::getDataFromDataProviderAnnotation($docComment, $className, $methodName)) {
-            $data = $dataProviderData;
-        }
-
-        if ($testWithData = self::getDataFromTestWithAnnotation($docComment)) {
-            $data = $testWithData;
-        }
-
-        if ($data !== null) {
-            if (is_object($data)) {
-                $data = iterator_to_array($data);
-            }
-
-            foreach ($data as $key => $value) {
-                if (!is_array($value)) {
-                    throw new PHPUnit_Framework_Exception(
-                        sprintf(
-                            'Data set %s is invalid.',
-                            is_int($key) ? '#' . $key : '"' . $key . '"'
-                        )
-                    );
-                }
-            }
-        }
-
-        return $data;
-    }
-
-    /**
-     * Returns the provided data for a method.
-     *
-     * @param string $docComment
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array|Iterator when a data provider is specified and exists
-     *                        null           when no data provider is specified
-     *
-     * @throws PHPUnit_Framework_Exception
-     */
-    private static function getDataFromDataProviderAnnotation($docComment, $className, $methodName)
-    {
-        if (preg_match(self::REGEX_DATA_PROVIDER, $docComment, $matches)) {
-            $dataProviderMethodNameNamespace = explode('\\', $matches[1]);
-            $leaf                            = explode('::', array_pop($dataProviderMethodNameNamespace));
-            $dataProviderMethodName          = array_pop($leaf);
-
-            if (!empty($dataProviderMethodNameNamespace)) {
-                $dataProviderMethodNameNamespace = implode('\\', $dataProviderMethodNameNamespace) . '\\';
-            } else {
-                $dataProviderMethodNameNamespace = '';
-            }
-
-            if (!empty($leaf)) {
-                $dataProviderClassName = $dataProviderMethodNameNamespace . array_pop($leaf);
-            } else {
-                $dataProviderClassName = $className;
-            }
-
-            $dataProviderClass  = new ReflectionClass($dataProviderClassName);
-            $dataProviderMethod = $dataProviderClass->getMethod(
-                $dataProviderMethodName
-            );
-
-            if ($dataProviderMethod->isStatic()) {
-                $object = null;
-            } else {
-                $object = $dataProviderClass->newInstance();
-            }
-
-            if ($dataProviderMethod->getNumberOfParameters() == 0) {
-                $data = $dataProviderMethod->invoke($object);
-            } else {
-                $data = $dataProviderMethod->invoke($object, $methodName);
-            }
-
-            return $data;
-        }
-    }
-
-    /**
-     * @param string $docComment full docComment string
-     *
-     * @return array when @testWith annotation is defined
-     *               null  when @testWith annotation is omitted
-     *
-     * @throws PHPUnit_Framework_Exception when @testWith annotation is defined but cannot be parsed
-     */
-    public static function getDataFromTestWithAnnotation($docComment)
-    {
-        $docComment = self::cleanUpMultiLineAnnotation($docComment);
-        if (preg_match(self::REGEX_TEST_WITH, $docComment, $matches, PREG_OFFSET_CAPTURE)) {
-            $offset            = strlen($matches[0][0]) + $matches[0][1];
-            $annotationContent = substr($docComment, $offset);
-            $data              = [];
-            foreach (explode("\n", $annotationContent) as $candidateRow) {
-                $candidateRow = trim($candidateRow);
-                $dataSet      = json_decode($candidateRow, true);
-                if (json_last_error() != JSON_ERROR_NONE) {
-                    break;
-                }
-                $data[] = $dataSet;
-            }
-
-            if (!$data) {
-                throw new PHPUnit_Framework_Exception('The dataset for the @testWith annotation cannot be parsed.');
-            }
-
-            return $data;
-        }
-    }
-
-    private static function cleanUpMultiLineAnnotation($docComment)
-    {
-        //removing initial '   * ' for docComment
-        $docComment = preg_replace('/' . '\n' . '\s*' . '\*' . '\s?' . '/', "\n", $docComment);
-        $docComment = substr($docComment, 0, -1);
-        $docComment = rtrim($docComment, "\n");
-
-        return $docComment;
-    }
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @throws ReflectionException
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function parseTestMethodAnnotations($className, $methodName = '')
-    {
-        if (!isset(self::$annotationCache[$className])) {
-            $class                             = new ReflectionClass($className);
-            self::$annotationCache[$className] = self::parseAnnotations($class->getDocComment());
-        }
-
-        if (!empty($methodName) && !isset(self::$annotationCache[$className . '::' . $methodName])) {
-            try {
-                $method      = new ReflectionMethod($className, $methodName);
-                $annotations = self::parseAnnotations($method->getDocComment());
-            } catch (ReflectionException $e) {
-                $annotations = [];
-            }
-            self::$annotationCache[$className . '::' . $methodName] = $annotations;
-        }
-
-        return [
-          'class'  => self::$annotationCache[$className],
-          'method' => !empty($methodName) ? self::$annotationCache[$className . '::' . $methodName] : []
-        ];
-    }
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 5.4.0
-     */
-    public static function getInlineAnnotations($className, $methodName)
-    {
-        $method      = new ReflectionMethod($className, $methodName);
-        $code        = file($method->getFileName());
-        $lineNumber  = $method->getStartLine();
-        $startLine   = $method->getStartLine() - 1;
-        $endLine     = $method->getEndLine() - 1;
-        $methodLines = array_slice($code, $startLine, $endLine - $startLine + 1);
-        $annotations = [];
-
-        foreach ($methodLines as $line) {
-            if (preg_match('#/\*\*?\s*@(?P<name>[A-Za-z_-]+)(?:[ \t]+(?P<value>.*?))?[ \t]*\r?\*/$#m', $line, $matches)) {
-                $annotations[strtolower($matches['name'])] = [
-                    'line'  => $lineNumber,
-                    'value' => $matches['value']
-                ];
-            }
-
-            $lineNumber++;
-        }
-
-        return $annotations;
-    }
-
-    /**
-     * @param string $docblock
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    private static function parseAnnotations($docblock)
-    {
-        $annotations = [];
-        // Strip away the docblock header and footer to ease parsing of one line annotations
-        $docblock = substr($docblock, 3, -2);
-
-        if (preg_match_all('/@(?P<name>[A-Za-z_-]+)(?:[ \t]+(?P<value>.*?))?[ \t]*\r?$/m', $docblock, $matches)) {
-            $numMatches = count($matches[0]);
-
-            for ($i = 0; $i < $numMatches; ++$i) {
-                $annotations[$matches['name'][$i]][] = $matches['value'][$i];
-            }
-        }
-
-        return $annotations;
-    }
-
-    /**
-     * Returns the backup settings for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getBackupSettings($className, $methodName)
-    {
-        return [
-          'backupGlobals' => self::getBooleanAnnotationSetting(
-              $className,
-              $methodName,
-              'backupGlobals'
-          ),
-          'backupStaticAttributes' => self::getBooleanAnnotationSetting(
-              $className,
-              $methodName,
-              'backupStaticAttributes'
-          )
-        ];
-    }
-
-    /**
-     * Returns the dependencies for a test class or method.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getDependencies($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $dependencies = [];
-
-        if (isset($annotations['class']['depends'])) {
-            $dependencies = $annotations['class']['depends'];
-        }
-
-        if (isset($annotations['method']['depends'])) {
-            $dependencies = array_merge(
-                $dependencies,
-                $annotations['method']['depends']
-            );
-        }
-
-        return array_unique($dependencies);
-    }
-
-    /**
-     * Returns the error handler settings for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getErrorHandlerSettings($className, $methodName)
-    {
-        return self::getBooleanAnnotationSetting(
-            $className,
-            $methodName,
-            'errorHandler'
-        );
-    }
-
-    /**
-     * Returns the groups for a test class or method.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.2.0
-     */
-    public static function getGroups($className, $methodName = '')
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $groups = [];
-
-        if (isset($annotations['method']['author'])) {
-            $groups = $annotations['method']['author'];
-        } elseif (isset($annotations['class']['author'])) {
-            $groups = $annotations['class']['author'];
-        }
-
-        if (isset($annotations['class']['group'])) {
-            $groups = array_merge($groups, $annotations['class']['group']);
-        }
-
-        if (isset($annotations['method']['group'])) {
-            $groups = array_merge($groups, $annotations['method']['group']);
-        }
-
-        if (isset($annotations['class']['ticket'])) {
-            $groups = array_merge($groups, $annotations['class']['ticket']);
-        }
-
-        if (isset($annotations['method']['ticket'])) {
-            $groups = array_merge($groups, $annotations['method']['ticket']);
-        }
-
-        foreach (['method', 'class'] as $element) {
-            foreach (['small', 'medium', 'large'] as $size) {
-                if (isset($annotations[$element][$size])) {
-                    $groups[] = $size;
-                    break 2;
-                }
-            }
-        }
-
-        return array_unique($groups);
-    }
-
-    /**
-     * Returns the size of the test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return int
-     *
-     * @since Method available since Release 3.6.0
-     */
-    public static function getSize($className, $methodName)
-    {
-        $groups = array_flip(self::getGroups($className, $methodName));
-        $size   = self::UNKNOWN;
-        $class  = new ReflectionClass($className);
-
-        if (isset($groups['large']) ||
-            (class_exists('PHPUnit_Extensions_Database_TestCase', false) &&
-             $class->isSubclassOf('PHPUnit_Extensions_Database_TestCase'))) {
-            $size = self::LARGE;
-        } elseif (isset($groups['medium'])) {
-            $size = self::MEDIUM;
-        } elseif (isset($groups['small'])) {
-            $size = self::SMALL;
-        }
-
-        return $size;
-    }
-
-    /**
-     * Returns the tickets for a test class or method.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return array
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getTickets($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $tickets = [];
-
-        if (isset($annotations['class']['ticket'])) {
-            $tickets = $annotations['class']['ticket'];
-        }
-
-        if (isset($annotations['method']['ticket'])) {
-            $tickets = array_merge($tickets, $annotations['method']['ticket']);
-        }
-
-        return array_unique($tickets);
-    }
-
-    /**
-     * Returns the process isolation settings for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.4.1
-     */
-    public static function getProcessIsolationSettings($className, $methodName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        if (isset($annotations['class']['runTestsInSeparateProcesses']) ||
-            isset($annotations['method']['runInSeparateProcess'])) {
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-    /**
-     * Returns the preserve global state settings for a test.
-     *
-     * @param string $className
-     * @param string $methodName
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function getPreserveGlobalStateSettings($className, $methodName)
-    {
-        return self::getBooleanAnnotationSetting(
-            $className,
-            $methodName,
-            'preserveGlobalState'
-        );
-    }
-
-    /**
-     * @param string $className
-     *
-     * @return array
-     *
-     * @since Method available since Release 4.0.8
-     */
-    public static function getHookMethods($className)
-    {
-        if (!class_exists($className, false)) {
-            return self::emptyHookMethodsArray();
-        }
-
-        if (!isset(self::$hookMethods[$className])) {
-            self::$hookMethods[$className] = self::emptyHookMethodsArray();
-
-            try {
-                $class = new ReflectionClass($className);
-
-                foreach ($class->getMethods() as $method) {
-                    if (self::isBeforeClassMethod($method)) {
-                        self::$hookMethods[$className]['beforeClass'][] = $method->getName();
-                    }
-
-                    if (self::isBeforeMethod($method)) {
-                        self::$hookMethods[$className]['before'][] = $method->getName();
-                    }
-
-                    if (self::isAfterMethod($method)) {
-                        self::$hookMethods[$className]['after'][] = $method->getName();
-                    }
-
-                    if (self::isAfterClassMethod($method)) {
-                        self::$hookMethods[$className]['afterClass'][] = $method->getName();
-                    }
-                }
-            } catch (ReflectionException $e) {
-            }
-        }
-
-        return self::$hookMethods[$className];
-    }
-
-    /**
-     * @return array
-     *
-     * @since Method available since Release 4.0.9
-     */
-    private static function emptyHookMethodsArray()
-    {
-        return [
-            'beforeClass' => ['setUpBeforeClass'],
-            'before'      => ['setUp'],
-            'after'       => ['tearDown'],
-            'afterClass'  => ['tearDownAfterClass']
-        ];
-    }
-
-    /**
-     * @param string $className
-     * @param string $methodName
-     * @param string $settingName
-     *
-     * @return bool
-     *
-     * @since Method available since Release 3.4.0
-     */
-    private static function getBooleanAnnotationSetting($className, $methodName, $settingName)
-    {
-        $annotations = self::parseTestMethodAnnotations(
-            $className,
-            $methodName
-        );
-
-        $result = null;
-
-        if (isset($annotations['class'][$settingName])) {
-            if ($annotations['class'][$settingName][0] == 'enabled') {
-                $result = true;
-            } elseif ($annotations['class'][$settingName][0] == 'disabled') {
-                $result = false;
-            }
-        }
-
-        if (isset($annotations['method'][$settingName])) {
-            if ($annotations['method'][$settingName][0] == 'enabled') {
-                $result = true;
-            } elseif ($annotations['method'][$settingName][0] == 'disabled') {
-                $result = false;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param string $element
-     *
-     * @return array
-     *
-     * @throws PHPUnit_Framework_InvalidCoversTargetException
-     *
-     * @since Method available since Release 4.0.0
-     */
-    private static function resolveElementToReflectionObjects($element)
-    {
-        $codeToCoverList = [];
-
-        if (strpos($element, '\\') !== false && function_exists($element)) {
-            $codeToCoverList[] = new ReflectionFunction($element);
-        } elseif (strpos($element, '::') !== false) {
-            list($className, $methodName) = explode('::', $element);
-
-            if (isset($methodName[0]) && $methodName[0] == '<') {
-                $classes = [$className];
-
-                foreach ($classes as $className) {
-                    if (!class_exists($className) &&
-                        !interface_exists($className) &&
-                        !trait_exists($className)) {
-                        throw new PHPUnit_Framework_InvalidCoversTargetException(
-                            sprintf(
-                                'Trying to @cover or @use not existing class or ' .
-                                'interface "%s".',
-                                $className
-                            )
-                        );
-                    }
-
-                    $class   = new ReflectionClass($className);
-                    $methods = $class->getMethods();
-                    $inverse = isset($methodName[1]) && $methodName[1] == '!';
-
-                    if (strpos($methodName, 'protected')) {
-                        $visibility = 'isProtected';
-                    } elseif (strpos($methodName, 'private')) {
-                        $visibility = 'isPrivate';
-                    } elseif (strpos($methodName, 'public')) {
-                        $visibility = 'isPublic';
-                    }
-
-                    foreach ($methods as $method) {
-                        if ($inverse && !$method->$visibility()) {
-                            $codeToCoverList[] = $method;
-                        } elseif (!$inverse && $method->$visibility()) {
-                            $codeToCoverList[] = $method;
-                        }
-                    }
-                }
-            } else {
-                $classes = [$className];
-
-                foreach ($classes as $className) {
-                    if ($className == '' && function_exists($methodName)) {
-                        $codeToCoverList[] = new ReflectionFunction(
-                            $methodName
-                        );
-                    } else {
-                        if (!((class_exists($className) ||
-                               interface_exists($className) ||
-                               trait_exists($className)) &&
-                              method_exists($className, $methodName))) {
-                            throw new PHPUnit_Framework_InvalidCoversTargetException(
-                                sprintf(
-                                    'Trying to @cover or @use not existing method "%s::%s".',
-                                    $className,
-                                    $methodName
-                                )
-                            );
-                        }
-
-                        $codeToCoverList[] = new ReflectionMethod(
-                            $className,
-                            $methodName
-                        );
-                    }
-                }
-            }
-        } else {
-            $extended = false;
-
-            if (strpos($element, '<extended>') !== false) {
-                $element  = str_replace('<extended>', '', $element);
-                $extended = true;
-            }
-
-            $classes = [$element];
-
-            if ($extended) {
-                $classes = array_merge(
-                    $classes,
-                    class_implements($element),
-                    class_parents($element)
-                );
-            }
-
-            foreach ($classes as $className) {
-                if (!class_exists($className) &&
-                    !interface_exists($className) &&
-                    !trait_exists($className)) {
-                    throw new PHPUnit_Framework_InvalidCoversTargetException(
-                        sprintf(
-                            'Trying to @cover or @use not existing class or ' .
-                            'interface "%s".',
-                            $className
-                        )
-                    );
-                }
-
-                $codeToCoverList[] = new ReflectionClass($className);
-            }
-        }
-
-        return $codeToCoverList;
-    }
-
-    /**
-     * @param array $reflectors
-     *
-     * @return array
-     */
-    private static function resolveReflectionObjectsToLines(array $reflectors)
-    {
-        $result = [];
-
-        foreach ($reflectors as $reflector) {
-            $filename = $reflector->getFileName();
-
-            if (!isset($result[$filename])) {
-                $result[$filename] = [];
-            }
-
-            $result[$filename] = array_unique(
-                array_merge(
-                    $result[$filename],
-                    range($reflector->getStartLine(), $reflector->getEndLine())
-                )
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.8
-     */
-    private static function isBeforeClassMethod(ReflectionMethod $method)
-    {
-        return $method->isStatic() && strpos($method->getDocComment(), '@beforeClass') !== false;
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.8
-     */
-    private static function isBeforeMethod(ReflectionMethod $method)
-    {
-        return preg_match('/@before\b/', $method->getDocComment());
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.8
-     */
-    private static function isAfterClassMethod(ReflectionMethod $method)
-    {
-        return $method->isStatic() && strpos($method->getDocComment(), '@afterClass') !== false;
-    }
-
-    /**
-     * @param ReflectionMethod $method
-     *
-     * @return bool
-     *
-     * @since Method available since Release 4.0.8
-     */
-    private static function isAfterMethod(ReflectionMethod $method)
-    {
-        return preg_match('/@after\b/', $method->getDocComment());
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prettifies class and method names for use in TestDox documentation.
- *
- * @since Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_NamePrettifier
-{
-    /**
-     * @var string
-     */
-    protected $prefix = 'Test';
-
-    /**
-     * @var string
-     */
-    protected $suffix = 'Test';
-
-    /**
-     * @var array
-     */
-    protected $strings = [];
-
-    /**
-     * Prettifies the name of a test class.
-     *
-     * @param string $name
-     *
-     * @return string
-     */
-    public function prettifyTestClass($name)
-    {
-        $title = $name;
-
-        if ($this->suffix !== null &&
-            $this->suffix == substr($name, -1 * strlen($this->suffix))) {
-            $title = substr($title, 0, strripos($title, $this->suffix));
-        }
-
-        if ($this->prefix !== null &&
-            $this->prefix == substr($name, 0, strlen($this->prefix))) {
-            $title = substr($title, strlen($this->prefix));
-        }
-
-        if (substr($title, 0, 1) == '\\') {
-            $title = substr($title, 1);
-        }
-
-        return $title;
-    }
-
-    /**
-     * Prettifies the name of a test method.
-     *
-     * @param string $name
-     *
-     * @return string
-     */
-    public function prettifyTestMethod($name)
-    {
-        $buffer = '';
-
-        if (!is_string($name) || strlen($name) == 0) {
-            return $buffer;
-        }
-
-        $string = preg_replace('#\d+$#', '', $name, -1, $count);
-
-        if (in_array($string, $this->strings)) {
-            $name = $string;
-        } elseif ($count == 0) {
-            $this->strings[] = $string;
-        }
-
-        if (substr($name, 0, 4) == 'test') {
-            $name = substr($name, 4);
-        }
-
-        if (strlen($name) == 0) {
-            return $buffer;
-        }
-
-        $name[0] = strtoupper($name[0]);
-
-        if (strpos($name, '_') !== false) {
-            return trim(str_replace('_', ' ', $name));
-        }
-
-        $max        = strlen($name);
-        $wasNumeric = false;
-
-        for ($i = 0; $i < $max; $i++) {
-            if ($i > 0 &&
-                ord($name[$i]) >= 65 &&
-                ord($name[$i]) <= 90) {
-                $buffer .= ' ' . strtolower($name[$i]);
-            } else {
-                $isNumeric = is_numeric($name[$i]);
-
-                if (!$wasNumeric && $isNumeric) {
-                    $buffer    .= ' ';
-                    $wasNumeric = true;
-                }
-
-                if ($wasNumeric && !$isNumeric) {
-                    $wasNumeric = false;
-                }
-
-                $buffer .= $name[$i];
-            }
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * Sets the prefix of test names.
-     *
-     * @param string $prefix
-     */
-    public function setPrefix($prefix)
-    {
-        $this->prefix = $prefix;
-    }
-
-    /**
-     * Sets the suffix of test names.
-     *
-     * @param string $suffix
-     */
-    public function setSuffix($suffix)
-    {
-        $this->suffix = $suffix;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for printers of TestDox documentation.
- *
- * @since Class available since Release 2.1.0
- */
-abstract class PHPUnit_Util_TestDox_ResultPrinter extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var PHPUnit_Util_TestDox_NamePrettifier
-     */
-    protected $prettifier;
-
-    /**
-     * @var string
-     */
-    protected $testClass = '';
-
-    /**
-     * @var int
-     */
-    protected $testStatus = false;
-
-    /**
-     * @var array
-     */
-    protected $tests = [];
-
-    /**
-     * @var int
-     */
-    protected $successful = 0;
-
-    /**
-     * @var int
-     */
-    protected $warned = 0;
-
-    /**
-     * @var int
-     */
-    protected $failed = 0;
-
-    /**
-     * @var int
-     */
-    protected $risky = 0;
-
-    /**
-     * @var int
-     */
-    protected $skipped = 0;
-
-    /**
-     * @var int
-     */
-    protected $incomplete = 0;
-
-    /**
-     * @var string
-     */
-    protected $currentTestClassPrettified;
-
-    /**
-     * @var string
-     */
-    protected $currentTestMethodPrettified;
-
-    /**
-     * @var array
-     */
-    private $groups;
-
-    /**
-     * @var array
-     */
-    private $excludeGroups;
-
-    /**
-     * @param resource $out
-     * @param array    $groups
-     * @param array    $excludeGroups
-     */
-    public function __construct($out = null, array $groups = [], array $excludeGroups = [])
-    {
-        parent::__construct($out);
-
-        $this->groups        = $groups;
-        $this->excludeGroups = $excludeGroups;
-
-        $this->prettifier = new PHPUnit_Util_TestDox_NamePrettifier;
-        $this->startRun();
-    }
-
-    /**
-     * Flush buffer and close output.
-     */
-    public function flush()
-    {
-        $this->doEndClass();
-        $this->endRun();
-
-        parent::flush();
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_ERROR;
-        $this->failed++;
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     *
-     * @since Method available since Release 5.1.0
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_WARNING;
-        $this->warned++;
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE;
-        $this->failed++;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE;
-        $this->incomplete++;
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 4.0.0
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_RISKY;
-        $this->risky++;
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     *
-     * @since Method available since Release 3.0.0
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED;
-        $this->skipped++;
-    }
-
-    /**
-     * A testsuite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A testsuite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     *
-     * @since Method available since Release 2.2.0
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        $class = get_class($test);
-
-        if ($this->testClass != $class) {
-            if ($this->testClass != '') {
-                $this->doEndClass();
-            }
-
-            $classAnnotations = PHPUnit_Util_Test::parseTestMethodAnnotations($class);
-            if (isset($classAnnotations['class']['testdox'][0])) {
-                $this->currentTestClassPrettified = $classAnnotations['class']['testdox'][0];
-            } else {
-                $this->currentTestClassPrettified = $this->prettifier->prettifyTestClass($class);
-            }
-
-            $this->startClass($class);
-
-            $this->testClass = $class;
-            $this->tests     = [];
-        }
-
-        $annotations = $test->getAnnotations();
-
-        if (isset($annotations['method']['testdox'][0])) {
-            $this->currentTestMethodPrettified = $annotations['method']['testdox'][0];
-        } else {
-            $this->currentTestMethodPrettified = $this->prettifier->prettifyTestMethod($test->getName(false));
-        }
-
-        if ($test instanceof PHPUnit_Framework_TestCase && $test->usesDataProvider()) {
-            $this->currentTestMethodPrettified .= ' ' . $test->dataDescription();
-        }
-
-        $this->testStatus = PHPUnit_Runner_BaseTestRunner::STATUS_PASSED;
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$this->isOfInterest($test)) {
-            return;
-        }
-
-        if (!isset($this->tests[$this->currentTestMethodPrettified])) {
-            if ($this->testStatus == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                $this->tests[$this->currentTestMethodPrettified]['success'] = 1;
-                $this->tests[$this->currentTestMethodPrettified]['failure'] = 0;
-            } else {
-                $this->tests[$this->currentTestMethodPrettified]['success'] = 0;
-                $this->tests[$this->currentTestMethodPrettified]['failure'] = 1;
-            }
-        } else {
-            if ($this->testStatus == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
-                $this->tests[$this->currentTestMethodPrettified]['success']++;
-            } else {
-                $this->tests[$this->currentTestMethodPrettified]['failure']++;
-            }
-        }
-
-        $this->currentTestClassPrettified  = null;
-        $this->currentTestMethodPrettified = null;
-    }
-
-    /**
-     * @since Method available since Release 2.3.0
-     */
-    protected function doEndClass()
-    {
-        foreach ($this->tests as $name => $data) {
-            $this->onTest($name, $data['failure'] == 0);
-        }
-
-        $this->endClass($this->testClass);
-    }
-
-    /**
-     * Handler for 'start run' event.
-     */
-    protected function startRun()
-    {
-    }
-
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string $name
-     * @param bool   $success
-     */
-    protected function onTest($name, $success = true)
-    {
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-    }
-
-    /**
-     * Handler for 'end run' event.
-     */
-    protected function endRun()
-    {
-    }
-
-    /**
-     * @param PHPUnit_Framework_Test $test
-     *
-     * @return bool
-     */
-    private function isOfInterest(PHPUnit_Framework_Test $test)
-    {
-        if (!$test instanceof PHPUnit_Framework_TestCase) {
-            return false;
-        }
-
-        if ($test instanceof PHPUnit_Framework_WarningTestCase) {
-            return false;
-        }
-
-        if (!empty($this->groups)) {
-            foreach ($test->getGroups() as $group) {
-                if (in_array($group, $this->groups)) {
-                    return true;
-                }
-            }
-
-            return false;
-        }
-
-        if (!empty($this->excludeGroups)) {
-            foreach ($test->getGroups() as $group) {
-                if (in_array($group, $this->excludeGroups)) {
-                    return false;
-                }
-            }
-
-            return true;
-        }
-
-        return true;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prints TestDox documentation in HTML format.
- *
- * @since Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_ResultPrinter_HTML extends PHPUnit_Util_TestDox_ResultPrinter
-{
-    /**
-     * @var bool
-     */
-    protected $printsHTML = true;
-
-    /**
-     * @var string
-     */
-    private $pageHeader = <<<EOT
-<!doctype html>
-<html lang="en">
-    <head>
-        <meta charset="utf-8"/>
-        <title>Test Documentation</title>
-        <style>
-            body {
-                text-rendering: optimizeLegibility;
-                font-variant-ligatures: common-ligatures;
-                font-kerning: normal;
-                margin-left: 2em;
-            }
-
-            body > ul > li {
-                font-family: Source Serif Pro, PT Sans, Trebuchet MS, Helvetica, Arial;
-                font-size: 2em;
-            }
-
-            h2 {
-                font-family: Tahoma, Helvetica, Arial;
-                font-size: 3em;
-            }
-
-            ul {
-                list-style: none;
-                margin-bottom: 1em;
-            }
-        </style>
-    </head>
-    <body>
-EOT;
-
-    /**
-     * @var string
-     */
-    private $classHeader = <<<EOT
-
-        <h2 id="%s">%s</h2>
-        <ul>
-
-EOT;
-
-    /**
-     * @var string
-     */
-    private $classFooter = <<<EOT
-        </ul>
-EOT;
-
-    /**
-     * @var string
-     */
-    private $pageFooter = <<<EOT
-
-    </body>
-</html>
-EOT;
-
-    /**
-     * Handler for 'start run' event.
-     */
-    protected function startRun()
-    {
-        $this->write($this->pageHeader);
-    }
-
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-        $this->write(
-            sprintf(
-                $this->classHeader,
-                $name,
-                $this->currentTestClassPrettified
-            )
-        );
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string $name
-     * @param bool   $success
-     */
-    protected function onTest($name, $success = true)
-    {
-        $this->write(
-            sprintf(
-                "            <li style=\"color: %s;\">%s %s</li>\n",
-                $success ? '#555753' : '#ef2929',
-                $success ? '✓' : '❌',
-                $name
-            )
-        );
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-        $this->write($this->classFooter);
-    }
-
-    /**
-     * Handler for 'end run' event.
-     */
-    protected function endRun()
-    {
-        $this->write($this->pageFooter);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Prints TestDox documentation in text format.
- *
- * @since Class available since Release 2.1.0
- */
-class PHPUnit_Util_TestDox_ResultPrinter_Text extends PHPUnit_Util_TestDox_ResultPrinter
-{
-    /**
-     * Handler for 'start class' event.
-     *
-     * @param string $name
-     */
-    protected function startClass($name)
-    {
-        $this->write($this->currentTestClassPrettified . "\n");
-    }
-
-    /**
-     * Handler for 'on test' event.
-     *
-     * @param string $name
-     * @param bool   $success
-     */
-    protected function onTest($name, $success = true)
-    {
-        if ($success) {
-            $this->write(' [x] ');
-        } else {
-            $this->write(' [ ] ');
-        }
-
-        $this->write($name . "\n");
-    }
-
-    /**
-     * Handler for 'end class' event.
-     *
-     * @param string $name
-     */
-    protected function endClass($name)
-    {
-        $this->write("\n");
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 5.4.0
- */
-class PHPUnit_Util_TestDox_ResultPrinter_XML extends PHPUnit_Util_Printer implements PHPUnit_Framework_TestListener
-{
-    /**
-     * @var DOMDocument
-     */
-    private $document;
-
-    /**
-     * @var DOMElement
-     */
-    private $root;
-
-    /**
-     * @var PHPUnit_Util_TestDox_NamePrettifier
-     */
-    private $prettifier;
-
-    /**
-     * @var Exception
-     */
-    private $exception;
-
-    /**
-     * @param string|resource $out
-     */
-    public function __construct($out = null)
-    {
-        $this->document               = new DOMDocument('1.0', 'UTF-8');
-        $this->document->formatOutput = true;
-
-        $this->root = $this->document->createElement('tests');
-        $this->document->appendChild($this->root);
-
-        $this->prettifier = new PHPUnit_Util_TestDox_NamePrettifier;
-
-        parent::__construct($out);
-    }
-
-    /**
-     * Flush buffer and close output.
-     */
-    public function flush()
-    {
-        $this->write($this->document->saveXML());
-
-        parent::flush();
-    }
-
-    /**
-     * An error occurred.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-        $this->exception = $e;
-    }
-
-    /**
-     * A warning occurred.
-     *
-     * @param PHPUnit_Framework_Test    $test
-     * @param PHPUnit_Framework_Warning $e
-     * @param float                     $time
-     */
-    public function addWarning(PHPUnit_Framework_Test $test, PHPUnit_Framework_Warning $e, $time)
-    {
-    }
-
-    /**
-     * A failure occurred.
-     *
-     * @param PHPUnit_Framework_Test                 $test
-     * @param PHPUnit_Framework_AssertionFailedError $e
-     * @param float                                  $time
-     */
-    public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
-    {
-        $this->exception = $e;
-    }
-
-    /**
-     * Incomplete test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Risky test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addRiskyTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * Skipped test.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param Exception              $e
-     * @param float                  $time
-     */
-    public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
-    {
-    }
-
-    /**
-     * A test suite started.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test suite ended.
-     *
-     * @param PHPUnit_Framework_TestSuite $suite
-     */
-    public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
-    {
-    }
-
-    /**
-     * A test started.
-     *
-     * @param PHPUnit_Framework_Test $test
-     */
-    public function startTest(PHPUnit_Framework_Test $test)
-    {
-        $this->exception = null;
-    }
-
-    /**
-     * A test ended.
-     *
-     * @param PHPUnit_Framework_Test $test
-     * @param float                  $time
-     */
-    public function endTest(PHPUnit_Framework_Test $test, $time)
-    {
-        if (!$test instanceof PHPUnit_Framework_TestCase) {
-            return;
-        }
-
-        /* @var PHPUnit_Framework_TestCase $test */
-
-        $groups = array_filter(
-            $test->getGroups(),
-            function ($group) {
-                if ($group == 'small' || $group == 'medium' || $group == 'large') {
-                    return false;
-                }
-
-                return true;
-            }
-        );
-
-        $node = $this->document->createElement('test');
-
-        $node->setAttribute('className', get_class($test));
-        $node->setAttribute('methodName', $test->getName());
-        $node->setAttribute('prettifiedClassName', $this->prettifier->prettifyTestClass(get_class($test)));
-        $node->setAttribute('prettifiedMethodName', $this->prettifier->prettifyTestMethod($test->getName()));
-        $node->setAttribute('status', $test->getStatus());
-        $node->setAttribute('time', $time);
-        $node->setAttribute('size', $test->getSize());
-        $node->setAttribute('groups', implode(',', $groups));
-
-        $inlineAnnotations = PHPUnit_Util_Test::getInlineAnnotations(get_class($test), $test->getName());
-
-        if (isset($inlineAnnotations['given']) && isset($inlineAnnotations['when']) && isset($inlineAnnotations['then'])) {
-            $node->setAttribute('given', $inlineAnnotations['given']['value']);
-            $node->setAttribute('givenStartLine', $inlineAnnotations['given']['line']);
-            $node->setAttribute('when', $inlineAnnotations['when']['value']);
-            $node->setAttribute('whenStartLine', $inlineAnnotations['when']['line']);
-            $node->setAttribute('then', $inlineAnnotations['then']['value']);
-            $node->setAttribute('thenStartLine', $inlineAnnotations['then']['line']);
-        }
-
-        if ($this->exception !== null) {
-            if ($this->exception instanceof PHPUnit_Framework_Exception) {
-                $steps = $this->exception->getSerializableTrace();
-            } else {
-                $steps = $this->exception->getTrace();
-            }
-
-            $class = new ReflectionClass($test);
-            $file  = $class->getFileName();
-
-            foreach ($steps as $step) {
-                if (isset($step['file']) && $step['file'] == $file) {
-                    $node->setAttribute('exceptionLine', $step['line']);
-
-                    break;
-                }
-            }
-
-            $node->setAttribute('exceptionMessage', $this->exception->getMessage());
-        }
-
-        $this->root->appendChild($node);
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Iterator for test suites.
- *
- * @since Class available since Release 3.1.0
- */
-class PHPUnit_Util_TestSuiteIterator implements RecursiveIterator
-{
-    /**
-     * @var int
-     */
-    protected $position;
-
-    /**
-     * @var PHPUnit_Framework_Test[]
-     */
-    protected $tests;
-
-    /**
-     * @param PHPUnit_Framework_TestSuite $testSuite
-     */
-    public function __construct(PHPUnit_Framework_TestSuite $testSuite)
-    {
-        $this->tests = $testSuite->tests();
-    }
-
-    /**
-     * Rewinds the Iterator to the first element.
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * Checks if there is a current element after calls to rewind() or next().
-     *
-     * @return bool
-     */
-    public function valid()
-    {
-        return $this->position < count($this->tests);
-    }
-
-    /**
-     * Returns the key of the current element.
-     *
-     * @return int
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * Returns the current element.
-     *
-     * @return PHPUnit_Framework_Test
-     */
-    public function current()
-    {
-        return $this->valid() ? $this->tests[$this->position] : null;
-    }
-
-    /**
-     * Moves forward to next element.
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * Returns the sub iterator for the current element.
-     *
-     * @return PHPUnit_Util_TestSuiteIterator
-     */
-    public function getChildren()
-    {
-        return new self(
-            $this->tests[$this->position]
-        );
-    }
-
-    /**
-     * Checks whether the current element has children.
-     *
-     * @return bool
-     */
-    public function hasChildren()
-    {
-        return $this->tests[$this->position] instanceof PHPUnit_Framework_TestSuite;
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for textual type (and value) representation.
- *
- * @since Class available since Release 3.0.0
- */
-class PHPUnit_Util_Type
-{
-    public static function isType($type)
-    {
-        return in_array(
-            $type,
-            [
-                'numeric',
-                'integer',
-                'int',
-                'float',
-                'string',
-                'boolean',
-                'bool',
-                'null',
-                'array',
-                'object',
-                'resource',
-                'scalar'
-            ]
-        );
-    }
-}
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * XML helpers.
- *
- * @since Class available since Release 3.2.0
- */
-class PHPUnit_Util_XML
-{
-    /**
-     * Load an $actual document into a DOMDocument.  This is called
-     * from the selector assertions.
-     *
-     * If $actual is already a DOMDocument, it is returned with
-     * no changes.  Otherwise, $actual is loaded into a new DOMDocument
-     * as either HTML or XML, depending on the value of $isHtml. If $isHtml is
-     * false and $xinclude is true, xinclude is performed on the loaded
-     * DOMDocument.
-     *
-     * Note: prior to PHPUnit 3.3.0, this method loaded a file and
-     * not a string as it currently does.  To load a file into a
-     * DOMDocument, use loadFile() instead.
-     *
-     * @param string|DOMDocument $actual
-     * @param bool               $isHtml
-     * @param string             $filename
-     * @param bool               $xinclude
-     * @param bool               $strict
-     *
-     * @return DOMDocument
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function load($actual, $isHtml = false, $filename = '', $xinclude = false, $strict = false)
-    {
-        if ($actual instanceof DOMDocument) {
-            return $actual;
-        }
-
-        if (!is_string($actual)) {
-            throw new PHPUnit_Framework_Exception('Could not load XML from ' . gettype($actual));
-        }
-
-        if ($actual === '') {
-            throw new PHPUnit_Framework_Exception('Could not load XML from empty string');
-        }
-
-        // Required for XInclude on Windows.
-        if ($xinclude) {
-            $cwd = getcwd();
-            @chdir(dirname($filename));
-        }
-
-        $document                     = new DOMDocument;
-        $document->preserveWhiteSpace = false;
-
-        $internal  = libxml_use_internal_errors(true);
-        $message   = '';
-        $reporting = error_reporting(0);
-
-        if ('' !== $filename) {
-            // Necessary for xinclude
-            $document->documentURI = $filename;
-        }
-
-        if ($isHtml) {
-            $loaded = $document->loadHTML($actual);
-        } else {
-            $loaded = $document->loadXML($actual);
-        }
-
-        if (!$isHtml && $xinclude) {
-            $document->xinclude();
-        }
-
-        foreach (libxml_get_errors() as $error) {
-            $message .= "\n" . $error->message;
-        }
-
-        libxml_use_internal_errors($internal);
-        error_reporting($reporting);
-
-        if ($xinclude) {
-            @chdir($cwd);
-        }
-
-        if ($loaded === false || ($strict && $message !== '')) {
-            if ($filename !== '') {
-                throw new PHPUnit_Framework_Exception(
-                    sprintf(
-                        'Could not load "%s".%s',
-                        $filename,
-                        $message != '' ? "\n" . $message : ''
-                    )
-                );
-            } else {
-                if ($message === '') {
-                    $message = 'Could not load XML for unknown reason';
-                }
-                throw new PHPUnit_Framework_Exception($message);
-            }
-        }
-
-        return $document;
-    }
-
-    /**
-     * Loads an XML (or HTML) file into a DOMDocument object.
-     *
-     * @param string $filename
-     * @param bool   $isHtml
-     * @param bool   $xinclude
-     * @param bool   $strict
-     *
-     * @return DOMDocument
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function loadFile($filename, $isHtml = false, $xinclude = false, $strict = false)
-    {
-        $reporting = error_reporting(0);
-        $contents  = file_get_contents($filename);
-        error_reporting($reporting);
-
-        if ($contents === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        return self::load($contents, $isHtml, $filename, $xinclude, $strict);
-    }
-
-    /**
-     * @param DOMNode $node
-     *
-     * @since Method available since Release 3.3.0
-     */
-    public static function removeCharacterDataNodes(DOMNode $node)
-    {
-        if ($node->hasChildNodes()) {
-            for ($i = $node->childNodes->length - 1; $i >= 0; $i--) {
-                if (($child = $node->childNodes->item($i)) instanceof DOMCharacterData) {
-                    $node->removeChild($child);
-                }
-            }
-        }
-    }
-
-    /**
-     * Escapes a string for the use in XML documents
-     * Any Unicode character is allowed, excluding the surrogate blocks, FFFE,
-     * and FFFF (not even as character reference).
-     * See http://www.w3.org/TR/xml/#charsets
-     *
-     * @param string $string
-     *
-     * @return string
-     *
-     * @since Method available since Release 3.4.6
-     */
-    public static function prepareString($string)
-    {
-        return preg_replace(
-            '/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]/',
-            '',
-            htmlspecialchars(
-                PHPUnit_Util_String::convertToUtf8($string),
-                ENT_QUOTES,
-                'UTF-8'
-            )
-        );
-    }
-
-    /**
-     * "Convert" a DOMElement object into a PHP variable.
-     *
-     * @param DOMElement $element
-     *
-     * @return mixed
-     *
-     * @since Method available since Release 3.4.0
-     */
-    public static function xmlToVariable(DOMElement $element)
-    {
-        $variable = null;
-
-        switch ($element->tagName) {
-            case 'array':
-                $variable = [];
-
-                foreach ($element->getElementsByTagName('element') as $element) {
-                    $item = $element->childNodes->item(0);
-
-                    if ($item instanceof DOMText) {
-                        $item = $element->childNodes->item(1);
-                    }
-
-                    $value = self::xmlToVariable($item);
-
-                    if ($element->hasAttribute('key')) {
-                        $variable[(string) $element->getAttribute('key')] = $value;
-                    } else {
-                        $variable[] = $value;
-                    }
-                }
-                break;
-
-            case 'object':
-                $className = $element->getAttribute('class');
-
-                if ($element->hasChildNodes()) {
-                    $arguments       = $element->childNodes->item(1)->childNodes;
-                    $constructorArgs = [];
-
-                    foreach ($arguments as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            $constructorArgs[] = self::xmlToVariable($argument);
-                        }
-                    }
-
-                    $class    = new ReflectionClass($className);
-                    $variable = $class->newInstanceArgs($constructorArgs);
-                } else {
-                    $variable = new $className;
-                }
-                break;
-
-            case 'boolean':
-                $variable = $element->textContent == 'true' ? true : false;
-                break;
-
-            case 'integer':
-            case 'double':
-            case 'string':
-                $variable = $element->textContent;
-
-                settype($variable, $element->tagName);
-                break;
-        }
-
-        return $variable;
-    }
-}
-	���g���(�=xO����x���GBMB
\ No newline at end of file
diff --git a/src/main/edu/wisc/doit/LocalUserDetailsAttributeMapper.php b/src/main/edu/wisc/doit/LocalUserDetailsAttributeMapper.php
index acdc388..9f8f0f7 100644
--- a/src/main/edu/wisc/doit/LocalUserDetailsAttributeMapper.php
+++ b/src/main/edu/wisc/doit/LocalUserDetailsAttributeMapper.php
@@ -14,14 +14,12 @@ class LocalUserDetailsAttributeMapper implements UserDetailsAttributeMapper
     public function mapUser()
     {
         $jsonString = file_get_contents(__DIR__ . "/../../../resources/localuser.json");
-        if ($jsonString == false) {
+        if ($jsonString === false) {
             return null;
         }
 
-        // Load user attributes into a standard PHP array (true specifies array)
-        $userAttributes = json_decode($jsonString, true);
-        
-        return $userAttributes;
+        // Return user attributes into a standard PHP array (true specifies array)
+        return json_decode($jsonString, true);
     }
 
 }
\ No newline at end of file
diff --git a/src/main/edu/wisc/doit/LocalUserDetailsService.php b/src/main/edu/wisc/doit/LocalUserDetailsService.php
index f759528..42704aa 100644
--- a/src/main/edu/wisc/doit/LocalUserDetailsService.php
+++ b/src/main/edu/wisc/doit/LocalUserDetailsService.php
@@ -36,17 +36,17 @@ class LocalUserDetailsService implements UserDetailsService
             return null;
         }
         
-        $userDetails = new UWUserDetails($userAttributes[UserDetailsAttributeMapper::EPPN],
-                                         $userAttributes[UserDetailsAttributeMapper::PVI],
-                                         $userAttributes[UserDetailsAttributeMapper::FULLNAME],
-                                         $userAttributes[UserDetailsAttributeMapper::UDDS],
-                                         $userAttributes[UserDetailsAttributeMapper::EMAIL],
-                                         $userAttributes[UserDetailsAttributeMapper::SOURCE],
-                                         $userAttributes[UserDetailsAttributeMapper::ISIS_EMPLID],
-                                         $userAttributes[UserDetailsAttributeMapper::FIRST_NAME],
-                                         $userAttributes[UserDetailsAttributeMapper::LAST_NAME]);
-        
-        return $userDetails;
+        return new UWUserDetails(
+            $userAttributes[UserDetailsAttributeMapper::EPPN],
+            $userAttributes[UserDetailsAttributeMapper::PVI],
+            $userAttributes[UserDetailsAttributeMapper::FULLNAME],
+            $userAttributes[UserDetailsAttributeMapper::UDDS],
+            $userAttributes[UserDetailsAttributeMapper::EMAIL],
+            $userAttributes[UserDetailsAttributeMapper::SOURCE],
+            $userAttributes[UserDetailsAttributeMapper::ISIS_EMPLID],
+            $userAttributes[UserDetailsAttributeMapper::FIRST_NAME],
+            $userAttributes[UserDetailsAttributeMapper::LAST_NAME]
+        );
     }
     
 }
\ No newline at end of file
diff --git a/src/main/edu/wisc/doit/PreauthUserDetailsAttributeMapper.php b/src/main/edu/wisc/doit/PreauthUserDetailsAttributeMapper.php
new file mode 100644
index 0000000..d0b8118
--- /dev/null
+++ b/src/main/edu/wisc/doit/PreauthUserDetailsAttributeMapper.php
@@ -0,0 +1,36 @@
+<?php
+
+namespace edu\wisc\doit;
+
+/**
+ * Default implementation of {@UserDetailsAttributeMapper} for use in preauthenticated (Shibboleth) environments.
+ */
+class PreauthUserDetailsAttributeMapper implements UserDetailsAttributeMapper
+{
+
+    /**
+     * {@inheritdoc}
+     */
+    public function mapUser()
+    {
+        $userAttributes[UserDetailsAttributeMapper::EPPN] = $_SERVER[UserDetailsAttributeMapper::EPPN];
+        $userAttributes[UserDetailsAttributeMapper::PVI] = $_SERVER[UserDetailsAttributeMapper::PVI];
+        $userAttributes[UserDetailsAttributeMapper::FULLNAME] = $_SERVER[UserDetailsAttributeMapper::FULLNAME];
+        $userAttributes[UserDetailsAttributeMapper::FIRST_NAME] = $_SERVER[UserDetailsAttributeMapper::FIRST_NAME];
+        $userAttributes[UserDetailsAttributeMapper::LAST_NAME] = $_SERVER[UserDetailsAttributeMapper::LAST_NAME];
+        $userAttributes[UserDetailsAttributeMapper::EMAIL] = $_SERVER[UserDetailsAttributeMapper::EMAIL];
+        $userAttributes[UserDetailsAttributeMapper::UDDS] = $_SERVER[UserDetailsAttributeMapper::UDDS];
+        $userAttributes[UserDetailsAttributeMapper::SOURCE] = $_SERVER[UserDetailsAttributeMapper::SOURCE];
+        $userAttributes[UserDetailsAttributeMapper::ISIS_EMPLID] = $_SERVER[UserDetailsAttributeMapper::ISIS_EMPLID];
+
+        // Require EPPN, PVI and FULLNAME to be set to consider user loading successful
+        if (empty($userAttributes[UserDetailsAttributeMapper::EPPN]) ||
+            empty($userAttributes[UserDetailsAttributeMapper::PVI]) ||
+            empty($userAttributes[UserDetailsAttributeMapper::FULLNAME])) {
+            return null;
+        }
+        
+        return $userAttributes;
+    }
+
+}
diff --git a/src/main/edu/wisc/doit/PreauthUserDetailsService.php b/src/main/edu/wisc/doit/PreauthUserDetailsService.php
new file mode 100644
index 0000000..11a5aa0
--- /dev/null
+++ b/src/main/edu/wisc/doit/PreauthUserDetailsService.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace edu\wisc\doit;
+
+/**
+ * Default implementation of {@UserDetailsAttributeMapper} for use in preauthenticated (Shibboleth) environments.
+ */
+class PreauthUserDetailsService implements UserDetailsService
+{
+
+    /** @var UserDetailsAttributeMapper */
+    private $attributeMapper;
+
+    /**
+     * PreauthUserDetailsService constructor.
+     * @param UserDetailsAttributeMapper|null $mapper
+     */
+    public function __construct(UserDetailsAttributeMapper $mapper = null)
+    {
+        if ($mapper == null) {
+            $this->attributeMapper = new PreauthUserDetailsAttributeMapper();
+        } else {
+            $this->attributeMapper = $mapper;
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function loadUser()
+    {
+        $userAttributes = $this->attributeMapper->mapUser();
+
+        // Return null if attribute reading failed
+        if ($userAttributes == null) {
+            return null;
+        }
+
+        return new UWUserDetails(
+            $userAttributes[UserDetailsAttributeMapper::EPPN],
+            $userAttributes[UserDetailsAttributeMapper::PVI],
+            $userAttributes[UserDetailsAttributeMapper::FULLNAME],
+            $userAttributes[UserDetailsAttributeMapper::UDDS],
+            $userAttributes[UserDetailsAttributeMapper::EMAIL],
+            $userAttributes[UserDetailsAttributeMapper::SOURCE],
+            $userAttributes[UserDetailsAttributeMapper::ISIS_EMPLID],
+            $userAttributes[UserDetailsAttributeMapper::FIRST_NAME],
+            $userAttributes[UserDetailsAttributeMapper::LAST_NAME]
+        );
+    }
+
+}
\ No newline at end of file
diff --git a/src/main/edu/wisc/doit/UserDetailsAttributeMapper.php b/src/main/edu/wisc/doit/UserDetailsAttributeMapper.php
index 6fbc06f..3db782a 100644
--- a/src/main/edu/wisc/doit/UserDetailsAttributeMapper.php
+++ b/src/main/edu/wisc/doit/UserDetailsAttributeMapper.php
@@ -3,7 +3,7 @@
 namespace edu\wisc\doit;
 
 /**
- *
+ * 
  */
 interface UserDetailsAttributeMapper
 {
diff --git a/src/main/edu/wisc/doit/UserDetailsService.php b/src/main/edu/wisc/doit/UserDetailsService.php
index d6a60f1..49b30ae 100644
--- a/src/main/edu/wisc/doit/UserDetailsService.php
+++ b/src/main/edu/wisc/doit/UserDetailsService.php
@@ -3,12 +3,17 @@
 namespace edu\wisc\doit;
 
 /**
- * Interface UserDetailsService
- * @package edu\wisc\doit
+ * 
  */
 interface UserDetailsService
 {
-    
+
+    /**
+     * Return a {@link UserDetails} hydrated by a {@link UserDetailsAttributeMapper}, or null if attribute
+     * mapping failed.
+     *
+     * @return UserDetails|null
+     */
     public function loadUser();
     
 }
\ No newline at end of file
diff --git a/src/test/edu/wisc/doit/LocalUserDetailsAttributeMapperTest.php b/src/test/edu/wisc/doit/LocalUserDetailsAttributeMapperTest.php
index 3242e66..d79a948 100644
--- a/src/test/edu/wisc/doit/LocalUserDetailsAttributeMapperTest.php
+++ b/src/test/edu/wisc/doit/LocalUserDetailsAttributeMapperTest.php
@@ -9,7 +9,7 @@ class LocalUserDetailsAttributeMapperTest extends \PHPUnit_Framework_TestCase
 {
 
     /**
-     * 
+     * Test attribute mapping for local development.
      */
     public function testMapLocalUser() {
         $attributeMapper = new LocalUserDetailsAttributeMapper();
diff --git a/src/test/edu/wisc/doit/PreauthTestCase.php b/src/test/edu/wisc/doit/PreauthTestCase.php
new file mode 100644
index 0000000..b79a69b
--- /dev/null
+++ b/src/test/edu/wisc/doit/PreauthTestCase.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace edu\wisc\doit;
+
+/**
+ * Class to do basic setup needed to simulate a logged in Shibboleth user.
+ */
+abstract class PreauthTestCase extends \PHPUnit_Framework_TestCase
+{
+
+    /**
+     * Populate $_SERVER with Shib attributes to simulate a logged in user
+     */
+    protected function setUp()
+    {
+        parent::setUp();
+        $jsonString = file_get_contents(__DIR__ . "/../../../resources/testuser.json");
+        if ($jsonString === false) {
+            return null;
+        }
+
+        $attributes = json_decode($jsonString, true);
+        $_SERVER[UserDetailsAttributeMapper::EPPN] = $attributes[UserDetailsAttributeMapper::EPPN];
+        $_SERVER[UserDetailsAttributeMapper::PVI] = $attributes[UserDetailsAttributeMapper::PVI];
+        $_SERVER[UserDetailsAttributeMapper::FULLNAME] = $attributes[UserDetailsAttributeMapper::FULLNAME];
+        $_SERVER[UserDetailsAttributeMapper::FIRST_NAME] = $attributes[UserDetailsAttributeMapper::FIRST_NAME];
+        $_SERVER[UserDetailsAttributeMapper::LAST_NAME] = $attributes[UserDetailsAttributeMapper::LAST_NAME];
+        $_SERVER[UserDetailsAttributeMapper::UDDS] = $attributes[UserDetailsAttributeMapper::UDDS];
+        $_SERVER[UserDetailsAttributeMapper::EMAIL] = $attributes[UserDetailsAttributeMapper::EMAIL];
+        $_SERVER[UserDetailsAttributeMapper::SOURCE] = $attributes[UserDetailsAttributeMapper::SOURCE];
+        $_SERVER[UserDetailsAttributeMapper::ISIS_EMPLID] = $attributes[UserDetailsAttributeMapper::ISIS_EMPLID];
+    }
+
+}
\ No newline at end of file
diff --git a/src/test/edu/wisc/doit/PreauthUserDetailsAttributeMapperTest.php b/src/test/edu/wisc/doit/PreauthUserDetailsAttributeMapperTest.php
new file mode 100644
index 0000000..63258c4
--- /dev/null
+++ b/src/test/edu/wisc/doit/PreauthUserDetailsAttributeMapperTest.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace edu\wisc\doit;
+
+/**
+ * Tests for {@link PreauthUserDetailsAttributeMapper}.
+ */
+class PreauthUserDetailsAttributeMapperTest extends PreauthTestCase
+{
+
+    public function testMapUser() {
+        $attributeMapper = new PreauthUserDetailsAttributeMapper();
+        $userAttributes = $attributeMapper->mapUser();
+        $this->assertEquals("bbadger@wisc.edu", $userAttributes[UserDetailsAttributeMapper::EPPN]);
+        $this->assertEquals("UW123A456", $userAttributes[UserDetailsAttributeMapper::PVI]);
+        $this->assertEquals("BUCKINGHAM BADGER", $userAttributes[UserDetailsAttributeMapper::FULLNAME]);
+        $this->assertEquals("bucky.badger@wisc.edu", $userAttributes[UserDetailsAttributeMapper::EMAIL]);
+        $this->assertEquals("a_source", $userAttributes[UserDetailsAttributeMapper::SOURCE]);
+        $this->assertEquals("123456789", $userAttributes[UserDetailsAttributeMapper::ISIS_EMPLID]);
+        $this->assertEquals("BUCKINGHAM", $userAttributes[UserDetailsAttributeMapper::FIRST_NAME]);
+        $this->assertEquals("BADGER", $userAttributes[UserDetailsAttributeMapper::LAST_NAME]);
+        $this->assertEquals(["UW123A456", "UW234A567"], $userAttributes[UserDetailsAttributeMapper::UDDS]);
+    }
+
+}
diff --git a/src/test/edu/wisc/doit/PreauthUserDetailsServiceTest.php b/src/test/edu/wisc/doit/PreauthUserDetailsServiceTest.php
new file mode 100644
index 0000000..d2dda40
--- /dev/null
+++ b/src/test/edu/wisc/doit/PreauthUserDetailsServiceTest.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace edu\wisc\doit;
+
+/**
+ * Tests for {@link PreauthUserDetailsService}.
+ */
+class PreauthUserDetailsServiceTest extends PreauthTestCase
+{
+
+    public function testLoadUser() {
+        $userService = new PreauthUserDetailsService();
+        $user = $userService->loadUser();
+        $this->assertNotNull($user);
+        $this->assertEquals("bbadger@wisc.edu", $user->getEppn());
+        $this->assertEquals("UW123A456", $user->getPvi());
+        $this->assertEquals("BUCKINGHAM BADGER", $user->getFullName());
+        $this->assertEquals("bucky.badger@wisc.edu", $user->getEmailAddress());
+        $this->assertEquals("a_source", $user->getSource());
+        $this->assertEquals("123456789", $user->getIsisEmplid());
+        $this->assertEquals("BUCKINGHAM", $user->getFirstName());
+        $this->assertEquals("BADGER", $user->getLastName());
+    }
+
+}
diff --git a/src/test/resources/testuser.json b/src/test/resources/testuser.json
new file mode 100644
index 0000000..a3a5344
--- /dev/null
+++ b/src/test/resources/testuser.json
@@ -0,0 +1,15 @@
+{
+  "eppn": "bbadger@wisc.edu",
+  "eduWisconsinSPVI": "UW123A456",
+  "cn": "BUCKINGHAM BADGER",
+  "eduWisconsinCommonName": "BUCKINGHAM BADGER",
+  "eduWisconsinGivenName": "BUCKINGHAM",
+  "eduWisconsinSurname": "BADGER",
+  "udds": [
+    "UW123A456",
+    "UW234A567"
+  ],
+  "eduWisconsinEmailAddress": "bucky.badger@wisc.edu",
+  "source": "a_source",
+  "isisEmplid": "123456789"
+}
\ No newline at end of file
-- 
GitLab