@witnet/solidity 2.2.8 → 2.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/contracts/Clonable.json +2 -2
- package/build/contracts/Context.json +1 -1
- package/build/contracts/Create3.json +2 -2
- package/build/contracts/ERC165.json +1 -1
- package/build/contracts/IERC165.json +1 -1
- package/build/contracts/IERC20.json +1 -1
- package/build/contracts/IERC2362.json +1 -1
- package/build/contracts/IFeeds.json +2 -2
- package/build/contracts/IWitnetConsumer.json +2 -2
- package/build/contracts/IWitnetFeeds.json +2 -2
- package/build/contracts/IWitnetFeedsAdmin.json +2 -2
- package/build/contracts/IWitnetOracle.json +2 -2
- package/build/contracts/IWitnetOracleEvents.json +2 -2
- package/build/contracts/IWitnetOracleReporter.json +2 -2
- package/build/contracts/IWitnetPriceFeeds.json +2 -2
- package/build/contracts/IWitnetPriceSolver.json +2 -2
- package/build/contracts/IWitnetPriceSolverDeployer.json +2 -2
- package/build/contracts/IWitnetRandomness.json +2 -2
- package/build/contracts/IWitnetRandomnessAdmin.json +2 -2
- package/build/contracts/IWitnetRandomnessEvents.json +2 -2
- package/build/contracts/IWitnetRequestBoardAdmin.json +2 -2
- package/build/contracts/IWitnetRequestBoardAdminACLs.json +2 -2
- package/build/contracts/IWitnetRequestBytecodes.json +2 -2
- package/build/contracts/IWitnetRequestFactory.json +2 -2
- package/build/contracts/Initializable.json +1 -1
- package/build/contracts/OVM_GasPriceOracle.json +2 -2
- package/build/contracts/Ownable.json +1 -1
- package/build/contracts/Ownable2Step.json +2 -2
- package/build/contracts/Payable.json +2 -2
- package/build/contracts/Proxiable.json +2 -2
- package/build/contracts/ReentrancyGuard.json +1 -1
- package/build/contracts/Slices.json +2 -2
- package/build/contracts/Upgradeable.json +2 -2
- package/build/contracts/UsingWitnet.json +2 -2
- package/build/contracts/UsingWitnetRandomness.json +2 -2
- package/build/contracts/UsingWitnetRequest.json +2 -2
- package/build/contracts/UsingWitnetRequestTemplate.json +2 -2
- package/build/contracts/Witnet.json +2 -2
- package/build/contracts/WitnetBuffer.json +2 -2
- package/build/contracts/WitnetCBOR.json +2 -2
- package/build/contracts/WitnetConsumer.json +2 -2
- package/build/contracts/WitnetDeployer.json +2 -2
- package/build/contracts/WitnetDeployerCfxCore.json +2 -2
- package/build/contracts/WitnetDeployerMeter.json +2 -2
- package/build/contracts/WitnetEncodingLib.json +2 -2
- package/build/contracts/WitnetErrorsLib.json +2 -2
- package/build/contracts/WitnetFeeds.json +2 -2
- package/build/contracts/WitnetMockedOracle.json +2 -2
- package/build/contracts/WitnetMockedPriceFeeds.json +2 -2
- package/build/contracts/WitnetMockedRandomness.json +2 -2
- package/build/contracts/WitnetMockedRequestBytecodes.json +2 -2
- package/build/contracts/WitnetMockedRequestFactory.json +2 -2
- package/build/contracts/WitnetOracle.json +2 -2
- package/build/contracts/WitnetOracleDataLib.json +2 -2
- package/build/contracts/WitnetOracleTrustableBase.json +2 -2
- package/build/contracts/WitnetOracleTrustableDefault.json +2 -2
- package/build/contracts/WitnetOracleTrustableObscuro.json +2 -2
- package/build/contracts/WitnetOracleTrustableOvm2.json +2 -2
- package/build/contracts/WitnetOracleTrustableReef.json +2 -2
- package/build/contracts/WitnetPriceFeeds.json +2 -2
- package/build/contracts/WitnetPriceFeedsData.json +2 -2
- package/build/contracts/WitnetPriceFeedsDefault.json +2 -2
- package/build/contracts/WitnetPriceFeedsLib.json +2 -2
- package/build/contracts/WitnetPriceSolverBase.json +2 -2
- package/build/contracts/WitnetProxy.json +2 -2
- package/build/contracts/WitnetRandomness.json +2 -2
- package/build/contracts/WitnetRandomnessRequestConsumer.json +2 -2
- package/build/contracts/WitnetRandomnessV2.json +2 -2
- package/build/contracts/WitnetRequest.json +2 -2
- package/build/contracts/WitnetRequestBytecodes.json +2 -2
- package/build/contracts/WitnetRequestBytecodesData.json +2 -2
- package/build/contracts/WitnetRequestBytecodesDefault.json +2 -2
- package/build/contracts/WitnetRequestBytecodesNoSha256.json +2 -2
- package/build/contracts/WitnetRequestConsumer.json +2 -2
- package/build/contracts/WitnetRequestFactory.json +2 -2
- package/build/contracts/WitnetRequestFactoryCfxCore.json +2 -2
- package/build/contracts/WitnetRequestFactoryData.json +2 -2
- package/build/contracts/WitnetRequestFactoryDefault.json +2 -2
- package/build/contracts/WitnetRequestTemplate.json +2 -2
- package/build/contracts/WitnetRequestTemplateConsumer.json +2 -2
- package/build/contracts/WitnetUpgradableBase.json +2 -2
- package/build/contracts/WitnetV2.json +2 -2
- package/package.json +1 -1
|
@@ -4488,7 +4488,7 @@
|
|
|
4488
4488
|
"sourceMap": "345:2958:29:-:0;;;;;;;;;;;;;;;;;;;",
|
|
4489
4489
|
"deployedSourceMap": "345:2958:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:170;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;363:32:84;;;345:51;;333:2;318:18;2181:170:29;;;;;;;888:429;;;;;;:::i;:::-;;:::i;2357:943::-;;;;;;:::i;:::-;;:::i;1657:518::-;;;;;;:::i;:::-;;:::i;2181:170::-;2262:7;2292:52;2306:30;;;;;;;;:::i;:::-;-1:-1:-1;;2306:30:29;;;;;;;;;;;;;;2338:5;2292:13;:52::i;:::-;2285:59;2181:170;-1:-1:-1;;2181:170:29:o;888:429::-;975:17;1020:31;1034:9;1045:5;1020:13;:31::i;:::-;1008:43;;1065:9;-1:-1:-1;;;;;1065:21:29;;1090:1;1065:26;1061:250;;1198:5;1186:9;1180:16;1173:4;1162:9;1158:20;1155:1;1147:57;1134:70;-1:-1:-1;;;;;;1239:23:29;;1231:69;;;;-1:-1:-1;;;1231:69:29;;2660:2:84;1231:69:29;;;2642:21:84;2699:2;2679:18;;;2672:30;2738:34;2718:18;;;2711:62;-1:-1:-1;;;2789:18:84;;;2782:31;2830:19;;1231:69:29;;;;;;;;2357:943;2483:11;2510:18;2531:30;2550:10;2531:18;:30::i;:::-;2510:51;;2575:10;-1:-1:-1;;;;;2575:22:29;;2601:1;2575:27;2571:723;;2656:50;2663:30;;;;;;;;:::i;:::-;-1:-1:-1;;2663:30:29;;;;;;;;;;;;;;2695:10;2656:6;:50::i;:::-;;2792:10;-1:-1:-1;;;;;2772:42:29;;2832:20;3019:10;3115:9;2919:223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2772:384;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3197:10:29;-1:-1:-1;3170:39:29;;2571:723;3240:43;;-1:-1:-1;;;3240:43:29;;3992:2:84;3240:43:29;;;3974:21:84;4031:2;4011:18;;;4004:30;4070:34;4050:18;;;4043:62;-1:-1:-1;;;4121:18:84;;;4114:31;4162:19;;3240:43:29;3790:397:84;2357:943:29;;;;;;:::o;1657:518::-;1982:20;;;;;;;1848:172;;;-1:-1:-1;;;;;;1848:172:29;;;4403:39:84;1928:4:29;4479:2:84;4475:15;-1:-1:-1;;4471:53:84;4458:11;;;4451:74;4541:12;;;4534:28;;;;4578:12;;;;4571:28;;;;1848:172:29;;;;;;;;;;4615:12:84;;;;1848:172:29;;;1821:213;;;;;-1:-1:-1;;;;;1808:282:29;-1:-1:-1;;;1807:351:29;;1657:518::o;-1:-1:-1:-;;;;;;;;:::o;14:180:84:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:84;;14:180;-1:-1:-1;14:180:84:o;407:127::-;468:10;463:3;459:20;456:1;449:31;499:4;496:1;489:15;523:4;520:1;513:15;539:718;581:5;634:3;627:4;619:6;615:17;611:27;601:55;;652:1;649;642:12;601:55;688:6;675:20;714:18;751:2;747;744:10;741:36;;;757:18;;:::i;:::-;832:2;826:9;800:2;886:13;;-1:-1:-1;;882:22:84;;;906:2;878:31;874:40;862:53;;;930:18;;;950:22;;;927:46;924:72;;;976:18;;:::i;:::-;1016:10;1012:2;1005:22;1051:2;1043:6;1036:18;1097:3;1090:4;1085:2;1077:6;1073:15;1069:26;1066:35;1063:55;;;1114:1;1111;1104:12;1063:55;1178:2;1171:4;1163:6;1159:17;1152:4;1144:6;1140:17;1127:54;1225:1;1218:4;1213:2;1205:6;1201:15;1197:26;1190:37;1245:6;1236:15;;;;;;539:718;;;;:::o;1262:388::-;1339:6;1347;1400:2;1388:9;1379:7;1375:23;1371:32;1368:52;;;1416:1;1413;1406:12;1368:52;1456:9;1443:23;1489:18;1481:6;1478:30;1475:50;;;1521:1;1518;1511:12;1475:50;1544:49;1585:7;1576:6;1565:9;1561:22;1544:49;:::i;:::-;1534:59;1640:2;1625:18;;;;1612:32;;-1:-1:-1;;;;1262:388:84:o;1655:562::-;1741:6;1749;1757;1810:2;1798:9;1789:7;1785:23;1781:32;1778:52;;;1826:1;1823;1816:12;1778:52;1849:23;;;-1:-1:-1;1922:2:84;1907:18;;1894:32;-1:-1:-1;;;;;1955:31:84;;1945:42;;1935:70;;2001:1;1998;1991:12;1935:70;2024:5;-1:-1:-1;2080:2:84;2065:18;;2052:32;2107:18;2096:30;;2093:50;;;2139:1;2136;2129:12;2093:50;2162:49;2203:7;2194:6;2183:9;2179:22;2162:49;:::i;:::-;2152:59;;;1655:562;;;;;:::o;2860:643::-;3064:1;3060;3055:3;3051:11;3047:19;3039:6;3035:32;3024:9;3017:51;2998:4;3087:2;3125;3120;3109:9;3105:18;3098:30;3157:6;3151:13;3200:6;3195:2;3184:9;3180:18;3173:34;3225:1;3235:140;3249:6;3246:1;3243:13;3235:140;;;3344:14;;;3340:23;;3334:30;3310:17;;;3329:2;3306:26;3299:66;3264:10;;3235:140;;;3239:3;3424:1;3419:2;3410:6;3399:9;3395:22;3391:31;3384:42;3494:2;3487;3483:7;3478:2;3470:6;3466:15;3462:29;3451:9;3447:45;3443:54;3435:62;;;;2860:643;;;;;:::o;3508:277::-;3575:6;3628:2;3616:9;3607:7;3603:23;3599:32;3596:52;;;3644:1;3641;3634:12;3596:52;3676:9;3670:16;3729:5;3722:13;3715:21;3708:5;3705:32;3695:60;;3751:1;3748;3741:12",
|
|
4490
4490
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.8.0 <0.9.0;\n\nimport \"../WitnetProxy.sol\";\n\n/// @notice WitnetDeployer contract used both as CREATE2 factory (EIP-1014) for Witnet artifacts, \n/// @notice and CREATE3 factory (EIP-3171) for Witnet proxies, on the Conflux Core Ecosystem.\n/// @author Guillermo Díaz <guillermo@otherplane.com>\n\ncontract WitnetDeployerCfxCore {\n\n /// @notice Use given `_initCode` and `_salt` to deploy a contract into a deterministic address. \n /// @dev The address of deployed address will be determined by both the `_initCode` and the `_salt`, but not the address\n /// @dev nor the nonce of the caller (i.e. see EIP-1014). \n /// @param _initCode Creation code, including construction logic and input parameters.\n /// @param _salt Arbitrary value to modify resulting address.\n /// @return _deployed Just deployed contract address.\n function deploy(bytes memory _initCode, bytes32 _salt)\n public\n returns (address _deployed)\n {\n _deployed = determineAddr(_initCode, _salt);\n if (_deployed.code.length == 0) {\n assembly {\n _deployed := create2(0, add(_initCode, 0x20), mload(_initCode), _salt)\n }\n require(_deployed != address(0), \"WitnetDeployer: deployment failed\");\n }\n }\n\n /// @notice Determine counter-factual address of the contract that would be deployed by the given `_initCode` and a `_salt`.\n /// @param _initCode Creation code, including construction logic and input parameters.\n /// @param _salt Arbitrary value to modify resulting address.\n /// @return Deterministic contract address.\n function determineAddr(bytes memory _initCode, bytes32 _salt)\n public view\n returns (address)\n {\n return address(\n (uint160(uint(keccak256(\n abi.encodePacked(\n bytes1(0xff),\n address(this),\n _salt,\n keccak256(_initCode)\n )\n ))) & uint160(0x0fffFFFFFfFfffFfFfFFffFffFffFFfffFfFFFFf)\n ) | uint160(0x8000000000000000000000000000000000000000)\n );\n }\n\n function determineProxyAddr(bytes32 _salt) \n public view\n returns (address)\n {\n return determineAddr(type(WitnetProxy).creationCode, _salt);\n }\n\n function proxify(bytes32 _proxySalt, address _firstImplementation, bytes memory _initData)\n external \n returns (WitnetProxy)\n {\n address _proxyAddr = determineProxyAddr(_proxySalt);\n if (_proxyAddr.code.length == 0) {\n // deploy the WitnetProxy\n deploy(type(WitnetProxy).creationCode, _proxySalt);\n // settle first implementation address,\n WitnetProxy(payable(_proxyAddr)).upgradeTo(\n _firstImplementation, \n // and initialize it, providing\n abi.encode(\n // the owner (i.e. the caller of this function)\n msg.sender,\n // and some (optional) initialization data\n _initData\n )\n );\n return WitnetProxy(payable(_proxyAddr));\n } else {\n revert(\"WitnetDeployer: already proxified\");\n }\n }\n\n}",
|
|
4491
|
-
"sourcePath": "/home/
|
|
4491
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/core/customs/WitnetDeployerCfxCore.sol",
|
|
4492
4492
|
"ast": {
|
|
4493
4493
|
"absolutePath": "project:/contracts/core/customs/WitnetDeployerCfxCore.sol",
|
|
4494
4494
|
"exportedSymbols": {
|
|
@@ -6981,7 +6981,7 @@
|
|
|
6981
6981
|
},
|
|
6982
6982
|
"networks": {},
|
|
6983
6983
|
"schemaVersion": "3.4.16",
|
|
6984
|
-
"updatedAt": "2025-10-
|
|
6984
|
+
"updatedAt": "2025-10-15T18:03:23.575Z",
|
|
6985
6985
|
"devdoc": {
|
|
6986
6986
|
"author": "Guillermo Díaz <guillermo@otherplane.com>",
|
|
6987
6987
|
"kind": "dev",
|
|
@@ -4488,7 +4488,7 @@
|
|
|
4488
4488
|
"sourceMap": "338:2843:30:-:0;;;;;;;;;;;;;;;;;;;",
|
|
4489
4489
|
"deployedSourceMap": "338:2843:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2054:170;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;363:32:84;;;345:51;;333:2;318:18;2054:170:30;;;;;;;879:434;;;;;;:::i;:::-;;:::i;2230:948::-;;;;;;:::i;:::-;;:::i;1653:395::-;;;;;;:::i;:::-;;:::i;2054:170::-;2135:7;2165:52;2179:30;;;;;;;;:::i;:::-;-1:-1:-1;;2179:30:30;;;;;;;;;;;;;;2211:5;2165:13;:52::i;:::-;2158:59;2054:170;-1:-1:-1;;2054:170:30:o;879:434::-;966:17;1011:31;1025:9;1036:5;1011:13;:31::i;:::-;999:43;;1056:9;-1:-1:-1;;;;;1056:21:30;;1081:1;1056:26;1052:255;;1189:5;1177:9;1171:16;1164:4;1153:9;1149:20;1146:1;1138:57;1125:70;-1:-1:-1;;;;;;1230:23:30;;1222:74;;;;-1:-1:-1;;;1222:74:30;;2660:2:84;1222:74:30;;;2642:21:84;2699:2;2679:18;;;2672:30;2738:34;2718:18;;;2711:62;-1:-1:-1;;;2789:18:84;;;2782:36;2835:19;;1222:74:30;;;;;;;;2230:948;2356:11;2383:18;2404:30;2423:10;2404:18;:30::i;:::-;2383:51;;2448:10;-1:-1:-1;;;;;2448:22:30;;2474:1;2448:27;2444:728;;2529:50;2536:30;;;;;;;;:::i;:::-;-1:-1:-1;;2536:30:30;;;;;;;;;;;;;;2568:10;2529:6;:50::i;:::-;;2665:10;-1:-1:-1;;;;;2645:42:30;;2705:20;2892:10;2988:9;2792:223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2645:384;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3070:10:30;-1:-1:-1;3043:39:30;;2444:728;3113:48;;-1:-1:-1;;;3113:48:30;;3997:2:84;3113:48:30;;;3979:21:84;4036:2;4016:18;;;4009:30;4075:34;4055:18;;;4048:62;-1:-1:-1;;;4126:18:84;;;4119:36;4172:19;;3113:48:30;3795:402:84;2230:948:30;;;;;;:::o;1653:395::-;1977:20;;;;;;;1843:172;;;-1:-1:-1;;;;;;1843:172:30;;;4413:39:84;1923:4:30;4489:2:84;4485:15;-1:-1:-1;;4481:53:84;4468:11;;;4461:74;4551:12;;;4544:28;;;;4588:12;;;;4581:28;;;;1843:172:30;;;;;;;;;;4625:12:84;;;;1843:172:30;;;1816:213;;;;;;1653:395::o;-1:-1:-1:-;;;;;;;;:::o;14:180:84:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:84;;14:180;-1:-1:-1;14:180:84:o;407:127::-;468:10;463:3;459:20;456:1;449:31;499:4;496:1;489:15;523:4;520:1;513:15;539:718;581:5;634:3;627:4;619:6;615:17;611:27;601:55;;652:1;649;642:12;601:55;688:6;675:20;714:18;751:2;747;744:10;741:36;;;757:18;;:::i;:::-;832:2;826:9;800:2;886:13;;-1:-1:-1;;882:22:84;;;906:2;878:31;874:40;862:53;;;930:18;;;950:22;;;927:46;924:72;;;976:18;;:::i;:::-;1016:10;1012:2;1005:22;1051:2;1043:6;1036:18;1097:3;1090:4;1085:2;1077:6;1073:15;1069:26;1066:35;1063:55;;;1114:1;1111;1104:12;1063:55;1178:2;1171:4;1163:6;1159:17;1152:4;1144:6;1140:17;1127:54;1225:1;1218:4;1213:2;1205:6;1201:15;1197:26;1190:37;1245:6;1236:15;;;;;;539:718;;;;:::o;1262:388::-;1339:6;1347;1400:2;1388:9;1379:7;1375:23;1371:32;1368:52;;;1416:1;1413;1406:12;1368:52;1456:9;1443:23;1489:18;1481:6;1478:30;1475:50;;;1521:1;1518;1511:12;1475:50;1544:49;1585:7;1576:6;1565:9;1561:22;1544:49;:::i;:::-;1534:59;1640:2;1625:18;;;;1612:32;;-1:-1:-1;;;;1262:388:84:o;1655:562::-;1741:6;1749;1757;1810:2;1798:9;1789:7;1785:23;1781:32;1778:52;;;1826:1;1823;1816:12;1778:52;1849:23;;;-1:-1:-1;1922:2:84;1907:18;;1894:32;-1:-1:-1;;;;;1955:31:84;;1945:42;;1935:70;;2001:1;1998;1991:12;1935:70;2024:5;-1:-1:-1;2080:2:84;2065:18;;2052:32;2107:18;2096:30;;2093:50;;;2139:1;2136;2129:12;2093:50;2162:49;2203:7;2194:6;2183:9;2179:22;2162:49;:::i;:::-;2152:59;;;1655:562;;;;;:::o;2865:643::-;3069:1;3065;3060:3;3056:11;3052:19;3044:6;3040:32;3029:9;3022:51;3003:4;3092:2;3130;3125;3114:9;3110:18;3103:30;3162:6;3156:13;3205:6;3200:2;3189:9;3185:18;3178:34;3230:1;3240:140;3254:6;3251:1;3248:13;3240:140;;;3349:14;;;3345:23;;3339:30;3315:17;;;3334:2;3311:26;3304:66;3269:10;;3240:140;;;3244:3;3429:1;3424:2;3415:6;3404:9;3400:22;3396:31;3389:42;3499:2;3492;3488:7;3483:2;3475:6;3471:15;3467:29;3456:9;3452:45;3448:54;3440:62;;;;2865:643;;;;;:::o;3513:277::-;3580:6;3633:2;3621:9;3612:7;3608:23;3604:32;3601:52;;;3649:1;3646;3639:12;3601:52;3681:9;3675:16;3734:5;3727:13;3720:21;3713:5;3710:32;3700:60;;3756:1;3753;3746:12",
|
|
4490
4490
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.8.0 <0.9.0;\n\nimport \"../WitnetProxy.sol\";\n\n/// @notice WitnetDeployer contract used both as CREATE2 factory (EIP-1014) for Witnet artifacts, \n/// @notice and CREATE3 factory (EIP-3171) for Witnet proxies, on the Meter Ecosystem.\n/// @author Guillermo Díaz <guillermo@otherplane.com>\n\ncontract WitnetDeployerMeter {\n\n /// @notice Use given `_initCode` and `_salt` to deploy a contract into a deterministic address. \n /// @dev The address of deployed address will be determined by both the `_initCode` and the `_salt`, but not the address\n /// @dev nor the nonce of the caller (i.e. see EIP-1014). \n /// @param _initCode Creation code, including construction logic and input parameters.\n /// @param _salt Arbitrary value to modify resulting address.\n /// @return _deployed Just deployed contract address.\n function deploy(bytes memory _initCode, bytes32 _salt)\n public\n returns (address _deployed)\n {\n _deployed = determineAddr(_initCode, _salt);\n if (_deployed.code.length == 0) {\n assembly {\n _deployed := create2(0, add(_initCode, 0x20), mload(_initCode), _salt)\n }\n require(_deployed != address(0), \"WitnetDeployerMeter: deployment failed\");\n }\n }\n\n /// @notice Determine counter-factual address of the contract that would be deployed by the given `_initCode` and a `_salt`.\n /// @param _initCode Creation code, including construction logic and input parameters.\n /// @param _salt Arbitrary value to modify resulting address.\n /// @return Deterministic contract address.\n function determineAddr(bytes memory _initCode, bytes32 _salt)\n public view\n returns (address)\n {\n return address(\n uint160(uint(keccak256(\n abi.encodePacked(\n bytes1(0xff),\n address(this),\n _salt,\n keccak256(_initCode)\n )\n )))\n );\n }\n\n function determineProxyAddr(bytes32 _salt) \n public view\n returns (address)\n {\n return determineAddr(type(WitnetProxy).creationCode, _salt);\n }\n\n function proxify(bytes32 _proxySalt, address _firstImplementation, bytes memory _initData)\n external \n returns (WitnetProxy)\n {\n address _proxyAddr = determineProxyAddr(_proxySalt);\n if (_proxyAddr.code.length == 0) {\n // deploy the WitnetProxy\n deploy(type(WitnetProxy).creationCode, _proxySalt);\n // settle first implementation address,\n WitnetProxy(payable(_proxyAddr)).upgradeTo(\n _firstImplementation, \n // and initialize it, providing\n abi.encode(\n // the owner (i.e. the caller of this function)\n msg.sender,\n // and some (optional) initialization data\n _initData\n )\n );\n return WitnetProxy(payable(_proxyAddr));\n } else {\n revert(\"WitnetDeployerMeter: already proxified\");\n }\n }\n\n}",
|
|
4491
|
-
"sourcePath": "/home/
|
|
4491
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/core/customs/WitnetDeployerMeter.sol",
|
|
4492
4492
|
"ast": {
|
|
4493
4493
|
"absolutePath": "project:/contracts/core/customs/WitnetDeployerMeter.sol",
|
|
4494
4494
|
"exportedSymbols": {
|
|
@@ -6807,7 +6807,7 @@
|
|
|
6807
6807
|
},
|
|
6808
6808
|
"networks": {},
|
|
6809
6809
|
"schemaVersion": "3.4.16",
|
|
6810
|
-
"updatedAt": "2025-10-
|
|
6810
|
+
"updatedAt": "2025-10-15T18:03:23.579Z",
|
|
6811
6811
|
"devdoc": {
|
|
6812
6812
|
"author": "Guillermo Díaz <guillermo@otherplane.com>",
|
|
6813
6813
|
"kind": "dev",
|
|
@@ -30095,7 +30095,7 @@
|
|
|
30095
30095
|
"sourceMap": "181:18845:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;181:18845:67;;;;;;;;;;;;;;;;;",
|
|
30096
30096
|
"deployedSourceMap": "181:18845:67:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12379:1119;;;;;;:::i;:::-;;:::i;:::-;;;816:6:84;804:19;;;786:38;;774:2;759:18;12379:1119:67;;;;;;;;3844:153;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11346:1023::-;;;;;;:::i;:::-;;:::i;:::-;;;6786:25:84;;;6774:2;6759:18;11346:1023:67;6632:185:84;8383:710:67;;;;;;:::i;:::-;;:::i;9666:175::-;;;;;;:::i;:::-;;:::i;15437:939::-;;;;;;:::i;:::-;;:::i;:::-;;9847:473;;;;;;:::i;:::-;;:::i;10880:460::-;;;;;;:::i;:::-;;:::i;4131:162::-;;;;;;:::i;:::-;;:::i;2730:1010::-;;;;;;:::i;:::-;;:::i;13504:812::-;;;;;;:::i;:::-;;:::i;4514:862::-;;;;;;:::i;:::-;;:::i;7540:837::-;;;;;;:::i;:::-;;:::i;9099:561::-;;;;;;:::i;:::-;;:::i;14322:1109::-;;;;;;:::i;:::-;;:::i;10326:548::-;;;;;;:::i;:::-;;:::i;16382:253::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5385:2149::-;;;;;;:::i;:::-;;:::i;12379:1119::-;12520:6;;12559:8;:37;;;;;;;;:::i;:::-;;:97;;;-1:-1:-1;12628:28:67;12616:8;:40;;;;;;;;:::i;:::-;;12559:97;:156;;;-1:-1:-1;12688:27:67;12676:8;:39;;;;;;;;:::i;:::-;;12559:156;:215;;;-1:-1:-1;12747:27:67;12735:8;:39;;;;;;;;:::i;:::-;;12559:215;:272;;;-1:-1:-1;12806:25:67;12794:8;:37;;;;;;;;:::i;:::-;;12559:272;12542:950;;;12860:11;:16;;12875:1;12860:16;12856:174;;12955:8;12949:15;;;;;;;;:::i;:::-;12903:112;;-1:-1:-1;;;12903:112:67;;18803:4:84;18791:17;;;12903:112:67;;;18773:36:84;18857:6;18845:19;;18825:18;;;18818:47;18746:18;;12903:112:67;;;;;;;;12856:174;13050:15;:11;13064:1;13050:15;:::i;:::-;13043:22;;;;12542:950;13160:29;13148:8;:41;;;;;;;;:::i;:::-;;:100;;;-1:-1:-1;13221:27:67;13209:8;:39;;;;;;;;:::i;:::-;;13148:100;:158;;;-1:-1:-1;13280:26:67;13268:8;:38;;;;;;;;:::i;:::-;;13148:158;13131:361;;;-1:-1:-1;13338:1:67;13331:8;;13131:361;13426:8;13420:15;;;;;;;;:::i;:::-;13453:14;13458:8;13453:4;:14::i;:::-;13378:103;;-1:-1:-1;;;13378:103:67;;18803:4:84;18791:17;;;13378:103:67;;;18773:36:84;18857:6;18845:19;18825:18;;;18818:47;18746:18;;13378:103:67;18604:267:84;13131:361:67;12379:1119;;;;:::o;3844:153::-;3915:12;3950:40;3957:3;1042:1:66;3950:6:67;:40::i;11346:1023::-;11598:7;11660:1;11646:3;11640:17;:21;:285;;;;-1:-1:-1;11714:38:67;11704:6;:48;;;;;;;;:::i;:::-;;:126;;;-1:-1:-1;11791:39:67;11781:6;:49;;;;;;;;:::i;:::-;;11704:126;:203;;;-1:-1:-1;11868:39:67;11858:6;:49;;;;;;;;:::i;:::-;;11704:203;11640:464;;;-1:-1:-1;11951:34:67;11941:6;:44;;;;;;;;:::i;:::-;;:86;;;;-1:-1:-1;12005:17:67;;:22;11941:86;:125;;;;-1:-1:-1;12047:14:67;;:19;11941:125;:163;;;;;12103:1;12086:6;:13;:18;;11941:163;11621:668;;12189:6;12183:13;;;;;;;;:::i;:::-;12214:3;12235:4;12257:7;12137:141;;-1:-1:-1;;;12137:141:67;;;;;;;;;;;:::i;11621:668::-;12326:6;12334:3;12339:4;12345:7;12354:6;12315:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;12305:57;;;;;;12298:64;;11346:1023;;;;;;;:::o;8383:710::-;8472:21;8563:7;8558:211;8581:7;:15;;;:22;8576:2;:27;8558:211;;;8679:8;8709:27;8716:7;:15;;;8732:2;8716:19;;;;;;;;:::i;:::-;;;;;;;8709:6;:27::i;:::-;8641:113;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;8641:113:67;;;;;;;;;;-1:-1:-1;8605:5:67;;8558:211;;;;8827:8;8853:22;8860:7;:14;;;8853:6;:22::i;:::-;8793:96;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8782:107;;8383:710;;;:::o;9666:175::-;9754:12;9798:36;9812:6;9805:14;;;;;;;;:::i;:::-;-1:-1:-1;;;9798:6:67;:36::i;15437:939::-;15521:3;:17;;;-1:-1:-1;;;;;15521:22:67;15542:1;15521:22;15517:104;;15559:51;;-1:-1:-1;;;15559:51:67;;22805:2:84;15559:51:67;;;22787:21:84;22844:2;22824:18;;;22817:30;-1:-1:-1;;;;;;;;;;;22863:18:84;;;22856:62;-1:-1:-1;;;22934:18:84;;;22927:39;22983:19;;15559:51:67;22603:405:84;15517:104:67;15634:16;;:21;;:16;:21;15630:232;;15671:54;;-1:-1:-1;;;15671:54:67;;23215:2:84;15671:54:67;;;23197:21:84;23254:2;23234:18;;;23227:30;-1:-1:-1;;;;;;;;;;;23273:18:84;;;23266:62;-1:-1:-1;;;23344:18:84;;;23337:42;23396:19;;15671:54:67;23013:408:84;15630:232:67;15765:3;15746;:16;;;:22;;;15742:120;;;15784:67;;-1:-1:-1;;;15784:67:67;;23628:2:84;15784:67:67;;;23610:21:84;23667:2;23647:18;;;23640:30;-1:-1:-1;;;;;;;;;;;23686:18:84;;;23679:62;23777:27;23757:18;;;23750:55;23822:19;;15784:67:67;23426:421:84;15742:120:67;15917:2;15888:3;:26;;;:31;;;:83;;;;15969:2;15940:3;:26;;;:31;;;15888:83;15871:211;;;15996:75;;-1:-1:-1;;;15996:75:67;;24054:2:84;15996:75:67;;;24036:21:84;24093:2;24073:18;;;24066:30;-1:-1:-1;;;;;;;;;;;24112:18:84;;;24105:62;24203:34;24183:18;;;24176:62;-1:-1:-1;;;24254:19:84;;;24247:32;24296:19;;15996:75:67;23852:469:84;15871:211:67;16095:21;;;;-1:-1:-1;;;;;16095:25:67;;16091:111;;16136:55;;-1:-1:-1;;;16136:55:67;;24528:2:84;16136:55:67;;;24510:21:84;24567:2;24547:18;;;24540:30;-1:-1:-1;;;;;;;;;;;24586:18:84;;;24579:62;-1:-1:-1;;;24657:18:84;;;24650:43;24710:19;;16136:55:67;24326:409:84;16091:111:67;16259:3;16239;:17;;;16215:3;:21;;;:41;;;;:::i;:::-;-1:-1:-1;;;;;16215:47:67;;16211:159;;;16278:81;;-1:-1:-1;;;16278:81:67;;25278:2:84;16278:81:67;;;25260:21:84;25317:2;25297:18;;;25290:30;-1:-1:-1;;;;;;;;;;;25336:18:84;;;25329:62;25427:34;25407:18;;;25400:62;-1:-1:-1;;;25478:19:84;;;25471:38;25526:19;;16278:81:67;25076:475:84;16211:159:67;15437:939;:::o;9847:473::-;9928:12;9993:47;10007:3;:17;;;10034:4;10027:12;;9993:6;:47::i;:::-;10068:16;;10054:46;;10061:24;;-1:-1:-1;;;10054:6:67;:46::i;:::-;10128:24;;;;10114:54;;-1:-1:-1;;;10114:6:67;:54::i;:::-;10196:26;;;;10182:56;;10189:34;;-1:-1:-1;;;10182:6:67;:56::i;:::-;10266:21;;;;10252:51;;-1:-1:-1;;;10252:6:67;:51::i;:::-;9963:350;;;;;;;;;;;;:::i;10880:460::-;11008:36;11029:4;:8;;;11039:4;11008:20;:36::i;:::-;10997:8;;;:47;11087:9;;;;11066:37;;11098:4;11066:20;:37::i;:::-;11054:9;;;:49;11155:11;;;;11127:46;;11168:4;11127:27;:46::i;:::-;11113:11;;;:60;11188:8;11183:151;11209:4;:12;;;:19;11203:3;:25;11183:151;;;11275:48;11296:4;:12;;;11309:3;11296:17;;;;;;;;:::i;:::-;;;;;;;11314:1;11296:20;;;;;;;:::i;:::-;;;;;11318:4;11275:20;:48::i;:::-;11252:4;:12;;;11265:3;11252:17;;;;;;;;:::i;:::-;;;;;;;11270:1;11252:20;;;;;;;:::i;:::-;;;;:71;11230:6;;11183:151;;;;10880:460;;:::o;4131:162::-;4203:12;4238:48;4251:3;1091:1:66;2730:1010:67;2856:10;;2817:12;;2886:2;2880:8;;2876:858;;;2976:3;2951:29;;2965:1;2952:9;:14;;2951:29;2999:3;2911:105;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2904:112;;;;;2876:858;3080:1;3067:14;;;3097:17;3139:4;3132:11;;3128:480;;3198:28;;-1:-1:-1;;;;;;27221:3:84;27199:16;;;27195:36;3198:28:67;;;27183:49:84;3171:2:67;3163:10;;;;;27248:11:84;;3198:28:67;;;;;;;;;;;;;3191:35;;3128:480;;;3274:6;3267:3;:13;3263:345;;3335:29;;-1:-1:-1;;;;;;27435:3:84;27413:16;;;27409:38;3335:29:67;;;27397:51:84;3308:2:67;3300:10;;;;;27464:11:84;;3335:29:67;27270:211:84;3263:345:67;3396:10;3389:3;:17;3385:223;;3461:29;;-1:-1:-1;;;;;;27651:3:84;27629:16;;;27625:43;3461:29:67;;;27613:56:84;3434:2:67;3426:10;;;;;27685:11:84;;3461:29:67;27486:216:84;3385:223:67;3564:29;;-1:-1:-1;;;;;;27872:3:84;27850:16;;;27846:51;3564:29:67;;;27834:64:84;3537:2:67;3529:10;;;;;27914:11:84;;3564:29:67;;;;;;;;;;;;3557:36;;3385:223;3662:4;3684;3706:3;3628:95;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3621:102;;;;;;;2876:858;2835:905;2730:1010;;;;:::o;13504:812::-;13624:43;13607:13;;:60;;;;;;;;:::i;:::-;;13590:720;;13748:6;:11;;;:18;13770:1;13748:23;13744:130;;13831:13;;13825:20;;;;;;;;:::i;:::-;13847:6;:11;;;13798:61;;-1:-1:-1;;;13798:61:67;;;;;;;;;:::i;13590:720::-;13924:30;13907:13;;:47;;;;;;;;:::i;:::-;;13890:420;;14045:11;;;;:18;:22;14041:129;;14127:13;;14121:20;;;;;;;;:::i;13890:420::-;14284:13;;14278:20;;;;;;;;:::i;:::-;14249:50;;-1:-1:-1;;;14249:50:67;;29002:4:84;28990:17;;;14249:50:67;;;28972:36:84;28945:18;;14249:50:67;28830:184:84;4514:862:67;4587:16;4809:1;4842;4857:97;4870:4;4864:3;-1:-1:-1;;;;;4864:10:67;;4857:97;;;4907:1;4900:3;-1:-1:-1;;;;;4900:8:67;;;4894:14;;4938:1;4926:13;;;;4857:97;;;4983:8;-1:-1:-1;;;;;4973:19:67;-1:-1:-1;;;;;4973:19:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4973:19:67;;4967:25;;5012:1;5006:7;;5036:1;5027:3;5031:1;5027:6;;;;;;;;:::i;:::-;;;;:10;-1:-1:-1;;;;;5027:10:67;;;;;;;;-1:-1:-1;5067:1:67;5051:218;5074:8;-1:-1:-1;;;;;5070:12:67;:1;-1:-1:-1;;;;;5070:12:67;;5051:218;;;5210:3;5216:4;5210:10;5197:4;:24;5190:32;;5181:3;5185:1;-1:-1:-1;;;;;5181:6:67;;;;;;;;;:::i;:::-;;;;:41;-1:-1:-1;;;;;5181:41:67;;;;;;;;-1:-1:-1;5253:1:67;5246:8;;;;;;;5084:3;;5051:218;;;;5355:4;5334:25;;:3;5349:1;5338:8;:12;-1:-1:-1;;;;;5334:17:67;;;;;;;;;:::i;:::-;;;;:25;;;;;-1:-1:-1;;;;;;5334:25:67;;;;;;;;;4619:751;;4514:862;;;;:::o;7540:837::-;7806:12;7834:29;7878:7;:14;-1:-1:-1;;;;;7866:27:67;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7834:59;;7908:7;7903:164;7926:7;:14;7921:2;:19;7903:164;;;7963:39;7980:7;7988:2;7980:11;;;;;;;;:::i;:::-;;;;;;;7993:4;7998:2;7993:8;;;;;;;;:::i;:::-;;;;;;;7963:16;:39::i;:::-;8037:19;8044:7;8052:2;8044:11;;;;;;;;:::i;:::-;;;;;;;8037:6;:19::i;:::-;8016:14;8031:2;8016:18;;;;;;;;:::i;:::-;;;;;;;;;;:40;7942:5;;7903:164;;;;8113:35;8133:14;8113:19;:35::i;:::-;8176:30;;8162:60;;-1:-1:-1;;;8162:6:67;:60::i;:::-;8236:23;8273:55;8287:18;:25;8322:4;8315:12;;8273:6;:55::i;:::-;8342:18;8083:287;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8076:294;;;7540:837;;;;;;;:::o;9099:561::-;9186:21;9272:43;9286:6;:13;;;9279:21;;;;;;;;:::i;:::-;-1:-1:-1;;;9272:6:67;:43::i;:::-;9350:1;9329:6;:11;;;:18;:22;:190;;9510:9;;;;;;;;;;;;9329:190;;;9422:11;;;;:18;9408:48;;-1:-1:-1;;;9408:6:67;:48::i;:::-;9478:11;;;;;9370:137;;;;;;;:::i;:::-;;;;;;;;;;;;;9329:190;9242:287;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9231:298;;9576:45;9590:8;:15;9615:4;9608:12;;9576:6;:45::i;:::-;9635:8;9546:107;;;;;;;;;:::i;14322:1109::-;14500:38;14482:14;;:56;;;;;;;;:::i;:::-;;:143;;;-1:-1:-1;14581:44:67;14563:14;;:62;;;;;;;;:::i;:::-;;14482:143;:216;;;-1:-1:-1;14667:31:67;14649:14;;:49;;;;;;;;:::i;:::-;;14482:216;:303;;;-1:-1:-1;14740:45:67;14722:14;;:63;;;;;;;;:::i;:::-;;14482:303;:385;;;-1:-1:-1;14827:40:67;14809:14;;:58;;;;;;;;:::i;:::-;;14482:385;14459:516;;14944:14;;14938:21;;;;;;;;:::i;:::-;14908:52;;-1:-1:-1;;;14908:52:67;;29002:4:84;28990:17;;;14908:52:67;;;28972:36:84;28945:18;;14908:52:67;28830:184:84;14459:516:67;14993:7;14988:116;15011:7;:15;;;:22;15006:2;:27;14988:116;;;15060:29;15069:7;:15;;;15085:2;15069:19;;;;;;;;:::i;:::-;;;;;;;15060:8;:29::i;:::-;15035:5;;14988:116;;;;14322:1109;:::o;10326:548::-;10475:12;10503:27;10533:26;10554:4;10533:20;:26::i;:::-;10503:56;;10569:266;2086:11:66;;:16;;:23;2064:18;;;;;:45;;10569:266:67;;1091:1:66;10607:46:67;;:4;:14;;;:46;;;10603:222;;10673:33;10695:4;10701;10673:21;:33::i;:::-;10731:13;:4;:11;:13::i;:::-;10724:20;;10569:266;;10603:222;10790:20;:11;:4;:9;:11::i;:::-;:18;:20::i;10569:266::-;10851:11;:16;;10326:548;-1:-1:-1;;;10326:548:67:o;16382:253::-;16481:21;16525:103;16571:28;16592:6;16571:20;:28::i;:::-;16613:5;16525:32;:103::i;5385:2149::-;5475:12;5503:27;5533:43;5547:6;:13;;;5540:21;;;;;;;;:::i;5533:43::-;5503:73;;5586:24;5651:1;5630:6;:10;;;5624:24;:28;5620:210;;;5736:10;;;;5730:24;5716:54;;-1:-1:-1;;;5716:6:67;:54::i;:::-;5794:6;:10;;;5682:137;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5668:151;;5620:210;5880:13;;;;:20;5839:27;;5880:24;5876:201;;5985:13;;;;:20;5971:50;;-1:-1:-1;;;5971:6:67;:50::i;:::-;6039:6;:13;;;5937:129;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5920:146;;5876:201;6131:11;;;;6125:25;6086;;6125:29;6121:214;;6239:11;;;;6233:25;6219:55;;-1:-1:-1;;;6219:6:67;:55::i;:::-;6298:6;:11;;;6185:139;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6170:154;;6121:214;6386:14;;;;:21;6344:28;;6386:25;6382:684;;6432:8;6427:629;6452:6;:14;;;:21;6446:3;:27;6427:629;;;6501:21;6563:66;6583:6;:14;;;6598:3;6583:19;;;;;;;;:::i;:::-;;;;;;;6603:1;6583:22;;;;;;;:::i;:::-;;;;;6577:36;-1:-1:-1;;;6563:6:67;:66::i;:::-;6657:6;:14;;;6672:3;6657:19;;;;;;;;:::i;:::-;;;;;;;6677:1;6657:22;;;;;;;:::i;:::-;;;;;6702:66;6722:6;:14;;;6737:3;6722:19;;;;;;;;:::i;:::-;;;;;;;6742:1;6722:22;;;;;;;:::i;:::-;;;;;6716:36;-1:-1:-1;;;6702:6:67;:66::i;:::-;6796:6;:14;;;6811:3;6796:19;;;;;;;;:::i;:::-;;;;;;;6816:1;6796:22;;;;;;;:::i;:::-;;;;;6525:312;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6501:336;;6911:15;6948:45;6962:8;:15;6987:4;6980:12;;6948:6;:45::i;:::-;7015:8;6873:168;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6873:168:67;;;;;;;;;;-1:-1:-1;;6475:6:67;;6427:629;;;;6382:684;7075:15;7262;:22;7224:12;:19;7184:14;:21;7147:11;:18;7107:14;:21;:58;;;;:::i;:::-;:98;;;;:::i;:::-;:136;;;;:::i;:::-;:177;;;;:::i;:::-;7075:219;-1:-1:-1;7341:40:67;7075:219;-1:-1:-1;;;7341:6:67;:40::i;:::-;7395:14;7423:11;7448:14;7476:12;7502:15;7311:216;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7304:223;;;;;;;;5385:2149;;;:::o;1952:376::-;2018:6;2049:29;2040:5;:38;;;;;;;;:::i;:::-;;:90;;;-1:-1:-1;2103:27:67;2094:5;:36;;;;;;;;:::i;:::-;;2040:90;2036:286;;;-1:-1:-1;2162:1:67;;1952:376;-1:-1:-1;1952:376:67:o;2036:286::-;2193:26;2184:5;:35;;;;;;;;:::i;:::-;;2180:142;;-1:-1:-1;2242:1:67;;1952:376;-1:-1:-1;1952:376:67:o;2180:142::-;-1:-1:-1;2309:1:67;;1952:376;-1:-1:-1;1952:376:67:o;2180:142::-;1952:376;;;:::o;20412:211:65:-;20503:13;20527:25;20558:27;20572:5;20580:4;20558:7;:27::i;:::-;-1:-1:-1;20526:59:65;20412:211;-1:-1:-1;;;;20412:211:65:o;1199:1368::-;1449:4;1443:11;1541:2;1529:15;;1316:23;1580:1;1565:791;1589:6;:13;1583:2;:19;1565:791;;1804:2;1796:11;;;1784:24;;1778:31;1868:13;;1778:31;;1949:15;;1983:95;2001:18;1949:15;1868:13;1983:6;:95::i;:::-;-1:-1:-1;2301:37:65;;;;2187:36;;;;;-1:-1:-1;1604:5:65;;1565:791;;;;2429:17;2421:6;2414:33;2544:2;2525:17;2521:26;2514:4;2508:11;2504:44;2498:4;2491:58;2372:185;;1199:1368;;;:::o;2415:198:66:-;2488:11;;:::i;:::-;2545:32;;;;;;;;;;;;2509:33;2545:32;;;;2590:18;2545:32;2590:10;:18::i;:::-;2583:25;2415:198;-1:-1:-1;;;2415:198:66:o;16891:692:67:-;17049:8;;;;17081:11;;:18;;;-1:-1:-1;;;;;17034:23:67;;;;:12;17137:17;17049:4;17137:15;:17::i;:::-;17109:46;;17166:19;17187:18;17209:34;17230:6;17238:4;17209:20;:34::i;:::-;17165:78;;-1:-1:-1;17165:78:67;-1:-1:-1;17257:17:67;;17253:324;;17290:26;17319:22;17333:6;17319;:22::i;:::-;17290:51;-1:-1:-1;17376:16:67;17385:7;17376:6;:16;:::i;:::-;17355:11;;:18;;:37;17442:13;;17406:104;;17442:23;;17458:7;;17442:23;:::i;:::-;17406:11;;;17483:13;17406:18;:104::i;:::-;17546:20;;17524:11;;:18;;:42;;;;17546:20;;17524:42;:::i;:::-;;;-1:-1:-1;;17253:324:67;17024:559;;;;;16891:692;;:::o;4262:199:66:-;4331:22;;:::i;:::-;2086:11;;:16;;:23;2064:18;;;;;:45;;4363:94;;4406:11;;4395:23;;:10;:23::i;4363:94::-;-1:-1:-1;4446:4:66;4262:199::o;4465:1100::-;4532:22;;:::i;:::-;4575:14;;;;:32;;;;:85;;-1:-1:-1;4619:14:66;;;;:41;;994:1;4619:41;4575:85;:257;;;-1:-1:-1;4684:14:66;;;;:41;;1286:1;4684:41;:90;;;;;4772:2;4742:4;:26;;;:32;;;;4684:90;:138;;;;;4820:2;4790:4;:26;;;:32;;;;4684:138;4564:980;;;4869:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;4847:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4446:4:66;4262:199::o;4564:980::-;4912:14;;;;:35;;1091:1;4912:35;;:83;;-1:-1:-1;4961:14:66;;;;:34;;1042:1;4961:34;4912:83;4899:645;;;5010:10;5023:51;5034:4;:11;;;5047:4;:26;;;5023:10;:51::i;:::-;5010:64;;5104:3;-1:-1:-1;;;;;5082:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;4899:645:66;;-1:-1:-1;4899:645:66;;5131:14;;;;:34;;1139:1;5131:34;;:78;;-1:-1:-1;5177:14:66;;;;:32;;1185:1;5177:32;5131:78;5120:424;;;5236:51;5247:4;:11;;;5260:4;:26;;;5236:10;:51::i;:::-;-1:-1:-1;;;;;5225:62:66;:8;;;:62;-1:-1:-1;4446:4:66;4262:199::o;5120:424::-;5318:14;;;;:41;;1286:1;5318:41;;;:155;;;5383:4;:26;;;:32;;5413:2;5383:32;;:80;;;;;5431:4;:26;;;:32;;5461:2;5431:32;;5383:80;5306:238;;;5488:49;;-1:-1:-1;;;5488:49:66;;32421:2:84;5488:49:66;;;32403:21:84;32460:2;32440:18;;;32433:30;32499:34;32479:18;;;32472:62;-1:-1:-1;;;32550:18:84;;;32543:37;32597:19;;5488:49:66;32219:403:84;17594:1429:67;17714:21;1139:1:66;17755:45:67;;:4;:14;;;:45;;;17751:1266;;17816:30;17849:16;:4;:14;:16::i;:::-;17816:49;;17898:1;17883:5;:12;:16;17879:312;;;17926:4;:162;;18025:63;18058:5;18079:1;18064:5;:12;:16;;;;:::i;:::-;18058:23;;;;;;;;:::i;:::-;;;;;;;18083:4;18025:32;:63::i;:::-;17926:162;;;17953:49;17986:5;17992:1;17986:8;;;;;;;;:::i;:::-;;;;;;;17996:5;17953:32;:49::i;:::-;17919:169;;;;;17879:312;18151:25;18144:32;;;;;17751:1266;18211:14;;;;:43;;18207:810;;18296:11;;:18;;;18282:11;18342:15;18296:4;18342:13;:15::i;:::-;18328:29;;18371:14;18398:33;;;;;;;;;;;;;;;;;:40;18389:6;:49;:139;;18486:33;;;;;;;;;;;;;;;;;18520:6;18486:41;;;;;;;;:::i;:::-;;;;;;;18389:139;;;18457:4;18389:139;18371:171;-1:-1:-1;18577:31:67;18560:49;;;;18556:242;;;18686:11;;:16;18636:147;;-1:-1:-1;;;18636:147:67;;;;18686:16;18724:6;;18758;;18636:147;;;:::i;18556:242::-;18840:8;18818:31;;;;;;;;;;:::i;:::-;18811:38;;;;;;;18207:810;18978:14;;;;;18887:119;;-1:-1:-1;;;18887:119:67;;939:1:66;18887:119:67;;;33168:36:84;33198:4;33240:17;;;33220:18;;;33213:45;33141:18;;18887:119:67;32998:266:84;17693:2376:65;17783:19;17804:9;17823:7;17833:1;17823:11;;17836:8;17854:16;17876:17;17899;17922:18;17950:11;17967:17;17990:18;18034:1;18019:5;:12;:16;18015:54;;;18053:5;18060:1;18045:17;;;;;;;;;;;;;;;18015:54;18219:4;18213:11;18353:12;;18213:11;;-1:-1:-1;18159:2:65;18148:14;;;;-1:-1:-1;18285:15:65;;;-1:-1:-1;;;18353:16:65;18377:1224;18389:6;18384:2;:11;18377:1224;;;-1:-1:-1;;;;;;;;18424:25:65;;:5;18430:2;18424:9;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;18424:9:65;:25;:70;;;;;-1:-1:-1;;;;;;;;18465:29:65;;:5;18471:2;18476:1;18471:6;18465:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;18465:13:65;:29;18424:70;:114;;;;;-1:-1:-1;;;;;;;;18510:28:65;;:5;18516:2;18521:1;18516:6;18510:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;18510:13:65;:28;;18424:114;:158;;;;;-1:-1:-1;;;;;;;;18554:28:65;;:5;18560:2;18565:1;18560:6;18554:13;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;18554:13:65;:28;;18424:158;18409:1184;;;18625:3;18620:2;:8;18605:24;;18650:3;18645:2;:8;18641:282;;;18669:104;18691:13;18720:12;18748:11;18669:6;:104::i;:::-;18787:31;;;18817:1;18787:31;;18832:28;;;;18641:282;;;18909:1;18893:17;;;;18641:282;18934:7;-1:-1:-1;;;18972:18:65;;18955:5;18961:2;18966:1;18961:6;18955:13;;;;;;;;:::i;:::-;;;;;;;;;18949:20;;:41;18944:47;;18934:57;;19013:4;:11;19007:2;:17;19003:89;;19067:11;;19047:32;;-1:-1:-1;;;19047:32:65;;19064:1;19059:6;;19047:32;;;33443:25:84;33484:18;;;33477:34;;;;33416:18;;19047:32:65;33269:248:84;19003:89:65;19168:1;19164:2;19160:10;19156:2;19152:19;19146:4;19142:30;19136:37;19126:47;;19208:6;19202:13;19186:29;;19257:2;19249:6;19245:15;19228:32;;19297:98;19317:13;19344;19371:12;19297:6;:98::i;:::-;-1:-1:-1;19541:7:65;;;;;19508:1;19502:7;;;;;;;-1:-1:-1;19423:26:65;;;19407:42;;;;;19461:29;;;;18377:1224;;18409:1184;19577:5;;;;;18377:1224;;;-1:-1:-1;19613:12:65;;;-1:-1:-1;19645:16:65;;19641:424;;19680:3;19675:2;:8;19671:155;;;19696:85;19714:13;19739:12;19763:8;19768:3;19763:2;:8;:::i;:::-;19696:6;:85::i;:::-;19808:8;19813:3;19808:2;:8;:::i;:::-;19791:26;;;;:::i;:::-;;;19671:155;19902:12;19894:6;19887:28;20004:2;19990:12;19986:21;19979:4;19973:11;19969:39;19963:4;19956:53;19641:424;;;20049:5;20056:1;20041:17;;;;;;;;;;;;;;;19641:424;17817:2252;;;;;;;;;17693:2376;;;;;;:::o;22416:596::-;22578:141;22592:2;22585:3;:9;22578:141;;22651:10;;22638:24;;22689:2;22681:10;;;;22701:9;;;;-1:-1:-1;;22596:9:65;22578:141;;;22730:7;;22726:276;;22865:10;;22919:11;;22802:2;:8;;;;22794:3;:17;-1:-1:-1;;22794:21:65;22877:10;;22861:27;;;22915:23;;22962:21;22949:35;;22416:596::o;2925:996:66:-;3032:11;;:::i;:::-;1893;;:18;3011:6;;1893:11;:23;1889:77;;1933:26;;-1:-1:-1;;;1933:26:66;;;;;;;;;;;1889:77;3053:17:::1;3094:3;3053:17:::0;-1:-1:-1;;;;;3053:17:66;3198:4:::1;3208:478;3215:8;3208:478;;;3303:18;:6;:16;:18::i;:::-;3289:32:::0;-1:-1:-1;3329:6:66;::::1;::::0;::::1;:::i;:::-;3355:16:::0;3370:1:::1;3355:16:::0;;;;;-1:-1:-1;3417:4:66::1;3403:18:::0;::::1;::::0;-1:-1:-1;3329:6:66;-1:-1:-1;;;;3466:27:66;;3462:218:::1;;3520:13;::::0;::::1;::::0;3549:41:::1;3520:6:::0;3568:21;3549:10:::1;:41::i;:::-;3543:47;;3623:7;3607:6;:13;;;:23;;;;:::i;:::-;3600:30;::::0;;::::1;:::i;:::-;;;3495:144;3208:478;;3462:218;-1:-1:-1::0;3666:5:66::1;3208:478;;;1286:1;3695:35;::::0;::::1;;3691:94;;;3747:31;::::0;-1:-1:-1;;;3747:31:66;;29002:4:84;28990:17;;3747:31:66::1;::::0;::::1;28972:36:84::0;28945:18;;3747:31:66::1;28830:184:84::0;3691:94:66::1;-1:-1:-1::0;3797:119:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3797:119:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3797:119:66;;2925:996;-1:-1:-1;2925:996:66:o;15739:677::-;15849:18;15811:4;1091:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;33198:4:84;33186:17;;;1763:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1763:45:66;32998:266:84;1716:99:66;15888:51:::1;15899:4;:11;;;15912:4;:26;;;15888:10;:51::i;:::-;-1:-1:-1::0;;;;;15877:62:66::1;:8;::::0;::::1;:62:::0;;;-1:-1:-1;;15949:22:66;15945:467:::1;;15981:10;15999:341;16007:5;15999:341;;16024:13;16040:86;16079:4;:11;;;16102:4;:14;;;16040:27;:86::i;:::-;16024:102:::0;-1:-1:-1;;;;;;16140:19:66;;::::1;;16136:196;;;16217:4:::0;16235:32:::1;16256:10;16265:1;16256:6:::0;:10:::1;:::i;:::-;16235:11:::0;;;:20:::1;:32::i;:::-;16187:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16173:107;;16136:196;;;16317:4;16309:12;;16136:196;16014:326;15999:341;;;15973:373;15945:467;;;16395:8;::::0;::::1;::::0;16374:11;;:30:::1;::::0;:20:::1;:30::i;:::-;16360:45;;15945:467;15739:677:::0;;;;;:::o;2755:488:65:-;2926:13;;;;2905:11;;:18;2897:6;;2905:34;;;:::i;:::-;:38;;2942:1;2905:38;:::i;:::-;988:6;980:5;:14;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;2976:14:::1;::::0;;2988:1:::1;2976:14:::0;;;;;::::1;::::0;;;2953:20:::1;::::0;2976:14:::1;;;;;;;;;;;;;;;;;;;;2953:37;;3007:54;3019:6;3033:1;3042:6;:13;;;3007:4;:54::i;:::-;2996:5;3002:1;2996:8;;;;;;;;:::i;:::-;;;;;;:65;;;;3078:5;3067;3073:1;3067:8;;;;;;;;:::i;:::-;;;;;;:16;;;;3100:105;3112:6;3142;3126;:13;;;:22;;;;:::i;:::-;3177:13;::::0;::::1;::::0;3156:11;;:18;3193:6;;3156:34:::1;::::0;::::1;:::i;:::-;:43;;;;:::i;:::-;3100:4;:105::i;:::-;3089:5;3095:1;3089:8;;;;;;;;:::i;:::-;;;;;;:116;;;;3225:13;3232:5;3225:6;:13::i;:::-;3211:27:::0;;;-1:-1:-1;;;;;2755:488:65:o;5569:337:66:-;5638:6;5687:2;5658:4;:26;;;:31;;;5654:248;;;-1:-1:-1;5706:1:66;;5569:337;-1:-1:-1;5569:337:66:o;5654:248::-;5753:2;5724:4;:26;;;:31;;;5720:182;;;5814:2;5785:4;:26;;;:31;;;;:::i;:::-;5779:38;;:1;:38;;5765:53;;5569:337;;;:::o;5720:182::-;5868:26;;;;5846:49;;-1:-1:-1;;;5846:49:66;;29002:4:84;28990:17;;;5846:49:66;;;28972:36:84;28945:18;;5846:49:66;28830:184:84;8569:671:66;8703:6;8747:2;8723:21;:26;;;8719:75;;;-1:-1:-1;8759:28:66;;;;;8719:75;8803:21;:27;;8828:2;8803:27;8799:73;;8847:18;:6;:16;:18::i;:::-;8840:25;;;;;;8799:73;8881:21;:27;;8906:2;8881:27;8877:74;;8925:19;:6;:17;:19::i;:::-;8918:26;;;;;;8877:74;8960:21;:27;;8985:2;8960:27;8956:74;;9004:19;:6;:17;:19::i;:::-;8997:26;;;;;;8956:74;9039:21;:27;;9064:2;9039:27;9035:74;;9083:19;:6;:17;:19::i;9035:74::-;9118:21;:27;;9143:2;9118:27;9114:65;;-1:-1:-1;;;;;;9155:17:66;;9114:65;9191:44;;-1:-1:-1;;;9191:44:66;;29002:4:84;28990:17;;9191:44:66;;;28972:36:84;28945:18;;9191:44:66;28830:184:84;5910:1202:66;6018:19;5981:4;1139:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;33198:4:84;33186:17;;;1763:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1763:45:66;32998:266:84;1716:99:66;6131:10:::1;6144:51;6155:4;:11;;;6168:4;:26;;;6144:10;:51::i;:::-;6131:64:::0;-1:-1:-1;6220:7:66::1;6131:64:::0;6226:1:::1;6220:7;:::i;:::-;-1:-1:-1::0;;;;;6209:19:66::1;-1:-1:-1::0;;;;;6209:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6201:27;;6239:7;6234:722;6257:3;-1:-1:-1::0;;;;;6252:8:66::1;:2;:8;6234:722;;;6327:13;:4;:11;:13::i;:::-;6320:20;;6424:11;:4;:9;:11::i;:::-;6412:5;6418:2;6412:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1139:1;6447:34;;:4;:14;;;:34;;::::0;6443:507:::1;;6493:23;6519:16;:4;:14;:16::i;:::-;6493:42;;6616:9;6645:1;6626:9;:16;:20;;;;:::i;:::-;6616:31;;;;;;;;:::i;:::-;;;;;;;6609:38;;6483:173;6443:507;;;1185:1;6666:32;;:4;:14;;;:32;;::::0;6662:288:::1;;6710:23;6736:14;:4;:12;:14::i;6662:288::-;6930:11;:4;:9;:11::i;:::-;;6662:288;6262:5;;6234:722;;;;7103:4;7090:5;7096:3;-1:-1:-1::0;;;;;7090:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6041:1071;5910:1202:::0;;;;;:::o;17335:200::-;17440:4;17405;939:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;33198:4:84;33186:17;;;1763:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1763:45:66;32998:266:84;1716:99:66;17461:69:::1;17479:4;:11;;;17498:4;:26;;;17461:10;:69::i;:::-;-1:-1:-1::0;;;;;17454:76:66::1;::::0;17335:200;-1:-1:-1;;;;17335:200:66:o;13332:304:65:-;13455:11;13407:6;:13;;;13422:6;:11;;;:18;988:6;980:5;:14;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;13496:11;;13527:13:::1;::::0;::::1;::::0;;13578:25;;;13592:1:::1;13578:25:::0;13572:32;;-1:-1:-1;13527:13:65;;;13615:16:::1;13527:13:::0;13615:16:::1;:::i;:::-;;;::::0;::::1;13470:166;;13332:304:::0;;;;;:::o;18437:521:66:-;18574:10;18594:17;18614:18;:6;:16;:18::i;:::-;18594:38;;18642:11;:19;;18657:4;18642:19;18638:57;;-1:-1:-1;;;;;18671:17:66;;;;;18638:57;18706:56;18724:6;18738:11;18752:4;18738:18;18706:10;:56::i;:::-;18700:62;-1:-1:-1;;;;;;18772:17:66;;;;18768:186;;18806:26;;-1:-1:-1;;;18806:26:66;;-1:-1:-1;;;;;34856:31:84;;18806:26:66;;;34838:50:84;34811:18;;18806:26:66;34693:201:84;18768:186:66;18863:16;18849:31;;18863:16;18878:1;18863:16;;;;18849:31;18845:109;;18897:50;;-1:-1:-1;;;18897:50:66;;18918:16;18933:1;18918:16;;;;18897:50;;;33168:36:84;18918:16:66;33240:17:84;;33220:18;;;33213:45;33141:18;;18897:50:66;32998:266:84;12065:1038:65;12182:17;12226:6;-1:-1:-1;;;;;12216:17:65;-1:-1:-1;;;;;12216:17:65;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12216:17:65;;12209:24;;12262:12;12257:743;12288:6;-1:-1:-1;;;;;12280:14:65;:5;-1:-1:-1;;;;;12280:14:65;;12257:743;;;12316:10;12329:17;12339:6;12329:9;:17::i;:::-;12316:30;-1:-1:-1;12367:4:65;12360:11;;:16;12356:600;;12401:4;12394;:11;;;12390:556;;;12464:17;12474:6;12464:9;:17::i;:::-;12484:4;12464:24;12445:1;12429:4;12436;12429:11;12428:18;;;;:61;12421:68;;12513:1;12503:11;;;;12390:556;;;12544:4;12537;:11;;;12533:413;;;12657:17;12667:6;12657:9;:17::i;:::-;12677:4;12657:24;12638:1;12609:17;12619:6;12609:9;:17::i;:::-;12629:4;12609:24;12608:31;;;;12589:2;12573:4;12580;12573:11;12572:19;;;;:67;:110;12564:118;;12706:1;12696:11;;;;12533:413;;;12883:17;12893:6;12883:9;:17::i;:::-;12903:4;12883:24;12862:1;12833:17;12843:6;12833:9;:17::i;:::-;12853:4;12833:24;12832:31;;12813:2;12784:17;12794:6;12784:9;:17::i;:::-;12804:4;12784:24;12783:32;;;;12764:2;12748:4;12755;12748:11;12747:19;;;;:68;:116;:161;12740:168;;12932:1;12922:11;;;;12533:413;12986:4;12979:12;;12965:4;12970:5;-1:-1:-1;;;;;12965:11:65;;;;;;;;;:::i;:::-;;;;:26;-1:-1:-1;;;;;12965:26:65;;;;;;;;-1:-1:-1;;12296:8:65;;12257:743;;;-1:-1:-1;13065:20:65;;;13072:4;12065:1038;-1:-1:-1;12065:1038:65:o;3705:549::-;3888:12;3838:15;3847:6;3838;:15;:::i;:::-;3855:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;3930:11;;3910:17:::1;3978:6:::0;-1:-1:-1;;;;;3968:17:65;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3968:17:65::1;-1:-1:-1::0;3947:38:65;-1:-1:-1;4094:2:65::1;4083:14:::0;;::::1;::::0;4121:26;;;;4158:73:::1;4083:14:::0;4121:26;4219:6;4158::::1;:73::i;:::-;-1:-1:-1::0;4244:5:65;;3705:549;-1:-1:-1;;;;;;;;3705:549:65:o;13873:312::-;14001:12;13949:6;:13;;;13965:1;13949:17;;;;:::i;:::-;13968:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;14043:11;;14074:13:::1;::::0;::::1;::::0;;14139:1:::1;14125:25:::0;;;;;14119:32;;-1:-1:-1;14074:13:65;;14162:18:::1;14139:1:::0;14074:13;14162:18:::1;:::i;:::-;::::0;;-1:-1:-1;13873:312:65;;;-1:-1:-1;;;;;13873:312:65:o;14422:::-;14550:12;14498:6;:13;;;14514:1;14498:17;;;;:::i;:::-;14517:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;14592:11;;14623:13:::1;::::0;::::1;::::0;;14688:1:::1;14674:25:::0;;;;;14668:32;;-1:-1:-1;14623:13:65;;14711:18:::1;14688:1:::0;14623:13;14711:18:::1;:::i;14971:312::-:0;15099:12;15047:6;:13;;;15063:1;15047:17;;;;:::i;:::-;15066:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;33443:25:84;;;33484:18;;;33477:34;;;33416:18;;1011:31:65;33269:248:84;976:73:65;15141:11;;15172:13:::1;::::0;::::1;::::0;;15237:1:::1;15223:25:::0;;;;;15217:32;;-1:-1:-1;15172:13:65;;15260:18:::1;15237:1:::0;15172:13;15260:18:::1;:::i;3925:333:66:-:0;3999:22;;:::i;:::-;4038:215;;;;;;;;;4059:11;;-1:-1:-1;;;;;;;;;;;;;;2694:52:65;;;;;;;;2708:11;;2694:52;;-1:-1:-1;2727:13:65;;;;2694:52;;;;4038:215:66;;;;;;;4098:4;:16;;;4038:215;;;;;;4133:4;:14;;;4038:215;;;;;;4178:4;:26;;;4038:215;;;;;;4217:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;;4238:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;4031:222;;3925:333;;;:::o;7116:1279::-;7220:19;7185:4;1185:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;33198:4:84;33186:17;;;1763:45:66;;;33168:36:84;33240:17;;;33220:18;;;33213:45;33141:18;;1763:45:66;32998:266:84;1716:99:66;7349:10:::1;7362:51;7373:4;:11;;;7386:4;:26;;;7362:10;:51::i;:::-;:55;::::0;7416:1:::1;7362:55;:::i;:::-;7349:68:::0;-1:-1:-1;7442:7:66::1;7349:68:::0;7448:1:::1;7442:7;:::i;:::-;-1:-1:-1::0;;;;;7431:19:66::1;-1:-1:-1::0;;;;;7431:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7423:27;;7461:7;7456:783;7479:3;-1:-1:-1::0;;;;;7474:8:66::1;:2;:8;7456:783;;;7549:13;:4;:11;:13::i;:::-;7542:20;;7646:11;:4;:9;:11::i;:::-;7634:5;7640:2;7634:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7669:6:::1;7674:1;7669:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7684:14:66::1;::::0;::::1;::::0;:35:::1;;1091:1;7684:35;;7669:50;7665:568;;;7758:14;::::0;;::::1;::::0;7738:54;;-1:-1:-1;;;7738:54:66;;33198:4:84;33186:17;;;7738:54:66::1;::::0;::::1;33168:36:84::0;1091:1:66::1;33220:18:84::0;;;33213:45;33141:18;;7738:54:66::1;32998:266:84::0;7665:568:66::1;7811:14;::::0;::::1;::::0;:34:::1;;1139:1;7811:34;::::0;:70:::1;;-1:-1:-1::0;7849:14:66::1;::::0;::::1;::::0;:32:::1;;1185:1;7849:32;7811:70;7807:426;;;7920:14;::::0;::::1;::::0;7893:23:::1;::::0;7920:34:::1;;1139:1;7920:34;:94;;8000:14;:4;:12;:14::i;:::-;7920:94;;;7969:16;:4;:14;:16::i;:::-;7893:131;;8112:9;8141:1;8122:9;:16;:20;;;;:::i;:::-;8112:31;;;;;;;;:::i;:::-;;;;;;;8105:38;;7883:269;7807:426;;;8213:11;:4;:9;:11::i;:::-;;7807:426;7484:5;;7456:783;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:156:84:-;94:20;;143:2;133:13;;123:41;;160:1;157;150:12;175:159;242:20;;302:6;291:18;;281:29;;271:57;;324:1;321;314:12;339:290;426:6;434;487:2;475:9;466:7;462:23;458:32;455:52;;;503:1;500;493:12;455:52;526:41;557:9;526:41;:::i;:::-;516:51;;586:37;619:2;608:9;604:18;586:37;:::i;:::-;576:47;;339:290;;;;;:::o;835:127::-;896:10;891:3;887:20;884:1;877:31;927:4;924:1;917:15;951:4;948:1;941:15;967:251;1039:2;1033:9;;;1069:15;;-1:-1:-1;;;;;1099:34:84;;1135:22;;;1096:62;1093:88;;;1161:18;;:::i;:::-;1197:2;1190:22;967:251;:::o;1223:253::-;1295:2;1289:9;1337:4;1325:17;;-1:-1:-1;;;;;1357:34:84;;1393:22;;;1354:62;1351:88;;;1419:18;;:::i;1481:275::-;1552:2;1546:9;1617:2;1598:13;;-1:-1:-1;;1594:27:84;1582:40;;-1:-1:-1;;;;;1637:34:84;;1673:22;;;1634:62;1631:88;;;1699:18;;:::i;:::-;1735:2;1728:22;1481:275;;-1:-1:-1;1481:275:84:o;1761:530::-;1803:5;1856:3;1849:4;1841:6;1837:17;1833:27;1823:55;;1874:1;1871;1864:12;1823:55;1910:6;1897:20;-1:-1:-1;;;;;1932:2:84;1929:26;1926:52;;;1958:18;;:::i;:::-;2002:55;2045:2;2026:13;;-1:-1:-1;;2022:27:84;2051:4;2018:38;2002:55;:::i;:::-;2082:2;2073:7;2066:19;2128:3;2121:4;2116:2;2108:6;2104:15;2100:26;2097:35;2094:55;;;2145:1;2142;2135:12;2094:55;2210:2;2203:4;2195:6;2191:17;2184:4;2175:7;2171:18;2158:55;2258:1;2233:16;;;2251:4;2229:27;2222:38;;;;2237:7;1761:530;-1:-1:-1;;;1761:530:84:o;2296:320::-;2364:6;2417:2;2405:9;2396:7;2392:23;2388:32;2385:52;;;2433:1;2430;2423:12;2385:52;2473:9;2460:23;-1:-1:-1;;;;;2498:6:84;2495:30;2492:50;;;2538:1;2535;2528:12;2492:50;2561:49;2602:7;2593:6;2582:9;2578:22;2561:49;:::i;:::-;2551:59;2296:320;-1:-1:-1;;;;2296:320:84:o;2621:250::-;2706:1;2716:113;2730:6;2727:1;2724:13;2716:113;;;2806:11;;;2800:18;2787:11;;;2780:39;2752:2;2745:10;2716:113;;;-1:-1:-1;;2863:1:84;2845:16;;2838:27;2621:250::o;2876:270::-;2917:3;2955:5;2949:12;2982:6;2977:3;2970:19;2998:76;3067:6;3060:4;3055:3;3051:14;3044:4;3037:5;3033:16;2998:76;:::i;:::-;3128:2;3107:15;-1:-1:-1;;3103:29:84;3094:39;;;;3135:4;3090:50;;2876:270;-1:-1:-1;;2876:270:84:o;3151:225::-;3306:2;3295:9;3288:21;3269:4;3326:44;3366:2;3355:9;3351:18;3343:6;3326:44;:::i;3381:164::-;3470:20;;3519:1;3509:12;;3499:40;;3535:1;3532;3525:12;3550:188;3615:4;-1:-1:-1;;;;;3640:6:84;3637:30;3634:56;;;3670:18;;:::i;:::-;-1:-1:-1;3715:1:84;3711:14;3727:4;3707:25;;3550:188::o;3743:1750::-;3802:5;3855:3;3848:4;3840:6;3836:17;3832:27;3822:55;;3873:1;3870;3863:12;3822:55;3909:6;3896:20;3935:4;3959:65;3975:48;4020:2;3975:48;:::i;:::-;3959:65;:::i;:::-;4058:15;;;4144:1;4140:10;;;;4128:23;;4124:32;;;4089:12;;;;4168:15;;;4165:35;;;4196:1;4193;4186:12;4165:35;4232:2;4224:6;4220:15;4244:1220;4260:6;4255:3;4252:15;4244:1220;;;4346:3;4333:17;-1:-1:-1;;;;;4423:2:84;4410:11;4407:19;4404:109;;;4467:1;4496:2;4492;4485:14;4404:109;4548:11;4540:6;4536:24;4526:34;;4600:3;4595:2;4591;4587:11;4583:21;4573:119;;4646:1;4675:2;4671;4664:14;4573:119;4718:22;;:::i;:::-;4766:5;4808:2;4804;4800:11;4840:3;4830:8;4827:17;4824:107;;;4885:1;4914:2;4910;4903:14;4824:107;4965:2;4961;4957:11;4981:410;4999:8;4992:5;4989:19;4981:410;;;5101:5;5088:19;5145:2;5130:13;5127:21;5124:127;;;5197:1;5230:2;5226;5219:14;5124:127;5282:54;5332:3;5327:2;5311:13;5307:2;5303:22;5299:31;5282:54;:::i;:::-;5268:69;;-1:-1:-1;5363:14:84;;;;5020;;4981:410;;;-1:-1:-1;;5404:18:84;;-1:-1:-1;;;5442:12:84;;;;4277;;4244:1220;;;-1:-1:-1;5482:5:84;3743:1750;-1:-1:-1;;;;;;3743:1750:84:o;5498:1129::-;5709:6;5717;5725;5733;5741;5794:3;5782:9;5773:7;5769:23;5765:33;5762:53;;;5811:1;5808;5801:12;5762:53;5834:50;5874:9;5834:50;:::i;:::-;5824:60;;5935:2;5924:9;5920:18;5907:32;-1:-1:-1;;;;;5999:2:84;5991:6;5988:14;5985:34;;;6015:1;6012;6005:12;5985:34;6038:49;6079:7;6070:6;6059:9;6055:22;6038:49;:::i;:::-;6028:59;;6140:2;6129:9;6125:18;6112:32;6096:48;;6169:2;6159:8;6156:16;6153:36;;;6185:1;6182;6175:12;6153:36;6208:51;6251:7;6240:8;6229:9;6225:24;6208:51;:::i;:::-;6198:61;;6312:2;6301:9;6297:18;6284:32;6268:48;;6341:2;6331:8;6328:16;6325:36;;;6357:1;6354;6347:12;6325:36;6380:68;6440:7;6429:8;6418:9;6414:24;6380:68;:::i;:::-;6370:78;;6501:3;6490:9;6486:19;6473:33;6457:49;;6531:2;6521:8;6518:16;6515:36;;;6547:1;6544;6537:12;6515:36;;6570:51;6613:7;6602:8;6591:9;6587:24;6570:51;:::i;:::-;6560:61;;;5498:1129;;;;;;;;:::o;6822:161::-;6907:20;;6956:2;6946:13;;6936:41;;6973:1;6970;6963:12;6988:496;7046:5;7094:4;7082:9;7077:3;7073:19;7069:30;7066:50;;;7112:1;7109;7102:12;7066:50;7134:22;;:::i;:::-;7125:31;;7193:9;7180:23;7234:2;7225:7;7222:15;7212:43;;7251:1;7248;7241:12;7212:43;7264:22;;7337:2;7322:18;;7309:32;-1:-1:-1;;;;;7353:30:84;;7350:50;;;7396:1;7393;7386:12;7350:50;7432:45;7473:3;7464:6;7453:9;7449:22;7432:45;:::i;:::-;7427:2;7420:5;7416:14;7409:69;;6988:496;;;;:::o;7489:1478::-;7579:6;7610:2;7653;7641:9;7632:7;7628:23;7624:32;7621:52;;;7669:1;7666;7659:12;7621:52;7709:9;7696:23;-1:-1:-1;;;;;7779:2:84;7771:6;7768:14;7765:34;;;7795:1;7792;7785:12;7765:34;7818:22;;;;7874:4;7856:16;;;7852:27;7849:47;;;7892:1;7889;7882:12;7849:47;7918:22;;:::i;:::-;7963:39;7999:2;7963:39;:::i;:::-;7956:5;7949:54;8049:2;8045;8041:11;8028:25;8078:2;8068:8;8065:16;8062:36;;;8094:1;8091;8084:12;8062:36;8125:8;8121:2;8117:17;8107:27;;;8172:7;8165:4;8161:2;8157:13;8153:27;8143:55;;8194:1;8191;8184:12;8143:55;8230:2;8217:16;8253:65;8269:48;8314:2;8269:48;:::i;8253:65::-;8352:15;;;8434:1;8430:10;;;;8422:19;;8418:28;;;8383:12;;;;8458:19;;;8455:39;;;8490:1;8487;8480:12;8455:39;8522:2;8518;8514:11;8534:365;8550:6;8545:3;8542:15;8534:365;;;8636:3;8623:17;8672:2;8659:11;8656:19;8653:109;;;8716:1;8745:2;8741;8734:14;8653:109;8787:69;8848:7;8843:2;8829:11;8825:2;8821:20;8817:29;8787:69;:::i;:::-;8775:82;;-1:-1:-1;8877:12:84;;;;8567;;8534:365;;;-1:-1:-1;8915:14:84;;;8908:29;;;;-1:-1:-1;8919:5:84;7489:1478;-1:-1:-1;;;;;;7489:1478:84:o;8972:228::-;9056:6;9109:2;9097:9;9088:7;9084:23;9080:32;9077:52;;;9125:1;9122;9115:12;9077:52;9148:46;9184:9;9148:46;:::i;9205:156::-;9271:20;;9331:4;9320:16;;9310:27;;9300:55;;9351:1;9348;9341:12;9366:171;9433:20;;-1:-1:-1;;;;;9482:30:84;;9472:41;;9462:69;;9527:1;9524;9517:12;9542:731;9628:6;9681:3;9669:9;9660:7;9656:23;9652:33;9649:53;;;9698:1;9695;9688:12;9649:53;9731:2;9725:9;9773:3;9765:6;9761:16;9843:6;9831:10;9828:22;-1:-1:-1;;;;;9795:10:84;9792:34;9789:62;9786:88;;;9854:18;;:::i;:::-;9890:2;9883:22;9929:27;9946:9;9929:27;:::i;:::-;9921:6;9914:43;9990:36;10022:2;10011:9;10007:18;9990:36;:::i;:::-;9985:2;9977:6;9973:15;9966:61;10060:37;10093:2;10082:9;10078:18;10060:37;:::i;:::-;10055:2;10047:6;10043:15;10036:62;10131:37;10164:2;10153:9;10149:18;10131:37;:::i;:::-;10126:2;10118:6;10114:15;10107:62;10203:38;10236:3;10225:9;10221:19;10203:38;:::i;:::-;10197:3;10185:16;;10178:64;10189:6;9542:731;-1:-1:-1;;;9542:731:84:o;10278:1185::-;10339:5;10387:4;10375:9;10370:3;10366:19;10362:30;10359:50;;;10405:1;10402;10395:12;10359:50;10427:22;;:::i;:::-;10418:31;;10472:27;10489:9;10472:27;:::i;:::-;10465:5;10458:42;10532:59;10587:2;10576:9;10572:18;10532:59;:::i;:::-;10527:2;10520:5;10516:14;10509:83;10624:50;10670:2;10659:9;10655:18;10624:50;:::i;:::-;10619:2;10612:5;10608:14;10601:74;10726:2;10715:9;10711:18;10698:32;-1:-1:-1;;;;;10790:2:84;10782:6;10779:14;10776:34;;;10806:1;10803;10796:12;10776:34;10842:45;10883:3;10874:6;10863:9;10859:22;10842:45;:::i;:::-;10837:2;10830:5;10826:14;10819:69;10941:3;10930:9;10926:19;10913:33;10897:49;;10971:2;10961:8;10958:16;10955:36;;;10987:1;10984;10977:12;10955:36;11024:47;11067:3;11056:8;11045:9;11041:24;11024:47;:::i;:::-;11018:3;11011:5;11007:15;11000:72;11125:3;11114:9;11110:19;11097:33;11081:49;;11155:2;11145:8;11142:16;11139:36;;;11171:1;11168;11161:12;11139:36;11208:64;11268:3;11257:8;11246:9;11242:24;11208:64;:::i;:::-;11202:3;11195:5;11191:15;11184:89;11326:3;11315:9;11311:19;11298:33;11282:49;;11356:2;11346:8;11343:16;11340:36;;;11372:1;11369;11362:12;11340:36;;11409:47;11452:3;11441:8;11430:9;11426:24;11409:47;:::i;:::-;11403:3;11396:5;11392:15;11385:72;;10278:1185;;;;:::o;11468:892::-;11521:5;11574:3;11567:4;11559:6;11555:17;11551:27;11541:55;;11592:1;11589;11582:12;11541:55;11628:6;11615:20;11654:4;11678:65;11694:48;11739:2;11694:48;:::i;11678:65::-;11777:15;;;11863:1;11859:10;;;;11847:23;;11843:32;;;11808:12;;;;11887:15;;;11884:35;;;11915:1;11912;11905:12;11884:35;11951:2;11943:6;11939:15;11963:368;11979:6;11974:3;11971:15;11963:368;;;12065:3;12052:17;-1:-1:-1;;;;;12088:11:84;12085:35;12082:125;;;12161:1;12190:2;12186;12179:14;12082:125;12232:56;12284:3;12279:2;12265:11;12257:6;12253:24;12249:33;12232:56;:::i;:::-;12220:69;;-1:-1:-1;12309:12:84;;;;11996;;11963:368;;12365:616;12501:6;12509;12562:2;12550:9;12541:7;12537:23;12533:32;12530:52;;;12578:1;12575;12568:12;12530:52;12618:9;12605:23;-1:-1:-1;;;;;12688:2:84;12680:6;12677:14;12674:34;;;12704:1;12701;12694:12;12674:34;12727:65;12784:7;12775:6;12764:9;12760:22;12727:65;:::i;:::-;12717:75;;12845:2;12834:9;12830:18;12817:32;12801:48;;12874:2;12864:8;12861:16;12858:36;;;12890:1;12887;12880:12;12858:36;;12913:62;12967:7;12956:8;12945:9;12941:24;12913:62;:::i;:::-;12903:72;;;12365:616;;;;;:::o;13312:388::-;13389:6;13397;13450:2;13438:9;13429:7;13425:23;13421:32;13418:52;;;13466:1;13463;13456:12;13418:52;13506:9;13493:23;-1:-1:-1;;;;;13531:6:84;13528:30;13525:50;;;13571:1;13568;13561:12;13525:50;13594:49;13635:7;13626:6;13615:9;13611:22;13594:49;:::i;:::-;13584:59;13690:2;13675:18;;;;13662:32;;-1:-1:-1;;;;13312:388:84:o;13705:354::-;13794:6;13847:2;13835:9;13826:7;13822:23;13818:32;13815:52;;;13863:1;13860;13853:12;13815:52;13903:9;13890:23;-1:-1:-1;;;;;13928:6:84;13925:30;13922:50;;;13968:1;13965;13958:12;13922:50;13991:62;14045:7;14036:6;14025:9;14021:22;13991:62;:::i;14064:351::-;14130:6;14138;14191:2;14179:9;14170:7;14166:23;14162:32;14159:52;;;14207:1;14204;14197:12;14159:52;14230:28;14248:9;14230:28;:::i;:::-;14220:38;-1:-1:-1;14308:2:84;14293:18;;14280:32;-1:-1:-1;;;;;;14341:25:84;;14331:36;;14321:64;;14381:1;14378;14371:12;14321:64;14404:5;14394:15;;;14064:351;;;;;:::o;14420:913::-;14483:5;14536:3;14529:4;14521:6;14517:17;14513:27;14503:55;;14554:1;14551;14544:12;14503:55;14590:6;14577:20;14616:4;14640:65;14656:48;14701:2;14656:48;:::i;14640:65::-;14739:15;;;14825:1;14821:10;;;;14809:23;;14805:32;;;14770:12;;;;14849:15;;;14846:35;;;14877:1;14874;14867:12;14846:35;14913:2;14905:6;14901:15;14925:379;14941:6;14936:3;14933:15;14925:379;;;15027:3;15014:17;-1:-1:-1;;;;;15050:11:84;15047:35;15044:125;;;15123:1;15152:2;15148;15141:14;15044:125;15194:67;15257:3;15252:2;15238:11;15230:6;15226:24;15222:33;15194:67;:::i;:::-;15182:80;;-1:-1:-1;15282:12:84;;;;14958;;14925:379;;15338:1918;15568:6;15576;15584;15592;15600;15653:3;15641:9;15632:7;15628:23;15624:33;15621:53;;;15670:1;15667;15660:12;15621:53;15710:9;15697:23;-1:-1:-1;;;;;15780:2:84;15772:6;15769:14;15766:34;;;15796:1;15793;15786:12;15766:34;15834:6;15823:9;15819:22;15809:32;;15879:7;15872:4;15868:2;15864:13;15860:27;15850:55;;15901:1;15898;15891:12;15850:55;15937:2;15924:16;15959:4;15983:65;15999:48;16044:2;15999:48;:::i;15983:65::-;16082:15;;;16164:1;16160:10;;;;16152:19;;16148:28;;;16113:12;;;;16188:19;;;16185:39;;;16220:1;16217;16210:12;16185:39;16252:2;16248;16244:11;16264:368;16280:6;16275:3;16272:15;16264:368;;;16366:3;16353:17;16402:2;16389:11;16386:19;16383:109;;;16446:1;16475:2;16471;16464:14;16383:109;16517:72;16581:7;16576:2;16562:11;16558:2;16554:20;16550:29;16517:72;:::i;:::-;16505:85;;-1:-1:-1;16610:12:84;;;;16297;;16264:368;;;-1:-1:-1;16651:5:84;-1:-1:-1;;16694:18:84;;16681:32;;-1:-1:-1;;16725:16:84;;;16722:36;;;16754:1;16751;16744:12;16722:36;16777:72;16841:7;16830:8;16819:9;16815:24;16777:72;:::i;:::-;16767:82;;16902:2;16891:9;16887:18;16874:32;16858:48;;16931:2;16921:8;16918:16;16915:36;;;16947:1;16944;16937:12;16915:36;16970:51;17013:7;17002:8;16991:9;16987:24;16970:51;:::i;:::-;16960:61;;17074:2;17063:9;17059:18;17046:32;17030:48;;17103:2;17093:8;17090:16;17087:36;;;17119:1;17116;17109:12;17087:36;;17142:51;17185:7;17174:8;17163:9;17159:24;17142:51;:::i;:::-;17132:61;;;17212:38;17245:3;17234:9;17230:19;17212:38;:::i;:::-;17202:48;;15338:1918;;;;;;;;:::o;17261:576::-;17373:6;17381;17434:2;17422:9;17413:7;17409:23;17405:32;17402:52;;;17450:1;17447;17440:12;17402:52;17490:9;17477:23;-1:-1:-1;;;;;17560:2:84;17552:6;17549:14;17546:34;;;17576:1;17573;17566:12;17546:34;17599:49;17640:7;17631:6;17620:9;17616:22;17599:49;:::i;17842:127::-;17903:10;17898:3;17894:20;17891:1;17884:31;17934:4;17931:1;17924:15;17958:4;17955:1;17948:15;17974:260;18134:2;18119:18;;18167:2;18156:14;;18146:48;;18174:18;;:::i;:::-;18203:25;;;17974:260;:::o;18239:360::-;18331:6;18384:2;18372:9;18363:7;18359:23;18355:32;18352:52;;;18400:1;18397;18390:12;18352:52;18440:9;18427:23;-1:-1:-1;;;;;18465:6:84;18462:30;18459:50;;;18505:1;18502;18495:12;18459:50;18528:65;18585:7;18576:6;18565:9;18561:22;18528:65;:::i;18876:127::-;18937:10;18932:3;18928:20;18925:1;18918:31;18968:4;18965:1;18958:15;18992:4;18989:1;18982:15;19008:168;19075:6;19101:10;;;19113;;;19097:27;;19136:11;;;19133:37;;;19150:18;;:::i;19181:1069::-;19239:3;19270;19302:5;19296:12;19329:6;19324:3;19317:19;19355:4;19384:2;19379:3;19375:12;19368:19;;19440:2;19430:6;19427:1;19423:14;19416:5;19412:26;19408:35;19477:2;19470:5;19466:14;19498:1;19519;19529:695;19545:6;19540:3;19537:15;19529:695;;;19614:16;;;-1:-1:-1;;19610:30:84;19598:43;;19664:13;;19618:4;19770:2;19760:13;;19828:1;19842:275;19858:4;19853:3;19850:13;19842:275;;;19943:4;19935:6;19931:17;19924:5;19917:32;19976:41;20010:6;19999:8;19993:15;19976:41;:::i;:::-;20046:17;;;;20089:14;;;;19966:51;-1:-1:-1;19882:1:84;19873:11;19842:275;;;-1:-1:-1;20202:12:84;;;;20138:6;-1:-1:-1;;;20167:15:84;;;;19571:1;19562:11;19529:695;;;-1:-1:-1;20240:4:84;;19181:1069;-1:-1:-1;;;;;;;;19181:1069:84:o;20255:736::-;20632:4;20624:6;20620:17;20609:9;20602:36;20674:3;20669:2;20658:9;20654:18;20647:31;20583:4;20701:45;20741:3;20730:9;20726:19;20718:6;20701:45;:::i;:::-;20794:9;20786:6;20782:22;20777:2;20766:9;20762:18;20755:50;20828:32;20853:6;20845;20828:32;:::i;:::-;20814:46;;20908:9;20900:6;20896:22;20891:2;20880:9;20876:18;20869:50;20936:49;20978:6;20970;20936:49;:::i;:::-;20928:57;20255:736;-1:-1:-1;;;;;;;20255:736:84:o;20996:973::-;21401:4;21441:1;21433:6;21430:13;21420:47;;21447:18;;:::i;:::-;21494:6;21483:9;21476:25;21537:3;21532:2;21521:9;21517:18;21510:31;21564:45;21604:3;21593:9;21589:19;21581:6;21564:45;:::i;:::-;21657:9;21649:6;21645:22;21640:2;21629:9;21625:18;21618:50;21691:32;21716:6;21708;21691:32;:::i;:::-;21677:46;;21771:9;21763:6;21759:22;21754:2;21743:9;21739:18;21732:50;21805:49;21847:6;21839;21805:49;:::i;:::-;21791:63;;21903:9;21895:6;21891:22;21885:3;21874:9;21870:19;21863:51;21931:32;21956:6;21948;21931:32;:::i;:::-;21923:40;20996:973;-1:-1:-1;;;;;;;;20996:973:84:o;21974:127::-;22035:10;22030:3;22026:20;22023:1;22016:31;22066:4;22063:1;22056:15;22090:4;22087:1;22080:15;22106:492;22281:3;22319:6;22313:13;22335:66;22394:6;22389:3;22382:4;22374:6;22370:17;22335:66;:::i;:::-;22464:13;;22423:16;;;;22486:70;22464:13;22423:16;22533:4;22521:17;;22486:70;:::i;:::-;22572:20;;22106:492;-1:-1:-1;;;;22106:492:84:o;24740:127::-;24801:10;24796:3;24792:20;24789:1;24782:31;24832:4;24829:1;24822:15;24856:4;24853:1;24846:15;24872:199;24911:1;-1:-1:-1;;;;;24982:2:84;24979:1;24975:10;25004:3;24994:37;;25011:18;;:::i;:::-;25049:10;;25045:20;;;;;24872:199;-1:-1:-1;;24872:199:84:o;25556:1107::-;25869:3;25907:6;25901:13;25923:66;25982:6;25977:3;25970:4;25962:6;25958:17;25923:66;:::i;:::-;26052:13;;26011:16;;;;26074:70;26052:13;26011:16;26121:4;26109:17;;26074:70;:::i;:::-;26211:13;;26166:20;;;26233:70;26211:13;26166:20;26280:4;26268:17;;26233:70;:::i;:::-;26370:13;;26325:20;;;26392:70;26370:13;26325:20;26439:4;26427:17;;26392:70;:::i;:::-;26529:13;;26484:20;;;26551:70;26529:13;26484:20;26598:4;26586:17;;26551:70;:::i;:::-;26637:20;;25556:1107;-1:-1:-1;;;;;;;25556:1107:84:o;26668:385::-;26882:3;26877;26873:13;26864:6;26859:3;26855:16;26851:36;26846:3;26839:49;26821:3;26917:6;26911:13;26933:74;27000:6;26996:1;26991:3;26987:11;26980:4;26972:6;26968:17;26933:74;:::i;:::-;27027:16;;;;27045:1;27023:24;;26668:385;-1:-1:-1;;;26668:385:84:o;27936:589::-;28196:3;28191;28187:13;28178:6;28173:3;28169:16;28165:36;28160:3;28153:49;28135:3;28231:6;28225:13;28247:74;28314:6;28310:1;28305:3;28301:11;28294:4;28286:6;28282:17;28247:74;:::i;:::-;28381:13;;28340:16;;;;28403:75;28381:13;28465:1;28457:10;;28450:4;28438:17;;28403:75;:::i;:::-;28498:17;28517:1;28494:25;;27936:589;-1:-1:-1;;;;;27936:589:84:o;28530:295::-;28713:4;28705:6;28701:17;28690:9;28683:36;28755:2;28750;28739:9;28735:18;28728:30;28664:4;28775:44;28815:2;28804:9;28800:18;28792:6;28775:44;:::i;29019:902::-;29286:3;29324:6;29318:13;29340:66;29399:6;29394:3;29387:4;29379:6;29375:17;29340:66;:::i;:::-;29469:13;;29428:16;;;;29491:70;29469:13;29428:16;29538:4;29526:17;;29491:70;:::i;:::-;29628:13;;29583:20;;;29650:70;29628:13;29583:20;29697:4;29685:17;;29650:70;:::i;:::-;29787:13;;29742:20;;;29809:70;29787:13;29742:20;29856:4;29844:17;;29809:70;:::i;:::-;29895:20;;29019:902;-1:-1:-1;;;;;;29019:902:84:o;29926:697::-;30147:3;30185:6;30179:13;30201:66;30260:6;30255:3;30248:4;30240:6;30236:17;30201:66;:::i;:::-;30330:13;;30289:16;;;;30352:70;30330:13;30289:16;30399:4;30387:17;;30352:70;:::i;:::-;30489:13;;30444:20;;;30511:70;30489:13;30444:20;30558:4;30546:17;;30511:70;:::i;:::-;30597:20;;29926:697;-1:-1:-1;;;;;29926:697:84:o;30628:125::-;30693:9;;;30714:10;;;30711:36;;;30727:18;;:::i;30758:1323::-;31117:3;31155:6;31149:13;31181:4;31194:64;31251:6;31246:3;31241:2;31233:6;31229:15;31194:64;:::i;:::-;31321:13;;31280:16;;;;31343:68;31321:13;31280:16;31378:15;;;31343:68;:::i;:::-;31478:13;;31433:20;;;31500:68;31478:13;31433:20;31535:15;;;31500:68;:::i;:::-;31635:13;;31590:20;;;31657:68;31635:13;31590:20;31692:15;;;31657:68;:::i;:::-;31792:13;;31747:20;;;31814:68;31792:13;31747:20;31849:15;;;31814:68;:::i;:::-;31949:13;;31904:20;;;31971:68;31949:13;31904:20;32006:15;;;31971:68;:::i;:::-;32055:20;;;;;30758:1323;-1:-1:-1;;;;;;;;;30758:1323:84:o;32086:128::-;32153:9;;;32174:11;;;32171:37;;;32188:18;;:::i;32627:366::-;32826:2;32815:9;32808:21;32789:4;32846:44;32886:2;32875:9;32871:18;32863:6;32846:44;:::i;:::-;32838:52;;32926:6;32921:2;32910:9;32906:18;32899:34;32981:4;32973:6;32969:17;32964:2;32953:9;32949:18;32942:45;32627:366;;;;;;:::o;33522:135::-;33561:3;33582:17;;;33579:43;;33602:18;;:::i;:::-;-1:-1:-1;33649:1:84;33638:13;;33522:135::o;34352:151::-;34442:4;34435:12;;;34421;;;34417:31;;34460:14;;34457:40;;;34477:18;;:::i;34508:180::-;-1:-1:-1;;;;;34613:10:84;;;34625;;;34609:27;;34648:11;;;34645:37;;;34662:18;;:::i;34899:257::-;-1:-1:-1;;;;;35020:10:84;;;35032;;;35016:27;35063:20;;;;34970:18;35102:24;;;35092:58;;35130:18;;:::i;:::-;35092:58;;34899:257;;;;:::o;35161:112::-;35193:1;35219;35209:35;;35224:18;;:::i;:::-;-1:-1:-1;35258:9:84;;35161:112::o",
|
|
30097
30097
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.8.0 <0.9.0;\n\nimport \"./Witnet.sol\";\n\n/// @title A library for encoding Witnet Data Requests.\n/// @author The Witnet Foundation.\nlibrary WitnetEncodingLib {\n\n using WitnetBuffer for WitnetBuffer.Buffer;\n using WitnetCBOR for WitnetCBOR.CBOR;\n using WitnetCBOR for WitnetCBOR.CBOR[];\n\n bytes internal constant WITNET_RADON_OPCODES_RESULT_TYPES =\n hex\"10ffffffffffffffffffffffffffffff040100010203050406071311ff0101ff07ff02ffffffffffffffffffffffffff070304ff04ffffffffffffff03ffffff0405070202ff0404040403ffffffffff05070402040205050505ff04ff04ffff07010203050406070101ff06ffff06ff0203050404000106060707070701ffff\";\n // 10ffffffffffffffffffffffffffffff\n // 040100001203050406070100ff0101ff\n // 07ff02ffffffffffffffffffffffffff\n // 070304ff04ffffffffffffff03ffffff\n // 0405070202ff0404040403ffffffffff\n // 05070402040205050505ff04ff04ffff\n // 07010203050406070101ff06ffff06ff\n // 0203050404000106060707070701ffff\n\n error UnsupportedDataRequestMethod(uint8 method, string schema, string body, string[2][] headers);\n error UnsupportedRadonDataType(uint8 datatype, uint256 maxlength);\n error UnsupportedRadonFilterOpcode(uint8 opcode);\n error UnsupportedRadonFilterArgs(uint8 opcode, bytes args);\n error UnsupportedRadonReducerOpcode(uint8 opcode);\n error UnsupportedRadonReducerScript(uint8 opcode, bytes script, uint256 offset);\n error UnsupportedRadonScript(bytes script, uint256 offset);\n error UnsupportedRadonScriptOpcode(bytes script, uint256 cursor, uint8 opcode);\n error UnsupportedRadonTallyScript(bytes32 hash);\n\n /// ===============================================================================================================\n /// --- WitnetEncodingLib internal methods --------------------------------------------------------------------------------\n\n function size(Witnet.RadonDataTypes _type) internal pure returns (uint16) {\n if (_type == Witnet.RadonDataTypes.Integer\n || _type == Witnet.RadonDataTypes.Float\n ) {\n return 9;\n } else if (_type == Witnet.RadonDataTypes.Bool) {\n return 1;\n } else {\n // undetermined\n return 0; \n }\n }\n\n\n /// ===============================================================================================================\n /// --- WitnetEncodingLib public methods (if used library will have to linked to calling contracts) -----------------------\n\n /// @notice Encode bytes array into given major type (UTF-8 not yet supported)\n /// @param buf Bytes array\n /// @return Marshaled bytes\n function encode(bytes memory buf, uint majorType)\n public pure\n returns (bytes memory)\n {\n uint len = buf.length;\n if (len < 23) {\n return abi.encodePacked(\n uint8((majorType << 5) | uint8(len)),\n buf\n );\n } else {\n uint8 buf0 = uint8((majorType << 5));\n bytes memory buf1;\n if (len <= 0xff) {\n buf0 |= 24;\n buf1 = abi.encodePacked(uint8(len)); \n } else if (len <= 0xffff) {\n buf0 |= 25;\n buf1 = abi.encodePacked(uint16(len));\n } else if (len <= 0xffffffff) {\n buf0 |= 26;\n buf1 = abi.encodePacked(uint32(len));\n } else {\n buf0 |= 27;\n buf1 = abi.encodePacked(uint64(len));\n }\n return abi.encodePacked(\n buf0,\n buf1,\n buf\n );\n }\n }\n\n /// @notice Encode bytes array.\n /// @param buf Bytes array\n /// @return Mashaled bytes\n function encode(bytes memory buf)\n public pure\n returns (bytes memory)\n {\n return encode(buf, WitnetCBOR.MAJOR_TYPE_BYTES);\n } \n\n /// @notice Encode string array (UTF-8 not yet supported).\n /// @param str String bytes.\n /// @return Mashaled bytes\n function encode(string memory str)\n public pure\n returns (bytes memory)\n {\n return encode(bytes(str), WitnetCBOR.MAJOR_TYPE_STRING);\n }\n\n /// @dev Encode uint64 into tagged varint.\n /// @dev See https://developers.google.com/protocol-buffers/docs/encoding#varints.\n /// @param n Number\n /// @param t Tag\n /// @return buf Marshaled bytes\n function encode(uint64 n, bytes1 t)\n public pure\n returns (bytes memory buf)\n {\n unchecked {\n // Count the number of groups of 7 bits\n // We need this pre-processing step since Solidity doesn't allow dynamic memory resizing\n uint64 tmp = n;\n uint64 numBytes = 2;\n while (tmp > 0x7F) {\n tmp = tmp >> 7;\n numBytes += 1;\n }\n buf = new bytes(numBytes);\n tmp = n;\n buf[0] = t;\n for (uint64 i = 1; i < numBytes; i++) {\n // Set the first bit in the byte for each group of 7 bits\n buf[i] = bytes1(0x80 | uint8(tmp & 0x7F));\n tmp = tmp >> 7;\n }\n // Unset the first bit of the last byte\n buf[numBytes - 1] &= 0x7F;\n }\n } \n\n function encode(Witnet.RadonRetrieval memory source)\n public pure\n returns (bytes memory)\n {\n bytes memory _encodedMethod = encode(uint64(source.method), bytes1(0x08));\n bytes memory _encodedUrl;\n if (bytes(source.url).length > 0) {\n _encodedUrl = abi.encodePacked(\n encode(uint64(bytes(source.url).length), bytes1(0x12)),\n bytes(source.url)\n );\n }\n bytes memory _encodedScript;\n if (source.script.length > 0) {\n _encodedScript = abi.encodePacked(\n encode(uint64(source.script.length), bytes1(0x1a)),\n source.script\n );\n }\n bytes memory _encodedBody;\n if (bytes(source.body).length > 0) {\n _encodedBody = abi.encodePacked(\n encode(uint64(bytes(source.body).length), bytes1(0x22)),\n bytes(source.body)\n );\n }\n bytes memory _encodedHeaders;\n if (source.headers.length > 0) {\n for (uint _ix = 0; _ix < source.headers.length; _ix ++) {\n bytes memory _headers = abi.encodePacked(\n encode(uint64(bytes(source.headers[_ix][0]).length), bytes1(0x0a)),\n bytes(source.headers[_ix][0]),\n encode(uint64(bytes(source.headers[_ix][1]).length), bytes1(0x12)),\n bytes(source.headers[_ix][1])\n );\n _encodedHeaders = abi.encodePacked(\n _encodedHeaders,\n encode(uint64(_headers.length), bytes1(0x2a)),\n _headers\n );\n }\n }\n uint _innerSize = (\n _encodedMethod.length\n + _encodedUrl.length\n + _encodedScript.length\n + _encodedBody.length\n + _encodedHeaders.length\n );\n return abi.encodePacked(\n encode(uint64(_innerSize), bytes1(0x12)),\n _encodedMethod,\n _encodedUrl,\n _encodedScript,\n _encodedBody,\n _encodedHeaders\n );\n }\n\n function encode(\n Witnet.RadonRetrieval[] memory sources,\n string[][] memory args,\n bytes memory aggregatorInnerBytecode,\n bytes memory tallyInnerBytecode,\n uint16\n )\n public pure\n returns (bytes memory)\n {\n bytes[] memory encodedSources = new bytes[](sources.length);\n for (uint ix = 0; ix < sources.length; ix ++) {\n replaceWildcards(sources[ix], args[ix]);\n encodedSources[ix] = encode(sources[ix]);\n }\n return abi.encodePacked(\n WitnetBuffer.concat(encodedSources),\n encode(uint64(aggregatorInnerBytecode.length), bytes1(0x1a)),\n aggregatorInnerBytecode,\n encode(uint64(tallyInnerBytecode.length), bytes1(0x22)),\n tallyInnerBytecode\n );\n }\n\n function encode(Witnet.RadonReducer memory reducer)\n public pure\n returns (bytes memory bytecode)\n {\n // if (reducer.script.length == 0) {\n for (uint ix = 0; ix < reducer.filters.length; ix ++) {\n bytecode = abi.encodePacked(\n bytecode,\n encode(reducer.filters[ix])\n );\n }\n bytecode = abi.encodePacked(\n bytecode,\n encode(reducer.opcode)\n );\n // } else {\n // return abi.encodePacked(\n // encode(uint64(reducer.script.length), bytes1(0x18)),\n // reducer.script\n // );\n // }\n }\n\n function encode(Witnet.RadonFilter memory filter)\n public pure\n returns (bytes memory bytecode)\n { \n bytecode = abi.encodePacked(\n encode(uint64(filter.opcode), bytes1(0x08)),\n filter.args.length > 0\n ? abi.encodePacked(\n encode(uint64(filter.args.length), bytes1(0x12)),\n filter.args\n ) : bytes(\"\")\n );\n return abi.encodePacked(\n encode(uint64(bytecode.length), bytes1(0x0a)),\n bytecode\n );\n }\n\n function encode(Witnet.RadonReducerOpcodes opcode)\n public pure\n returns (bytes memory)\n {\n \n return encode(uint64(opcode), bytes1(0x10));\n }\n\n function encode(Witnet.RadonSLA memory sla)\n public pure\n returns (bytes memory)\n {\n return abi.encodePacked(\n encode(uint64(sla.witnessReward), bytes1(0x10)),\n encode(uint64(sla.numWitnesses), bytes1(0x18)),\n encode(uint64(sla.minerCommitRevealFee), bytes1(0x20)),\n encode(uint64(sla.minConsensusPercentage), bytes1(0x28)),\n encode(uint64(sla.witnessCollateral), bytes1(0x30))\n );\n }\n\n function replaceCborStringsFromBytes(\n bytes memory data,\n string[] memory args\n )\n public pure\n returns (bytes memory)\n {\n WitnetCBOR.CBOR memory cbor = WitnetCBOR.fromBytes(data);\n while (!cbor.eof()) {\n if (cbor.majorType == WitnetCBOR.MAJOR_TYPE_STRING) {\n _replaceCborWildcards(cbor, args);\n cbor = cbor.settle();\n } else {\n cbor = cbor.skip().settle();\n }\n }\n return cbor.buffer.data;\n }\n\n function replaceWildcards(Witnet.RadonRetrieval memory self, string[] memory args)\n public pure\n {\n self.url = WitnetBuffer.replace(self.url, args);\n self.body = WitnetBuffer.replace(self.body, args);\n self.script = replaceCborStringsFromBytes(self.script, args);\n for (uint _ix = 0 ; _ix < self.headers.length; _ix ++) {\n self.headers[_ix][1] = WitnetBuffer.replace(self.headers[_ix][1], args);\n }\n }\n\n function validate(\n Witnet.RadonDataRequestMethods method,\n string memory url,\n string memory body,\n string[2][] memory headers,\n bytes memory script\n )\n public pure\n returns (bytes32)\n {\n if (!(\n bytes(url).length > 0 \n && (\n method == Witnet.RadonDataRequestMethods.HttpGet \n || method == Witnet.RadonDataRequestMethods.HttpPost\n || method == Witnet.RadonDataRequestMethods.HttpHead\n )\n || method == Witnet.RadonDataRequestMethods.RNG\n && bytes(url).length == 0\n && headers.length == 0\n && script.length >= 1\n )) {\n revert UnsupportedDataRequestMethod(\n uint8(method),\n url,\n body,\n headers\n );\n }\n return keccak256(abi.encode(method, url, body, headers, script));\n }\n \n function validate(\n Witnet.RadonDataTypes dataType,\n uint16 maxDataSize\n )\n public pure\n returns (uint16)\n {\n if (\n dataType == Witnet.RadonDataTypes.Any\n || dataType == Witnet.RadonDataTypes.String\n || dataType == Witnet.RadonDataTypes.Bytes\n || dataType == Witnet.RadonDataTypes.Array\n || dataType == Witnet.RadonDataTypes.Map\n ) {\n if (maxDataSize == 0) {\n revert UnsupportedRadonDataType(\n uint8(dataType),\n maxDataSize\n );\n }\n return maxDataSize + 3; // TODO: determine CBOR-encoding length overhead\n } else if (\n dataType == Witnet.RadonDataTypes.Integer\n || dataType == Witnet.RadonDataTypes.Float\n || dataType == Witnet.RadonDataTypes.Bool\n ) {\n return 9; \n } else {\n revert UnsupportedRadonDataType(\n uint8(dataType),\n size(dataType)\n );\n }\n }\n\n function validate(Witnet.RadonFilter memory filter)\n public pure\n {\n if (\n filter.opcode == Witnet.RadonFilterOpcodes.StandardDeviation\n ) {\n // check filters that require arguments\n if (filter.args.length == 0) {\n revert UnsupportedRadonFilterArgs(uint8(filter.opcode), filter.args);\n }\n } else if (\n filter.opcode == Witnet.RadonFilterOpcodes.Mode\n ) {\n // check filters that don't require any arguments\n if (filter.args.length > 0) {\n revert UnsupportedRadonFilterArgs(uint8(filter.opcode), filter.args);\n }\n } else {\n // reject unsupported opcodes\n revert UnsupportedRadonFilterOpcode(uint8(filter.opcode));\n }\n }\n\n function validate(Witnet.RadonReducer memory reducer)\n public pure\n {\n // if (reducer.script.length == 0) {\n if (!(\n reducer.opcode == Witnet.RadonReducerOpcodes.AverageMean \n || reducer.opcode == Witnet.RadonReducerOpcodes.StandardDeviation\n || reducer.opcode == Witnet.RadonReducerOpcodes.Mode\n || reducer.opcode == Witnet.RadonReducerOpcodes.ConcatenateAndHash\n || reducer.opcode == Witnet.RadonReducerOpcodes.AverageMedian\n )) {\n revert UnsupportedRadonReducerOpcode(uint8(reducer.opcode));\n }\n for (uint ix = 0; ix < reducer.filters.length; ix ++) {\n validate(reducer.filters[ix]);\n }\n // } else {\n // if (uint8(reducer.opcode) != 0xff || reducer.filters.length > 0) {\n // revert UnsupportedRadonReducerScript(\n // uint8(reducer.opcode),\n // reducer.script,\n // 0\n // );\n // }\n // }\n }\n\n function validate(Witnet.RadonSLA memory sla)\n public pure\n {\n if (sla.witnessReward == 0) {\n revert(\"WitnetEncodingLib: invalid SLA: no reward\");\n }\n if (sla.numWitnesses == 0) {\n revert(\"WitnetEncodingLib: invalid SLA: no witnesses\");\n } else if (sla.numWitnesses > 127) {\n revert(\"WitnetEncodingLib: invalid SLA: too many witnesses (>127)\");\n }\n if (\n sla.minConsensusPercentage < 51 \n || sla.minConsensusPercentage > 99\n ) {\n revert(\"WitnetEncodingLib: invalid SLA: consensus percentage out of range\");\n }\n if (sla.witnessCollateral > 0) {\n revert(\"WitnetEncodingLib: invalid SLA: no collateral\");\n }\n if (sla.witnessCollateral / sla.witnessReward > 127) {\n revert(\"WitnetEncodingLib: invalid SLA: collateral/reward ratio too high (>127)\");\n }\n }\n\n function verifyRadonScriptResultDataType(bytes memory script)\n public pure\n returns (Witnet.RadonDataTypes)\n {\n return _verifyRadonScriptResultDataType(\n WitnetCBOR.fromBytes(script),\n false\n );\n }\n\n\n /// ===============================================================================================================\n /// --- WitnetEncodingLib private methods ---------------------------------------------------------------------------------\n\n function _replaceCborWildcards(\n WitnetCBOR.CBOR memory self,\n string[] memory args\n ) private pure\n {\n uint _rewind = self.len;\n uint _start = self.buffer.cursor;\n bytes memory _peeks = bytes(self.readString());\n (bytes memory _pokes, uint _replacements) = WitnetBuffer.replace(_peeks, args);\n if (_replacements > 0) {\n bytes memory _encodedPokes = encode(string(_pokes));\n self.buffer.cursor = _start - _rewind;\n self.buffer.mutate(\n _peeks.length + _rewind,\n _encodedPokes\n );\n self.buffer.cursor += _encodedPokes.length;\n }\n }\n\n \n function _verifyRadonScriptResultDataType(WitnetCBOR.CBOR memory self, bool flip)\n private pure\n returns (Witnet.RadonDataTypes)\n {\n if (self.majorType == WitnetCBOR.MAJOR_TYPE_ARRAY) {\n WitnetCBOR.CBOR[] memory items = self.readArray();\n if (items.length > 1) {\n return flip\n ? _verifyRadonScriptResultDataType(items[0], false)\n : _verifyRadonScriptResultDataType(items[items.length - 2], true)\n ;\n } else {\n return Witnet.RadonDataTypes.Any;\n }\n } else if (self.majorType == WitnetCBOR.MAJOR_TYPE_INT) { \n uint cursor = self.buffer.cursor;\n uint opcode = self.readUint();\n uint8 dataType = (opcode > WITNET_RADON_OPCODES_RESULT_TYPES.length\n ? 0xff\n : uint8(WITNET_RADON_OPCODES_RESULT_TYPES[opcode])\n );\n if (dataType > uint8(type(Witnet.RadonDataTypes).max)) {\n revert UnsupportedRadonScriptOpcode(\n self.buffer.data,\n cursor,\n uint8(opcode)\n );\n }\n return Witnet.RadonDataTypes(dataType);\n } else {\n revert WitnetCBOR.UnexpectedMajorType(\n WitnetCBOR.MAJOR_TYPE_INT,\n self.majorType\n );\n }\n }\n\n}",
|
|
30098
|
-
"sourcePath": "/home/
|
|
30098
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/libs/WitnetEncodingLib.sol",
|
|
30099
30099
|
"ast": {
|
|
30100
30100
|
"absolutePath": "project:/contracts/libs/WitnetEncodingLib.sol",
|
|
30101
30101
|
"exportedSymbols": {
|
|
@@ -53494,7 +53494,7 @@
|
|
|
53494
53494
|
},
|
|
53495
53495
|
"networks": {},
|
|
53496
53496
|
"schemaVersion": "3.4.16",
|
|
53497
|
-
"updatedAt": "2025-10-
|
|
53497
|
+
"updatedAt": "2025-10-15T18:03:23.836Z",
|
|
53498
53498
|
"devdoc": {
|
|
53499
53499
|
"author": "The Witnet Foundation.",
|
|
53500
53500
|
"kind": "dev",
|
|
@@ -12902,7 +12902,7 @@
|
|
|
12902
12902
|
"sourceMap": "224:10310:68:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;224:10310:68;;;;;;;;;;;;;;;;;",
|
|
12903
12903
|
"deployedSourceMap": "224:10310:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;967:210;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3046:255;;;;;;:::i;:::-;;:::i;2207:541::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1183:1018::-;;;;;;:::i;:::-;;:::i;967:210::-;-1:-1:-1;;;;;;;;;;;;;;;;;1106:64:68;1135:25;1153:6;1135:17;:25::i;:::-;1106:15;:64::i;:::-;1099:71;967:210;-1:-1:-1;;967:210:68:o;3046:255::-;-1:-1:-1;;;;;;;;;;;;;;;;;3189:31:68;3223;3244:9;3223:20;:31::i;:::-;3189:65;;3271:23;3287:6;3271:15;:23::i;:::-;3264:30;3046:255;-1:-1:-1;;;3046:255:68:o;2207:541::-;2320:29;2364:32;2421;2456:45;2474:26;:9;:24;:26::i;:::-;2456:17;:45::i;:::-;2421:80;;2532:1;2515:7;:14;:18;2511:231;;;2581:21;:7;2589:1;2581:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;2557:46;;;;;;;;:::i;:::-;2549:54;;2638:1;2621:7;:14;:18;2617:114;;;2694:21;:7;2702:1;2694:10;;;;;;;;:::i;:21::-;2670:46;;;;;;;;:::i;:::-;2659:57;;2617:114;2411:337;2207:541;;;:::o;1183:1018::-;-1:-1:-1;;;;;;;;;;;;;;;;;1370:29:68;1359:7;:40;;;;;;;;:::i;:::-;;:100;;;-1:-1:-1;1430:29:68;1419:7;:40;;;;;;;;:::i;:::-;;1359:100;1342:436;;;1491:36;1516:10;1491:24;:36::i;:::-;1484:43;;;;1342:436;1559:34;1548:7;:45;;;;;;;;:::i;:::-;;1544:234;;1616:151;;;;;;;;;;-1:-1:-1;1616:151:68;;;;;;;;;;;;;;;;;;;;;;;1609:158;-1:-1:-1;1609:158:68;;1544:234;1794:32;1783:7;:43;;;;;;;;:::i;:::-;;1779:416;;1849:150;;;;;;;;;;-1:-1:-1;1849:150:68;;;;;;;;;;;;;;;;;;;;;;;1842:157;-1:-1:-1;1842:157:68;;1779:416;2037:147;;;;;;;;;;-1:-1:-1;2037:147:68;;;;;;;;;;;;;;;;;;;;;;;;2030:154;;1183:1018;;;;:::o;4146:219::-;4289:14;;4240:24;;4288:15;4280:37;;;;-1:-1:-1;;;4280:37:68;;6188:2:84;4280:37:68;;;6170:21:84;6227:1;6207:18;;;6200:29;-1:-1:-1;;;6245:18:84;;;6238:39;6294:18;;4280:37:68;;;;;;;;;4334:24;:6;:12;;;:22;:24::i;4471:905::-;-1:-1:-1;;;;;;;;;;;;;;;;;4635:1:68;4619:6;:13;:17;4615:296;;;4659:151;;;;;;;;;;-1:-1:-1;4659:151:68;;;;;;;;;;;;;;;;;;;;;;;4652:158;4471:905;-1:-1:-1;;4471:905:68:o;4615:296::-;4879:20;:6;4886:1;4879:9;;;;;;;;:::i;:20::-;4855:45;;;;;;;;:::i;:::-;4841:6;;:59;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;4920:21:68;4955:30;:6;:11;;;:28;;;;;;;;:::i;:::-;;:30::i;:::-;4951:326;;;-1:-1:-1;5001:28:68;;;;;;;;;;;;-1:-1:-1;;;5001:28:68;;;;4951:326;;;5050:11;;:28;;:26;;;;;;;;:::i;:::-;;:28::i;:::-;5046:231;;;-1:-1:-1;5094:29:68;;;;;;;;;;;;-1:-1:-1;;;5094:29:68;;;;5046:231;;;5144:11;;:29;;:27;;;;;;;;:::i;:::-;;:29::i;:::-;5140:137;;;-1:-1:-1;5189:24:68;;;;;;;;;;;;-1:-1:-1;;;5189:24:68;;;;5140:137;;;-1:-1:-1;5244:22:68;;;;;;;;;;;;-1:-1:-1;;;5244:22:68;;;;5140:137;5327:7;5336:31;5347:6;:11;;;5360:6;5336:10;:31::i;:::-;5310:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5310:58:68;;;;;;;;;;5287:13;;:82;-1:-1:-1;5287:6:68;4471:905;-1:-1:-1;4471:905:68:o;3752:190::-;3843:24;3890:45;3908:26;:9;21747:244:64;21834:20;;:::i;:::-;21870:32;21905:31;21926:9;21905:20;:31::i;:::-;21870:66;;21953:31;21974:9;21953:20;:31::i;17335:200:66:-;17440:4;17405;939:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;7024:4:84;7012:17;;;1763:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1763:45:66;6824:266:84;1716:99:66;17461:69:::1;17479:4;:11;;;17498:4;:26;;;17461:10;:69::i;:::-;-1:-1:-1::0;;;;;17454:76:66::1;;;1820:1;17335:200:::0;;;;;:::o;5910:1202::-;6018:19;5981:4;1139:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;7024:4:84;7012:17;;;1763:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1763:45:66;6824:266:84;1716:99:66;6131:10:::1;6144:51;6155:4;:11;;;6168:4;:26;;;6144:10;:51::i;:::-;6131:64:::0;-1:-1:-1;6220:7:66::1;6131:64:::0;6226:1:::1;6220:7;:::i;:::-;-1:-1:-1::0;;;;;6209:19:66::1;-1:-1:-1::0;;;;;6209:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6201:27;;6239:7;6234:722;6257:3;-1:-1:-1::0;;;;;6252:8:66::1;:2;:8;6234:722;;;6327:13;:4;:11;:13::i;:::-;6320:20;;6424:11;:4;:9;:11::i;:::-;6412:5;6418:2;6412:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1139:1;6447:34;;:4;:14;;;:34;;::::0;6443:507:::1;;6493:23;6519:16;:4;:14;:16::i;:::-;6493:42;;6616:9;6645:1;6626:9;:16;:20;;;;:::i;:::-;6616:31;;;;;;;;:::i;:::-;;;;;;;6609:38;;6483:173;6443:507;;;1185:1;6666:32;;:4;:14;;;:32;;::::0;6662:288:::1;;6710:23;6736:14;:4;:12;:14::i;6662:288::-;6930:11;:4;:9;:11::i;:::-;;6662:288;6262:5;;6234:722;;;;7103:4;7090:5;7096:3;-1:-1:-1::0;;;;;7090:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6041:1071;5910:1202:::0;;;;;:::o;14640:150:64:-;14712:4;14744:38;14736:46;:4;:46;;;;;;;;:::i;:::-;;;14640:150;-1:-1:-1;;14640:150:64:o;15330:369::-;15400:4;15445:37;15437:4;:45;;;;;;;;:::i;:::-;;:109;;;-1:-1:-1;15510:36:64;15502:4;:44;;;;;;;;:::i;:::-;;15437:109;:174;;;-1:-1:-1;15574:37:64;15566:4;:45;;;;;;;;:::i;:::-;;15437:174;:245;;;-1:-1:-1;15639:43:64;15631:51;;14796:298;14867:4;14912:36;14904:4;:44;;;;;;;;:::i;:::-;;:109;;;-1:-1:-1;14976:37:64;14968:4;:45;;;;;;;;:::i;:::-;;14904:109;:173;;;-1:-1:-1;15041:36:64;15033:44;;5382:2455:68;5501:13;5542:43;5534:4;:51;;;;;;;;:::i;:::-;;5530:2301;;-1:-1:-1;5601:30:68;;;;;;;;;;;;-1:-1:-1;;;5601:30:68;;;;;;5530:2301;5674:45;5666:4;:53;;;;;;;;:::i;:::-;;:88;;;;;5753:1;5739:4;:11;:15;5666:88;5649:2182;;;5786:36;5797:18;:4;5802:1;5797:7;;;;;;;;:::i;:18::-;5817:4;5786:10;:36::i;5649:2182::-;5860:44;5852:4;:52;;;;;;;;:::i;:::-;;5848:1983;;-1:-1:-1;5920:31:68;;;;;;;;;;;;-1:-1:-1;;;5920:31:68;;;;;;5848:1983;5981:43;5973:4;:51;;;;;;;;:::i;:::-;;5969:1862;;-1:-1:-1;6040:30:68;;;;;;;;;;;;-1:-1:-1;;;6040:30:68;;;;;;5969:1862;6100:44;6092:4;:52;;;;;;;;:::i;:::-;;6088:1743;;-1:-1:-1;6160:27:68;;;;;;;;;;;;-1:-1:-1;;;6160:27:68;;;;;;6088:1743;6230:44;6222:4;:52;;;;;;;;:::i;:::-;;:130;;;-1:-1:-1;6302:50:68;6294:4;:58;;;;;;;;:::i;:::-;;6222:130;6205:1626;;;-1:-1:-1;6377:26:68;;;;;;;;;;;;-1:-1:-1;;;6377:26:68;;;;;;6205:1626;6433:43;6425:4;:51;;;;;;;;:::i;:::-;;6421:1410;;-1:-1:-1;6492:30:68;;;;;;;;;;;;-1:-1:-1;;;6492:30:68;;;;;;6421:1410;6565:42;6557:4;:50;;;;;;;;:::i;:::-;;:85;;;;;6641:1;6627:4;:11;:15;6557:85;6540:1291;;;6755:36;6766:18;:4;6771:1;6766:7;;;;;;;;:::i;6755:36::-;6681:124;;;;;;;;:::i;:::-;;;;;;;;;;;;;6667:139;;;;6540:1291;6849:44;6841:4;:52;;;;;;;;:::i;:::-;;:131;;;-1:-1:-1;6922:50:68;6914:4;:58;;;;;;;;:::i;:::-;;6841:131;6824:1007;;;7016:1;7002:4;:11;:15;6998:270;;;7132:36;7143:18;:4;7148:1;7143:7;;;;;;;;:::i;7132:36::-;7051:135;;;;;;;;:::i;6998:270::-;-1:-1:-1;7226:27:68;;;;;;;;;;;;-1:-1:-1;;;7226:27:68;;;;;;6824:1007;7297:42;7289:4;:50;;;;;;;;:::i;:::-;;7285:546;;7373:1;7359:4;:11;:15;7355:316;;;7501:28;7516:1;7502:4;:11;:15;;;;:::i;:::-;7501:26;:28::i;:::-;7408:170;;;;;;;;:::i;7355:316::-;-1:-1:-1;7618:38:68;;;;;;;;;;;;;;;;;;;7285:546;7780:25;7786:4;7780:11;;;;;;;;:::i;:::-;:23;;;:25::i;:::-;7724:95;;;;;;;;:::i;2415:198:66:-;2488:11;;:::i;:::-;2545:32;;;;;;;;;;;;2509:33;2545:32;;;;2590:18;2545:32;2590:10;:18::i;30418:406:64:-;30515:20;;:::i;:::-;-1:-1:-1;30758:8:64;;;;30789:28;;;;;;;;;-1:-1:-1;;;;;30758:14:64;;;30770:2;30758:14;;30789:28;;;;;;;;;;30418:406::o;8569:671:66:-;8703:6;8747:2;8723:21;:26;;;8719:75;;;-1:-1:-1;8759:28:66;;;;;8719:75;8803:21;:27;;8828:2;8803:27;8799:73;;8847:18;:6;:16;:18::i;:::-;8840:25;;;;;;8799:73;8881:21;:27;;8906:2;8881:27;8877:74;;8925:19;:6;:17;:19::i;:::-;8918:26;;;;;;8877:74;8960:21;:27;;8985:2;8960:27;8956:74;;9004:19;:6;:17;:19::i;:::-;8997:26;;;;;;8956:74;9039:21;:27;;9064:2;9039:27;9035:74;;9083:19;:6;:17;:19::i;9035:74::-;9118:21;:27;;9143:2;9118:27;9114:65;;-1:-1:-1;;;;;;9155:17:66;;9114:65;9191:44;;-1:-1:-1;;;9191:44:66;;9698:4:84;9686:17;;9191:44:66;;;9668:36:84;9641:18;;9191:44:66;9524:186:84;4262:199:66;4331:22;;:::i;:::-;2086:11;;:16;;:23;2064:18;;;;;:45;;4363:94;;4406:11;;4395:23;;:10;:23::i;4363:94::-;-1:-1:-1;4446:4:66;4262:199::o;4363:94::-;4262:199;;;:::o;3925:333::-;3999:22;;:::i;:::-;4038:215;;;;;;;;;4059:11;;-1:-1:-1;;;;;;;;;;;;;;2694:52:65;;;;;;;;2708:11;;2694:52;;-1:-1:-1;2727:13:65;;;;2694:52;;;;4038:215:66;;;;;;;4098:4;:16;;;4038:215;;;;;;4133:4;:14;;;4038:215;;;;;;4178:4;:26;;;4038:215;;;;;;4217:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;;4238:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;4031:222;;3925:333;;;:::o;7116:1279::-;7220:19;7185:4;1185:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;7024:4:84;7012:17;;;1763:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1763:45:66;6824:266:84;1716:99:66;7349:10:::1;7362:51;7373:4;:11;;;7386:4;:26;;;7362:10;:51::i;:::-;:55;::::0;7416:1:::1;7362:55;:::i;:::-;7349:68:::0;-1:-1:-1;7442:7:66::1;7349:68:::0;7448:1:::1;7442:7;:::i;:::-;-1:-1:-1::0;;;;;7431:19:66::1;-1:-1:-1::0;;;;;7431:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7423:27;;7461:7;7456:783;7479:3;-1:-1:-1::0;;;;;7474:8:66::1;:2;:8;7456:783;;;7549:13;:4;:11;:13::i;:::-;7542:20;;7646:11;:4;:9;:11::i;:::-;7634:5;7640:2;7634:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7669:6:::1;7674:1;7669:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7684:14:66::1;::::0;::::1;::::0;:35:::1;;1091:1;7684:35;;7669:50;7665:568;;;7758:14;::::0;;::::1;::::0;7738:54;;-1:-1:-1;;;7738:54:66;;7024:4:84;7012:17;;;7738:54:66::1;::::0;::::1;6994:36:84::0;1091:1:66::1;7046:18:84::0;;;7039:45;6967:18;;7738:54:66::1;6824:266:84::0;7665:568:66::1;7811:14;::::0;::::1;::::0;:34:::1;;1139:1;7811:34;::::0;:70:::1;;-1:-1:-1::0;7849:14:66::1;::::0;::::1;::::0;:32:::1;;1185:1;7849:32;7811:70;7807:426;;;7920:14;::::0;::::1;::::0;7893:23:::1;::::0;7920:34:::1;;1139:1;7920:34;:94;;8000:14;:4;:12;:14::i;:::-;7920:94;;;7969:16;:4;:14;:16::i;:::-;7893:131;;8112:9;8141:1;8122:9;:16;:20;;;;:::i;:::-;8112:31;;;;;;;;:::i;:::-;;;;;;;8105:38;;7883:269;7807:426;;;8213:11;:4;:9;:11::i;:::-;;7807:426;7484:5;;7456:783;;4465:1100:::0;4532:22;;:::i;:::-;4575:14;;;;:32;;;;:85;;-1:-1:-1;4619:14:66;;;;:41;;994:1;4619:41;4575:85;:257;;;-1:-1:-1;4684:14:66;;;;:41;;1286:1;4684:41;:90;;;;;4772:2;4742:4;:26;;;:32;;;;4684:90;:138;;;;;4820:2;4790:4;:26;;;:32;;;;4684:138;4564:980;;;4869:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;4847:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4446:4:66;4262:199::o;4564:980::-;4912:14;;;;:35;;1091:1;4912:35;;:83;;-1:-1:-1;4961:14:66;;;;:34;;1042:1;4961:34;4912:83;4899:645;;;5010:10;5023:51;5034:4;:11;;;5047:4;:26;;;5023:10;:51::i;:::-;5010:64;;5104:3;-1:-1:-1;;;;;5082:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;4899:645:66;;-1:-1:-1;4899:645:66;;5131:14;;;;:34;;1139:1;5131:34;;:78;;-1:-1:-1;5177:14:66;;;;:32;;1185:1;5177:32;5131:78;5120:424;;;5236:51;5247:4;:11;;;5260:4;:26;;;5236:10;:51::i;:::-;-1:-1:-1;;;;;5225:62:66;:8;;;:62;-1:-1:-1;4446:4:66;4262:199::o;5120:424::-;5318:14;;;;:41;;1286:1;5318:41;;;:155;;;5383:4;:26;;;:32;;5413:2;5383:32;;:80;;;;;5431:4;:26;;;:32;;5461:2;5431:32;;5383:80;5306:238;;;5488:49;;-1:-1:-1;;;5488:49:66;;10558:2:84;5488:49:66;;;10540:21:84;10597:2;10577:18;;;10570:30;10636:34;10616:18;;;10609:62;-1:-1:-1;;;10687:18:84;;;10680:37;10734:19;;5488:49:66;10356:403:84;7843:2079:68;7947:13;7976:29;8032:7;8008:32;;;;;;;;:::i;:::-;7976:64;-1:-1:-1;8100:34:68;8091:5;:43;;;;;;;;:::i;:::-;;8087:1829;;8168:1;8154:4;:11;:15;8150:259;;;8270:29;:18;:4;8275:1;8270:7;;;;;;;;:::i;:29::-;8203:114;;;;;;;;:::i;:::-;;;;;;;;;;;;;8189:129;;;;;8150:259;-1:-1:-1;;8357:37:68;;;;;;;;;;;;;;;;;;;8087:1829;8439:41;8430:5;:50;;;;;;;;:::i;:::-;;8426:1490;;-1:-1:-1;;8496:26:68;;;;;;;;;;;;-1:-1:-1;;;8496:26:68;;;;;;8426:1490;8553:45;8544:5;:54;;;;;;;;:::i;:::-;;8540:1376;;8632:1;8618:4;:11;:15;8614:279;;;8756:29;:18;:4;8761:1;8756:7;;;;;;;;:::i;:29::-;8667:136;;;;;;;;:::i;8614:279::-;-1:-1:-1;;8843:35:68;;;;;;;;;;;;;;;;;;;8540:1376;8923:38;8914:5;:47;;;;;;;;:::i;:::-;;8910:1006;;8995:1;8981:4;:11;:15;8977:254;;;9111:20;:4;9116:1;9111:7;;;;;;;;:::i;:::-;;;;;;;:18;:20::i;:::-;9030:119;;;;;;;;:::i;8977:254::-;-1:-1:-1;;9189:27:68;;;;;;;;;;;;-1:-1:-1;;;9189:27:68;;;;;;8910:1006;9261:40;9252:5;:49;;;;;;;;:::i;:::-;;9248:668;;9335:1;9321:4;:11;:15;9317:276;;;9462:20;:4;9467:1;9462:7;;;;;;;;:::i;:20::-;9370:130;;;;;;;;:::i;9317:276::-;-1:-1:-1;;9540:38:68;;;;;;;;;;;;;;;;;;;9248:668;9702:32;9727:5;9721:12;;;;;;;;:::i;:::-;9702:18;:32::i;:::-;9766:1;9752:4;:11;:15;:138;;;;;;;;;;;;;;;;;9821:32;9840:1;9826:4;:11;:15;;;;:::i;9821:32::-;9797:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;9752:138;9646:258;;;;;;;;;:::i;9248:668::-;7966:1956;7843:2079;;;;:::o;20800:519:64:-;20949:20;;;20912:3;20949:20;;;;;;;;;20866:13;;20912:3;20895:14;;20912:3;20949:20;;;;;;;;;;-1:-1:-1;20949:20:64;20925:44;;20979:6;20999:152;21016:15;21040:6;21044:2;21040:1;:6;:::i;:::-;21016:31;-1:-1:-1;21065:6:64;21069:2;21065:1;:6;:::i;:::-;21061:10;-1:-1:-1;21109:14:64;21114:9;21109:2;:14;:::i;:::-;21102:22;;21085:8;21094:4;;;;:::i;:::-;;;21085:14;;;;;;;;:::i;:::-;;;;:39;-1:-1:-1;;;;;21085:39:64;;;;;;;;;21002:133;21143:1;21148;21143:6;20999:152;;21160:16;21189:1;-1:-1:-1;;;;;21179:12:64;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21179:12:64;-1:-1:-1;21160:31:64;-1:-1:-1;21215:1:64;21201:84;21223:1;21218;:6;21201:84;;21259:8;21268:5;21272:1;21268;:5;:::i;:::-;21259:15;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;21259:15:64;21246:3;21250:5;21254:1;21250;:5;:::i;:::-;21246:10;;;;;;;;:::i;:::-;;;;:28;-1:-1:-1;;;;;21246:28:64;;;;;;;;-1:-1:-1;21226:4:64;;;;:::i;:::-;;;;21201:84;;;-1:-1:-1;21308:3:64;20800:519;-1:-1:-1;;;;;20800:519:64:o;19497:383::-;19614:12;;;19624:1;19614:12;;;;;;;;;19567:13;;19596:15;;19614:12;;;;;;;;;;;-1:-1:-1;;19596:30:64;-1:-1:-1;19636:8:64;19653:7;19658:2;19653;:7;:::i;:::-;19647:19;;19664:2;19647:19;:::i;:::-;19636:30;-1:-1:-1;19676:8:64;19693:7;19698:2;19693;:7;:::i;:::-;19687:19;;19704:2;19687:19;:::i;:::-;19676:30;;19725:2;19720;:7;;;19716:32;;;19741:7;19747:1;19741:7;;:::i;:::-;;;19716:32;19767:2;19762;:7;;;19758:32;;;19783:7;19789:1;19783:7;;:::i;:::-;;;19758:32;19815:2;19808:10;;19800:2;19803:1;19800:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;19800:18:64;;;;;;;;;19843:2;19836:10;;19828:2;19831:1;19828:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;19828:18:64;;;;;;;;-1:-1:-1;19870:2:64;;19497:383;-1:-1:-1;;;;19497:383:64:o;2925:996:66:-;3032:11;;:::i;:::-;1893;;:18;3011:6;;1893:11;:23;1889:77;;1933:26;;-1:-1:-1;;;1933:26:66;;;;;;;;;;;1889:77;3053:17:::1;3094:3;3053:17:::0;-1:-1:-1;;;;;3053:17:66;3198:4:::1;3208:478;3215:8;3208:478;;;3303:18;:6;:16;:18::i;:::-;3289:32:::0;-1:-1:-1;3329:6:66;::::1;::::0;::::1;:::i;:::-;3355:16:::0;3370:1:::1;3355:16:::0;;;;;-1:-1:-1;3417:4:66::1;3403:18:::0;::::1;::::0;-1:-1:-1;3329:6:66;-1:-1:-1;;;;3466:27:66;;3462:218:::1;;3520:13;::::0;::::1;::::0;3549:41:::1;3520:6:::0;3568:21;3549:10:::1;:41::i;:::-;3543:47;;3623:7;3607:6;:13;;;:23;;;;:::i;:::-;3600:30;::::0;;::::1;:::i;:::-;;;3495:144;3208:478;;3462:218;-1:-1:-1::0;3666:5:66::1;3208:478;;;1286:1;3695:35;::::0;::::1;;3691:94;;;3747:31;::::0;-1:-1:-1;;;3747:31:66;;9698:4:84;9686:17;;3747:31:66::1;::::0;::::1;9668:36:84::0;9641:18;;3747:31:66::1;9524:186:84::0;3691:94:66::1;-1:-1:-1::0;3797:119:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3797:119:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3797:119:66;;2925:996;-1:-1:-1;2925:996:66:o;13332:304:65:-;13455:11;13407:6;:13;;;13422:6;:11;;;:18;988:6;980:5;:14;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1011:31:65;14581:248:84;976:73:65;13496:11;;13527:13:::1;::::0;::::1;::::0;;13578:25;;;13592:1:::1;13578:25:::0;13572:32;;-1:-1:-1;13527:13:65;;;13615:16:::1;13527:13:::0;13615:16:::1;:::i;:::-;;;::::0;::::1;13470:166;;13332:304:::0;;;;;:::o;13873:312::-;14001:12;13949:6;:13;;;13965:1;13949:17;;;;:::i;:::-;13968:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1011:31:65;14581:248:84;976:73:65;14043:11;;14074:13:::1;::::0;::::1;::::0;;14139:1:::1;14125:25:::0;;;;;14119:32;;-1:-1:-1;14074:13:65;;14162:18:::1;14139:1:::0;14074:13;14162:18:::1;:::i;:::-;::::0;;-1:-1:-1;13873:312:65;;;-1:-1:-1;;;;;13873:312:65:o;14422:::-;14550:12;14498:6;:13;;;14514:1;14498:17;;;;:::i;:::-;14517:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1011:31:65;14581:248:84;976:73:65;14592:11;;14623:13:::1;::::0;::::1;::::0;;14688:1:::1;14674:25:::0;;;;;14668:32;;-1:-1:-1;14623:13:65;;14711:18:::1;14688:1:::0;14623:13;14711:18:::1;:::i;14971:312::-:0;15099:12;15047:6;:13;;;15063:1;15047:17;;;;:::i;:::-;15066:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;14755:25:84;;;14796:18;;;14789:34;;;14728:18;;1011:31:65;14581:248:84;976:73:65;15141:11;;15172:13:::1;::::0;::::1;::::0;;15237:1:::1;15223:25:::0;;;;;15217:32;;-1:-1:-1;15172:13:65;;15260:18:::1;15237:1:::0;15172:13;15260:18:::1;:::i;5569:337:66:-:0;5638:6;5687:2;5658:4;:26;;;:31;;;5654:248;;;-1:-1:-1;5706:1:66;;5569:337;-1:-1:-1;5569:337:66:o;5654:248::-;5753:2;5724:4;:26;;;:31;;;5720:182;;;5814:2;5785:4;:26;;;:31;;;;:::i;:::-;5779:38;;:1;:38;;5765:53;;5569:337;;;:::o;5720:182::-;5868:26;;;;5846:49;;-1:-1:-1;;;5846:49:66;;9698:4:84;9686:17;;;5846:49:66;;;9668:36:84;9641:18;;5846:49:66;9524:186:84;15739:677:66;15849:18;15811:4;1091:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;7024:4:84;7012:17;;;1763:45:66;;;6994:36:84;7066:17;;;7046:18;;;7039:45;6967:18;;1763:45:66;6824:266:84;1716:99:66;15888:51:::1;15899:4;:11;;;15912:4;:26;;;15888:10;:51::i;:::-;-1:-1:-1::0;;;;;15877:62:66::1;:8;::::0;::::1;:62:::0;;;-1:-1:-1;;15949:22:66;15945:467:::1;;15981:10;15999:341;16007:5;15999:341;;16024:13;16040:86;16079:4;:11;;;16102:4;:14;;;16040:27;:86::i;:::-;16024:102:::0;-1:-1:-1;;;;;;16140:19:66;;::::1;;16136:196;;;16217:4:::0;16235:32:::1;16256:10;16265:1;16256:6:::0;:10:::1;:::i;:::-;16235:11:::0;;;:20:::1;:32::i;:::-;16187:92;;;;;;;;;:::i;:::-;;;;;;;;;;;;;16173:107;;16136:196;;;16317:4;16309:12;;16136:196;16014:326;15999:341;;;15973:373;15945:467;;;16395:8;::::0;::::1;::::0;16374:11;;:30:::1;::::0;:20:::1;:30::i;:::-;16360:45;;;;18437:521:::0;18574:10;18594:17;18614:18;:6;:16;:18::i;:::-;18594:38;;18642:11;:19;;18657:4;18642:19;18638:57;;-1:-1:-1;;;;;18671:17:66;;;;;18638:57;18706:56;18724:6;18738:11;18752:4;18738:18;18706:10;:56::i;:::-;18700:62;-1:-1:-1;;;;;;18772:17:66;;;;18768:186;;18806:26;;-1:-1:-1;;;18806:26:66;;-1:-1:-1;;;;;15856:31:84;;18806:26:66;;;15838:50:84;15811:18;;18806:26:66;15693:201:84;18768:186:66;18863:16;18849:31;;18863:16;18878:1;18863:16;;;;18849:31;18845:109;;18897:50;;-1:-1:-1;;;18897:50:66;;18918:16;18933:1;18918:16;;;;18897:50;;;6994:36:84;18918:16:66;7066:17:84;;7046:18;;;7039:45;6967:18;;18897:50:66;6824:266:84;12065:1038:65;12182:17;12226:6;-1:-1:-1;;;;;12216:17:65;-1:-1:-1;;;;;12216:17:65;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12216:17:65;;12209:24;;12262:12;12257:743;12288:6;-1:-1:-1;;;;;12280:14:65;:5;-1:-1:-1;;;;;12280:14:65;;12257:743;;;12316:10;12329:17;12339:6;12329:9;:17::i;:::-;12316:30;-1:-1:-1;12367:4:65;12360:11;;:16;12356:600;;12401:4;12394;:11;;;12390:556;;;12464:17;12474:6;12464:9;:17::i;:::-;12484:4;12464:24;12445:1;12429:4;12436;12429:11;12428:18;;;;:61;12421:68;;12513:1;12503:11;;;;12390:556;;;12544:4;12537;:11;;;12533:413;;;12657:17;12667:6;12657:9;:17::i;:::-;12677:4;12657:24;12638:1;12609:17;12619:6;12609:9;:17::i;:::-;12629:4;12609:24;12608:31;;;;12589:2;12573:4;12580;12573:11;12572:19;;;;:67;:110;12564:118;;12706:1;12696:11;;;;12533:413;;;12883:17;12893:6;12883:9;:17::i;:::-;12903:4;12883:24;12862:1;12833:17;12843:6;12833:9;:17::i;:::-;12853:4;12833:24;12832:31;;12813:2;12784:17;12794:6;12784:9;:17::i;:::-;12804:4;12784:24;12783:32;;;;12764:2;12748:4;12755;12748:11;12747:19;;;;:68;:116;:161;12740:168;;12932:1;12922:11;;;;12533:413;12986:4;12979:12;;12965:4;12970:5;-1:-1:-1;;;;;12965:11:65;;;;;;;;;:::i;:::-;;;;:26;-1:-1:-1;;;;;12965:26:65;;;;;;;;-1:-1:-1;;12296:8:65;;12257:743;;;-1:-1:-1;13065:20:65;;;13072:4;12065:1038;-1:-1:-1;12065:1038:65:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:84:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:257;218:4;212:11;;;250:17;;-1:-1:-1;;;;;282:34:84;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:248::-;475:2;469:9;517:4;505:17;;-1:-1:-1;;;;;537:34:84;;573:22;;;534:62;531:88;;;599:18;;:::i;661:718::-;703:5;756:3;749:4;741:6;737:17;733:27;723:55;;774:1;771;764:12;723:55;810:6;797:20;-1:-1:-1;;;;;873:2:84;869;866:10;863:36;;;879:18;;:::i;:::-;954:2;948:9;922:2;1008:13;;-1:-1:-1;;1004:22:84;;;1028:2;1000:31;996:40;984:53;;;1052:18;;;1072:22;;;1049:46;1046:72;;;1098:18;;:::i;:::-;1138:10;1134:2;1127:22;1173:2;1165:6;1158:18;1219:3;1212:4;1207:2;1199:6;1195:15;1191:26;1188:35;1185:55;;;1236:1;1233;1226:12;1185:55;1300:2;1293:4;1285:6;1281:17;1274:4;1266:6;1262:17;1249:54;1347:1;1340:4;1335:2;1327:6;1323:15;1319:26;1312:37;1367:6;1358:15;;;;;;661:718;;;;:::o;1384:156::-;1450:20;;1510:4;1499:16;;1489:27;;1479:55;;1530:1;1527;1520:12;1545:171;1612:20;;-1:-1:-1;;;;;1661:30:84;;1651:41;;1641:69;;1706:1;1703;1696:12;1721:1690;1805:6;1836:2;1879;1867:9;1858:7;1854:23;1850:32;1847:52;;;1895:1;1892;1885:12;1847:52;1935:9;1922:23;-1:-1:-1;;;;;2005:2:84;1997:6;1994:14;1991:34;;;2021:1;2018;2011:12;1991:34;2044:22;;;;2100:4;2082:16;;;2078:27;2075:47;;;2118:1;2115;2108:12;2075:47;2144:22;;:::i;:::-;2203:2;2190:16;2251:7;2244:15;2237:23;2228:7;2225:36;2215:64;;2275:1;2272;2265:12;2215:64;2288:22;;2348:11;;;2335:25;2372:16;;;2369:36;;;2401:1;2398;2391:12;2369:36;2424:17;;;;;2475:4;2457:16;;;2453:27;2450:47;;;2493:1;2490;2483:12;2450:47;2521:17;;:::i;:::-;2576:2;2563:16;2604:2;2594:8;2591:16;2588:36;;;2620:1;2617;2610:12;2588:36;2643:17;;2694:4;2676:16;;;2672:27;2669:47;;;2712:1;2709;2702:12;2669:47;2740:22;;:::i;:::-;2800:2;2787:16;2828:2;2818:8;2815:16;2812:36;;;2844:1;2841;2834:12;2812:36;2873:44;2909:7;2898:8;2894:2;2890:17;2873:44;:::i;:::-;2857:61;;-1:-1:-1;2965:11:84;;;2952:25;2934:16;;;2927:51;2987:24;;3045:29;3062:11;;;3045:29;:::i;:::-;3040:2;3031:7;3027:16;3020:55;3111:31;3136:4;3132:2;3128:13;3111:31;:::i;:::-;3104:4;3095:7;3091:18;3084:59;3177:29;3202:2;3198;3194:11;3177:29;:::i;:::-;3172:2;3163:7;3159:16;3152:55;3242:31;3268:3;3264:2;3260:12;3242:31;:::i;:::-;3236:3;3227:7;3223:17;3216:58;3309:31;3335:3;3331:2;3327:12;3309:31;:::i;:::-;3303:3;3290:17;;3283:58;3357:14;;;3350:31;;;;-1:-1:-1;3361:5:84;;1721:1690;-1:-1:-1;;;;1721:1690:84:o;3416:127::-;3477:10;3472:3;3468:20;3465:1;3458:31;3508:4;3505:1;3498:15;3532:4;3529:1;3522:15;3548:246;3636:3;3629:5;3626:14;3616:145;;3683:10;3678:3;3674:20;3671:1;3664:31;3718:4;3715:1;3708:15;3746:4;3743:1;3736:15;3616:145;3770:18;;3548:246::o;3799:250::-;3884:1;3894:113;3908:6;3905:1;3902:13;3894:113;;;3984:11;;;3978:18;3965:11;;;3958:39;3930:2;3923:10;3894:113;;;-1:-1:-1;;4041:1:84;4023:16;;4016:27;3799:250::o;4054:628::-;4251:2;4240:9;4233:21;4263:67;4326:2;4315:9;4311:18;4302:6;4296:13;4263:67;:::i;:::-;4214:4;4377:2;4369:6;4365:15;4359:22;4419:4;4412;4401:9;4397:20;4390:34;4453:12;4447:19;4502:6;4497:2;4486:9;4482:18;4475:34;4518:86;4597:6;4591:3;4580:9;4576:19;4571:2;4557:12;4553:21;4518:86;:::i;:::-;4665:2;4644:15;-1:-1:-1;;4640:29:84;4625:45;;;;4672:3;4621:55;;4054:628;-1:-1:-1;;;4054:628:84:o;4687:320::-;4755:6;4808:2;4796:9;4787:7;4783:23;4779:32;4776:52;;;4824:1;4821;4814:12;4776:52;4864:9;4851:23;-1:-1:-1;;;;;4889:6:84;4886:30;4883:50;;;4929:1;4926;4919:12;4883:50;4952:49;4993:7;4984:6;4973:9;4969:22;4952:49;:::i;:::-;4942:59;4687:320;-1:-1:-1;;;;4687:320:84:o;5012:348::-;5222:2;5207:18;;5234:51;5211:9;5267:6;5234:51;:::i;:::-;5294:60;5350:2;5339:9;5335:18;5327:6;5294:60;:::i;5365:484::-;5462:6;5470;5523:2;5511:9;5502:7;5498:23;5494:32;5491:52;;;5539:1;5536;5529:12;5491:52;5578:9;5565:23;5617:1;5610:5;5607:12;5597:40;;5633:1;5630;5623:12;5597:40;5656:5;-1:-1:-1;5712:2:84;5697:18;;5684:32;-1:-1:-1;;;;;5728:30:84;;5725:50;;;5771:1;5768;5761:12;5725:50;5794:49;5835:7;5826:6;5815:9;5811:22;5794:49;:::i;:::-;5784:59;;;5365:484;;;;;:::o;5854:127::-;5915:10;5910:3;5906:20;5903:1;5896:31;5946:4;5943:1;5936:15;5970:4;5967:1;5960:15;6323:496;6502:3;6540:6;6534:13;6556:66;6615:6;6610:3;6603:4;6595:6;6591:17;6556:66;:::i;:::-;6685:13;;6644:16;;;;6707:70;6685:13;6644:16;6754:4;6742:17;;6707:70;:::i;:::-;6793:20;;6323:496;-1:-1:-1;;;;6323:496:84:o;7095:127::-;7156:10;7151:3;7147:20;7144:1;7137:31;7187:4;7184:1;7177:15;7211:4;7208:1;7201:15;7227:180;-1:-1:-1;;;;;7332:10:84;;;7344;;;7328:27;;7367:11;;;7364:37;;;7381:18;;:::i;7412:128::-;7479:9;;;7500:11;;;7497:37;;;7514:18;;:::i;7545:452::-;-1:-1:-1;;;7802:3:84;7795:35;7777:3;7859:6;7853:13;7875:75;7943:6;7938:2;7933:3;7929:12;7922:4;7914:6;7910:17;7875:75;:::i;:::-;7970:16;;;;7988:2;7966:25;;7545:452;-1:-1:-1;;7545:452:84:o;8002:451::-;-1:-1:-1;;;8259:3:84;8252:34;8234:3;8315:6;8309:13;8331:75;8399:6;8394:2;8389:3;8385:12;8378:4;8370:6;8366:17;8331:75;:::i;:::-;8426:16;;;;8444:2;8422:25;;8002:451;-1:-1:-1;;8002:451:84:o;8458:624::-;8821:33;8816:3;8809:46;8791:3;8884:6;8878:13;8900:75;8968:6;8963:2;8958:3;8954:12;8947:4;8939:6;8935:17;8900:75;:::i;:::-;-1:-1:-1;;;9034:2:84;8994:16;;;;9026:11;;;9019:30;-1:-1:-1;9073:2:84;9065:11;;8458:624;-1:-1:-1;8458:624:84:o;9087:432::-;-1:-1:-1;;;9344:3:84;9337:17;9319:3;9383:6;9377:13;9399:74;9466:6;9462:1;9457:3;9453:11;9446:4;9438:6;9434:17;9399:74;:::i;:::-;9493:16;;;;9511:1;9489:24;;9087:432;-1:-1:-1;;9087:432:84:o;9715:257::-;-1:-1:-1;;;;;9836:10:84;;;9848;;;9832:27;9879:20;;;;9786:18;9918:24;;;9908:58;;9946:18;;:::i;:::-;9908:58;;9715:257;;;;:::o;9977:127::-;10038:10;10033:3;10029:20;10026:1;10019:31;10069:4;10066:1;10059:15;10093:4;10090:1;10083:15;10109:112;10141:1;10167;10157:35;;10172:18;;:::i;:::-;-1:-1:-1;10206:9:84;;10109:112::o;10226:125::-;10291:9;;;10312:10;;;10309:36;;;10325:18;;:::i;10764:435::-;-1:-1:-1;;;11021:3:84;11014:20;10996:3;11063:6;11057:13;11079:74;11146:6;11142:1;11137:3;11133:11;11126:4;11118:6;11114:17;11079:74;:::i;:::-;11173:16;;;;11191:1;11169:24;;10764:435;-1:-1:-1;;10764:435:84:o;11204:459::-;11466:29;11461:3;11454:42;11436:3;11525:6;11519:13;11541:75;11609:6;11604:2;11599:3;11595:12;11588:4;11580:6;11576:17;11541:75;:::i;:::-;11636:16;;;;11654:2;11632:25;;11204:459;-1:-1:-1;;11204:459:84:o;11668:451::-;-1:-1:-1;;;11925:3:84;11918:34;11900:3;11981:6;11975:13;11997:75;12065:6;12060:2;12055:3;12051:12;12044:4;12036:6;12032:17;11997:75;:::i;12124:462::-;12386:32;12381:3;12374:45;12356:3;12448:6;12442:13;12464:75;12532:6;12527:2;12522:3;12518:12;12511:4;12503:6;12499:17;12464:75;:::i;:::-;12559:16;;;;12577:2;12555:25;;12124:462;-1:-1:-1;;12124:462:84:o;12591:592::-;-1:-1:-1;;;12949:3:84;12942:18;12924:3;12989:6;12983:13;13005:74;13072:6;13068:1;13063:3;13059:11;13052:4;13044:6;13040:17;13005:74;:::i;:::-;-1:-1:-1;;;13138:1:84;13098:16;;;;13130:10;;;13123:28;-1:-1:-1;13175:1:84;13167:10;;12591:592;-1:-1:-1;12591:592:84:o;13188:638::-;-1:-1:-1;;;13493:3:84;13486:17;13468:3;13532:6;13526:13;13548:74;13615:6;13611:1;13606:3;13602:11;13595:4;13587:6;13583:17;13548:74;:::i;:::-;13682:13;;13641:16;;;;13704:75;13682:13;13766:1;13758:10;;13751:4;13739:17;;13704:75;:::i;:::-;13799:17;13818:1;13795:25;;13188:638;-1:-1:-1;;;;13188:638:84:o;13831:120::-;13871:1;13897;13887:35;;13902:18;;:::i;:::-;-1:-1:-1;13936:9:84;;13831:120::o;13956:148::-;14044:4;14023:12;;;14037;;;14019:31;;14062:13;;14059:39;;;14078:18;;:::i;14109:135::-;14148:3;14169:17;;;14166:43;;14189:18;;:::i;:::-;-1:-1:-1;14236:1:84;14225:13;;14109:135::o;14249:165::-;14287:1;14321:4;14318:1;14314:12;14345:3;14335:37;;14352:18;;:::i;:::-;14404:3;14397:4;14394:1;14390:12;14386:22;14381:27;;;14249:165;;;;:::o;14419:157::-;14449:1;14483:4;14480:1;14476:12;14507:3;14497:37;;14514:18;;:::i;:::-;14566:3;14559:4;14556:1;14552:12;14548:22;14543:27;;;14419:157;;;;:::o;14834:151::-;14924:4;14917:12;;;14903;;;14899:31;;14942:14;;14939:40;;;14959:18;;:::i;14990:199::-;15029:1;-1:-1:-1;;;;;15100:2:84;15097:1;15093:10;15122:3;15112:37;;15129:18;;:::i;:::-;15167:10;;15163:20;;;;;14990:199;-1:-1:-1;;14990:199:84:o",
|
|
12904
12904
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetV2.sol\";\n\n/// @title A library for interpreting Witnet resolution errors\n/// @author The Witnet Foundation.\nlibrary WitnetErrorsLib {\n\n using Witnet for bytes;\n using Witnet for uint8;\n using Witnet for uint256;\n using Witnet for Witnet.ResultErrorCodes;\n using WitnetCBOR for WitnetCBOR.CBOR;\n\n \n // ================================================================================================================\n // --- Library public methods -------------------------------------------------------------------------------------\n \n /// @notice Extract error code and description string from given Witnet.Result.\n /// @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\n /// @return _error Witnet.ResultError data struct containing error code and description.\n function asError(Witnet.Result memory result)\n public pure\n returns (Witnet.ResultError memory _error)\n {\n return _fromErrorArray(\n _errorsFromResult(result)\n );\n }\n\n function asResultError(WitnetV2.ResponseStatus _status, bytes memory _cborBytes)\n public pure\n returns (Witnet.ResultError memory)\n {\n if (\n _status == WitnetV2.ResponseStatus.Error\n || _status == WitnetV2.ResponseStatus.Ready\n ) {\n return resultErrorFromCborBytes(_cborBytes);\n } else if (_status == WitnetV2.ResponseStatus.Finalizing) {\n return Witnet.ResultError({\n code: Witnet.ResultErrorCodes.Unknown,\n reason: \"WitnetErrorsLib: not yet finalized\"\n });\n } if (_status == WitnetV2.ResponseStatus.Awaiting) {\n return Witnet.ResultError({\n code: Witnet.ResultErrorCodes.Unknown,\n reason: \"WitnetErrorsLib: not yet reported\"\n });\n } else {\n return Witnet.ResultError({\n code: Witnet.ResultErrorCodes.Unknown,\n reason: \"WitnetErrorsLib: unknown query\"\n });\n }\n }\n\n function resultErrorCodesFromCborBytes(bytes memory cborBytes)\n public pure\n returns (\n Witnet.ResultErrorCodes _code, \n Witnet.ResultErrorCodes _subcode\n )\n {\n WitnetCBOR.CBOR[] memory _errors = _errorsFromResult(cborBytes.toWitnetResult());\n if (_errors.length > 1) {\n _code = Witnet.ResultErrorCodes(_errors[0].readUint());\n if (_errors.length > 2) {\n _subcode = Witnet.ResultErrorCodes(_errors[1].readUint());\n } \n }\n }\n\n /// @notice Extract error code and description string from given CBOR-encoded value.\n /// @dev Client contracts should wrap this function into a try-catch foreseeing potential parsing errors.\n /// @return _error Witnet.ResultError data struct containing error code and description.\n function resultErrorFromCborBytes(bytes memory cborBytes)\n public pure\n returns (Witnet.ResultError memory _error)\n {\n WitnetCBOR.CBOR[] memory errors = _errorsFromCborBytes(cborBytes);\n return _fromErrorArray(errors);\n }\n\n\n // ================================================================================================================\n // --- Library private methods ------------------------------------------------------------------------------------\n\n /// @dev Extract error codes from a CBOR-encoded `bytes` value.\n /// @param cborBytes CBOR-encode `bytes` value.\n /// @return The `uint[]` error parameters as decoded from the `Witnet.Result`.\n function _errorsFromCborBytes(bytes memory cborBytes)\n private pure\n returns(WitnetCBOR.CBOR[] memory)\n {\n return _errorsFromResult(cborBytes.toWitnetResult());\n }\n\n /// @dev Extract error codes from a Witnet.Result value.\n /// @param result An instance of `Witnet.Result`.\n /// @return The `uint[]` error parameters as decoded from the `Witnet.Result`.\n function _errorsFromResult(Witnet.Result memory result)\n private pure\n returns (WitnetCBOR.CBOR[] memory)\n {\n require(!result.success, \"no errors\");\n return result.value.readArray();\n }\n\n /// @dev Extract Witnet.ResultErrorCodes and error description from given array of CBOR values.\n function _fromErrorArray(WitnetCBOR.CBOR[] memory errors)\n private pure\n returns (Witnet.ResultError memory _error)\n {\n if (errors.length < 2) {\n return Witnet.ResultError({\n code: Witnet.ResultErrorCodes.Unknown,\n reason: \"Critical: no error code was found.\"\n });\n } else {\n _error.code = Witnet.ResultErrorCodes(errors[0].readUint());\n }\n string memory _prefix;\n if (_error.code.isCircumstantial()) {\n _prefix = \"Circumstantial: \";\n } else if (_error.code.poorIncentives()) {\n _prefix = \"Poor incentives: \";\n } else if (_error.code.lackOfConsensus()) {\n _prefix = \"Consensual: \";\n } else {\n _prefix = \"Critical: \";\n } \n _error.reason = string(abi.encodePacked(_prefix, _stringify(_error.code, errors)));\n }\n\n function _stringify(Witnet.ResultErrorCodes code, WitnetCBOR.CBOR[] memory args)\n private pure\n returns (string memory)\n {\n if (code == Witnet.ResultErrorCodes.InsufficientCommits) {\n return \"insufficient commits.\";\n\n } else if (\n code == Witnet.ResultErrorCodes.CircumstantialFailure\n && args.length > 2\n ) {\n return _stringify(args[1].readUint(), args);\n \n } else if (code == Witnet.ResultErrorCodes.InsufficientMajority) {\n return \"insufficient majority.\";\n\n } else if (code == Witnet.ResultErrorCodes.InsufficientReveals) {\n return \"insufficient reveals.\";\n\n } else if (code == Witnet.ResultErrorCodes.BridgePoorIncentives) {\n return \"as for the bridge.\";\n\n } else if (\n code == Witnet.ResultErrorCodes.OversizedTallyResult\n || code == Witnet.ResultErrorCodes.BridgeOversizedTallyResult\n ) {\n return \"oversized result.\";\n\n } else if (code == Witnet.ResultErrorCodes.InconsistentSources) {\n return \"inconsistent sources.\";\n\n } else if (\n code == Witnet.ResultErrorCodes.MalformedResponses\n && args.length > 2\n ) {\n return string(abi.encodePacked(\n \"malformed response: \",\n _stringify(args[1].readUint(), args)\n ));\n\n } else if (\n code == Witnet.ResultErrorCodes.MalformedDataRequest \n || code == Witnet.ResultErrorCodes.BridgeMalformedDataRequest\n\n ) {\n if (args.length > 2) {\n return string(abi.encodePacked(\n \"malformed request: \",\n _stringify(args[1].readUint(), args)\n ));\n } else {\n return \"malformed request.\";\n }\n\n } else if (code == Witnet.ResultErrorCodes.UnhandledIntercept) {\n if (args.length > 2) {\n return string(abi.encodePacked(\n \"unhandled intercept on tally (+\",\n (args.length - 2).toString(),\n \" args).\"\n ));\n } else {\n return \"unhandled intercept on tally.\";\n }\n \n } else {\n return string(abi.encodePacked(\n \"0x\",\n uint8(code).toHexString()\n ));\n }\n }\n\n function _stringify(uint subcode, WitnetCBOR.CBOR[] memory args)\n private pure \n returns (string memory)\n {\n Witnet.ResultErrorCodes _code = Witnet.ResultErrorCodes(subcode);\n\n // circumstantial subcodes:\n if (_code == Witnet.ResultErrorCodes.HttpErrors) {\n if (args.length > 3) {\n return string(abi.encodePacked(\n \"http/\",\n args[2].readUint().toString()\n ));\n } else {\n return \"unspecific http status code.\";\n }\n\n } else if (_code == Witnet.ResultErrorCodes.RetrievalsTimeout) {\n return \"response timeout.\";\n\n } else if (_code == Witnet.ResultErrorCodes.ArrayIndexOutOfBounds) {\n if (args.length > 3) {\n return string(abi.encodePacked(\n \"array index out of bounds: \",\n args[2].readUint().toString()\n ));\n } else {\n return \"array index out of bounds.\";\n }\n\n } else if (_code == Witnet.ResultErrorCodes.MapKeyNotFound) {\n if (args.length > 3) {\n return string(abi.encodePacked(\n \"map key not found: \",\n args[2].readString()\n ));\n } else {\n return \"map key not found.\";\n }\n\n } else if (_code == Witnet.ResultErrorCodes.JsonPathNotFound) {\n if (args.length > 3) {\n return string(abi.encodePacked(\n \"json path returned no values: \",\n args[2].readString()\n ));\n } else {\n return \"json path returned no values.\";\n }\n \n } else {\n return string(abi.encodePacked(\n \"0x\",\n Witnet.toHexString(uint8(_code)),\n args.length > 3\n ? string(abi.encodePacked(\" (+\", uint(args.length - 3).toString(), \" args)\"))\n : \"\"\n ));\n }\n }\n\n /// @notice Convert a stage index number into the name of the matching Witnet request stage.\n /// @param stageIndex A `uint64` identifying the index of one of the Witnet request stages.\n /// @return The name of the matching stage.\n function _stageName(uint64 stageIndex)\n private pure\n returns (string memory)\n {\n if (stageIndex == 0) {\n return \"Retrieval\";\n } else if (stageIndex == 1) {\n return \"Aggregation\";\n } else if (stageIndex == 2) {\n return \"Tally\";\n } else {\n return \"(unknown)\";\n }\n }\n}",
|
|
12905
|
-
"sourcePath": "/home/
|
|
12905
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/libs/WitnetErrorsLib.sol",
|
|
12906
12906
|
"ast": {
|
|
12907
12907
|
"absolutePath": "project:/contracts/libs/WitnetErrorsLib.sol",
|
|
12908
12908
|
"exportedSymbols": {
|
|
@@ -22798,7 +22798,7 @@
|
|
|
22798
22798
|
},
|
|
22799
22799
|
"networks": {},
|
|
22800
22800
|
"schemaVersion": "3.4.16",
|
|
22801
|
-
"updatedAt": "2025-10-
|
|
22801
|
+
"updatedAt": "2025-10-15T18:03:23.853Z",
|
|
22802
22802
|
"devdoc": {
|
|
22803
22803
|
"author": "The Witnet Foundation.",
|
|
22804
22804
|
"kind": "dev",
|
|
@@ -1167,7 +1167,7 @@
|
|
|
1167
1167
|
"sourceMap": "",
|
|
1168
1168
|
"deployedSourceMap": "",
|
|
1169
1169
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\n\nimport \"./interfaces/IFeeds.sol\";\nimport \"./interfaces/IWitnetFeeds.sol\";\nimport \"./interfaces/IWitnetFeedsAdmin.sol\";\n\nimport \"ado-contracts/contracts/interfaces/IERC2362.sol\";\n\nabstract contract WitnetFeeds\n is \n IERC2362,\n IFeeds,\n IWitnetFeeds,\n IWitnetFeedsAdmin,\n IWitnetOracleEvents\n{\n Witnet.RadonDataTypes immutable public override dataType;\n\n function class() virtual external view returns (string memory);\n function specs() virtual external view returns (bytes4);\n function witnet() virtual external view returns (WitnetOracle);\n\n constructor(\n Witnet.RadonDataTypes _dataType,\n string memory _prefix\n )\n {\n dataType = _dataType;\n __prefix = Witnet.toBytes32(bytes(_prefix));\n }\n\n bytes32 immutable internal __prefix;\n\n function prefix() override public view returns (string memory) {\n return Witnet.toString(__prefix);\n }\n}\n",
|
|
1170
|
-
"sourcePath": "/home/
|
|
1170
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/WitnetFeeds.sol",
|
|
1171
1171
|
"ast": {
|
|
1172
1172
|
"absolutePath": "project:/contracts/WitnetFeeds.sol",
|
|
1173
1173
|
"exportedSymbols": {
|
|
@@ -2093,7 +2093,7 @@
|
|
|
2093
2093
|
},
|
|
2094
2094
|
"networks": {},
|
|
2095
2095
|
"schemaVersion": "3.4.16",
|
|
2096
|
-
"updatedAt": "2025-10-
|
|
2096
|
+
"updatedAt": "2025-10-15T18:03:23.534Z",
|
|
2097
2097
|
"devdoc": {
|
|
2098
2098
|
"kind": "dev",
|
|
2099
2099
|
"methods": {
|
|
@@ -41772,7 +41772,7 @@
|
|
|
41772
41772
|
"sourceMap": "582:818:71:-:0;;;653:10:28;617:46;;-1:-1:-1;;;1310:72:36;;705:432:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;837:1;886:9;911:5;-1:-1:-1;;;961:5:71;968;975;982;1453:8:37;1476:9;1499:11;1525;1559:1;3269:9:36;3322:11;3347;670:279:28;;;;;;;;;;;;;;;;;817:11;3240:10:36;1297:1:1;-1:-1:-1;;;;;1273:26:1;:12;-1:-1:-1;;;;;1273:26:1;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:1;;1350:1;1322:31;;;493:51:84;466:18;;1322:31:1;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1250:4:83;1265:13;;1288:27;;;;1857:1:4;2061:7;:21;;;844:40:28::1;::::0;;;;910:32;;::::1;::::0;;::::1;::::0;894:48:::1;::::0;-1:-1:-1;;;;;332:28:80;;;;;3424:20:36;;::::3;;::::0;-1:-1:-1;3454:20:36;;;::::3;;::::0;-1:-1:-1;;;1589:44:37::1;::::0;;;;1643:68:::1;::::0;;;;1721:80:::1;::::0;1811:40:::1;::::0;1226:13:83;;-1:-1:-1;1857:1:4;-1:-1:-1;1042:16:71::1;::::0;-1:-1:-1;;1042:16:71;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;1042:16:71::1;;1012:46;;1084:10;1068;1079:1;1068:13;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1068:26:71;;::::1;:13;::::0;;::::1;::::0;;;;;;;:26;1104::::1;1119:10:::0;1104:14:::1;:26::i;:::-;1002:135;705:432:::0;582:818;;1437:153:79;1526:13;1519:20;;-1:-1:-1;;;;;;1519:20:79;;;1549:34;1574:8;1549:24;:34::i;:::-;1437:153;:::o;37747:298:36:-;37844:7;37839:161;37862:10;:17;37857:2;:22;37839:161;;;37902:17;37922:10;37933:2;37922:14;;;;;;;;:::i;:::-;;;;;;;37902:34;;37985:4;37950:11;:9;;;:11;;:::i;:::-;-1:-1:-1;;;;;37950:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;37950:39:36;;;;;;;;;;-1:-1:-1;37881:5:36;37839:161;;;;38014:24;38027:10;38014:24;;;;;;:::i;:::-;;;;;;;;37747:298;:::o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;38125:142:36:-;1067:28:41;;38125:142:36:o;14:328:84:-;122:6;175:2;163:9;154:7;150:23;146:32;143:52;;;191:1;188;181:12;143:52;217:16;;-1:-1:-1;;;;;262:31:84;;252:42;;242:70;;308:1;305;298:12;242:70;331:5;14:328;-1:-1:-1;;;14:328:84:o;687:127::-;748:10;743:3;739:20;736:1;729:31;779:4;776:1;769:15;803:4;800:1;793:15;819:658;990:2;1042:21;;;1112:13;;1015:18;;;1134:22;;;961:4;;990:2;1213:15;;;;1187:2;1172:18;;;961:4;1256:195;1270:6;1267:1;1264:13;1256:195;;;1335:13;;-1:-1:-1;;;;;1331:39:84;1319:52;;1426:15;;;;1391:12;;;;1367:1;1285:9;1256:195;;;-1:-1:-1;1468:3:84;;819:658;-1:-1:-1;;;;;;819:658:84:o;:::-;582:818:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
|
|
41773
41773
|
"deployedSourceMap": "582:818:71:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3525:32:36;;;;;;;;;;;;;;-1:-1:-1;;;3525:32:36;;;:7;:32::i;:::-;582:818:71;;;;;;;;;;;-1:-1:-1;3937:319:36;4017:42;4049:7;;4036:22;;4017:18;:42::i;:::-;4073:47;4092:27;4105:7;;4092:27;;;4073:18;:47::i;:::-;4134:48;4153:28;4166:7;;4153:28;;;4134:18;:48::i;:::-;4196;4215:28;4228:7;;4215:28;;;4196:18;:48::i;:::-;3952:302;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3937:7;:319::i;28848:140::-;;;;;;;;;;-1:-1:-1;28848:140:36;;;;;:::i;:::-;;:::i;:::-;;;1899:14:84;;1892:22;1874:41;;1862:2;1847:18;28848:140:36;;;;;;;;3077:896:37;;;;;;;;;;-1:-1:-1;3077:896:37;;;;;:::i;:::-;;:::i;:::-;;;2495:25:84;;;2483:2;2468:18;3077:896:37;2349:177:84;26837:1625:36;;;;;;;;;;-1:-1:-1;26837:1625:36;;;;;:::i;:::-;;:::i;9563:389::-;;;;;;;;;;-1:-1:-1;9563:389:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10663:211::-;;;;;;;;;;-1:-1:-1;10663:211:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11778:222::-;;;;;;;;;;-1:-1:-1;11778:222:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29683:334::-;;;;;;;;;;-1:-1:-1;29683:334:36;;;;;:::i;:::-;;:::i;15223:558::-;;;;;;:::i;:::-;;:::i;6259:1577::-;;;;;;;;;;-1:-1:-1;6259:1577:36;;;;;:::i;:::-;;:::i;22765:251::-;;;;;;;;;;-1:-1:-1;22765:251:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29257:148::-;;;;;;;;;;-1:-1:-1;29257:148:36;;;;;:::i;:::-;;:::i;1433:75:83:-;;;;;;;;;;-1:-1:-1;1496:5:83;1433:75;;;-1:-1:-1;;;;;10568:32:84;;;10550:51;;10538:2;10523:18;1433:75:83;10404:203:84;1748:47:28;;;;;;;;;;;;;;;1874:86:83;;;;;;;;;;-1:-1:-1;1942:11:83;1874:86;;2118:133:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;13788:404:36:-;;;;;;;;;;-1:-1:-1;13788:404:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1253:145:71:-;;;;;;;;;;-1:-1:-1;1253:145:71;;;;;:::i;:::-;;:::i;23662:791:36:-;;;;;;;;;;-1:-1:-1;23662:791:36;;;;;:::i;:::-;;:::i;7920:265::-;;;;;;;;;;-1:-1:-1;7920:265:36;;;;;:::i;:::-;;:::i;13577:205::-;;;;;;;;;;-1:-1:-1;13577:205:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10313:207::-;;;;;;;;;;-1:-1:-1;10313:207:36;;;;;:::i;:::-;10430:7;10460:35;;;-1:-1:-1;;;;;;;;;;;10460:35:36;;;;;:53;-1:-1:-1;;;10460:53:36;;-1:-1:-1;;;;;10460:53:36;;10313:207;2293:101:1;;;;;;;;;;;;;:::i;1670:239:79:-;;;;;;;;;;;;;:::i;1388:57:36:-;;;;;;;;;;;;;;;4269:148;;;;;;;;;;-1:-1:-1;4368:40:36;;;4387:4;4368:40;;;;30537:51:84;;;;4394:13:36;30604:18:84;;;30597:34;4368:40:36;;;;;;;;;30510:18:84;;;;4368:40:36;;;4358:51;;;;;4269:148;;;-1:-1:-1;;;;;;13646:33:84;;;13628:52;;13616:2;13601:18;4269:148:36;13484:202:84;2436:359:37;;;;;;;;;;-1:-1:-1;2436:359:37;;;;;:::i;:::-;;:::i;12173:234:36:-;;;;;;;;;;-1:-1:-1;12173:234:36;;;;;:::i;:::-;;:::i;1638:85:1:-;;;;;;;;;;-1:-1:-1;1684:7:1;1710:6;-1:-1:-1;;;;;1710:6:1;1638:85;;21240:1314:36;;;;;;;;;;-1:-1:-1;21240:1314:36;;;;;:::i;:::-;;:::i;:::-;;;;15434:25:84;;;15490:2;15475:18;;15468:34;;;;15407:18;21240:1314:36;15260:248:84;8798:405:36;;;;;;;;;;-1:-1:-1;8798:405:36;;;;;:::i;:::-;;:::i;19207:830::-;;;;;;:::i;:::-;;:::i;12576:951::-;;;;;;;;;;-1:-1:-1;12576:951:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1611:171:83:-;;;;;;;;;;-1:-1:-1;1697:5:83;1748:18;1611:171;;1310:72:36;;;;;;;;;;;;;;;10040:184;;;;;;;;;;-1:-1:-1;10040:184:36;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;25180:1008::-;;;;;;;;;;-1:-1:-1;25180:1008:36;;;;;:::i;:::-;;:::i;652:133:37:-;;;;;;;;;;;;;:::i;1143:104:71:-;;;;;;;;;;-1:-1:-1;1231:9:71;;-1:-1:-1;;;;;1231:9:71;1143:104;;14281:140:36;;;;;;;;;;;;;:::i;617:46:28:-;;;;;;;;;;;;;;;783:99:79;;;;;;;;;;-1:-1:-1;862:13:79;;-1:-1:-1;;;;;862:13:79;783:99;;155:32:80;;;;;;;;;;;;;;;17140:704:36;;;;;;:::i;:::-;;:::i;20274:415::-;;;;;;:::i;:::-;;:::i;1075:178:79:-;;;;;;;;;;-1:-1:-1;1075:178:79;;;;;:::i;:::-;;:::i;11106:219:36:-;;;;;;;;;;-1:-1:-1;11106:219:36;;;;;:::i;:::-;;:::i;2700:225:28:-;2838:7;:5;:7::i;:::-;2885:8;2804:103;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2804:103:28;;;;;;;;;;-1:-1:-1;;;2777:141:28;;;;;;;:::i;:::-;;;;;;;;19497:383:64;19614:12;;;19624:1;19614:12;;;;;;;;;19567:13;;19596:15;;19614:12;;;;;;;;;;;-1:-1:-1;;19596:30:64;-1:-1:-1;19636:8:64;19653:7;19658:2;19653;:7;:::i;:::-;19647:19;;19664:2;19647:19;:::i;:::-;19636:30;-1:-1:-1;19676:8:64;19693:7;19698:2;19693;:7;:::i;:::-;19687:19;;19704:2;19687:19;:::i;:::-;19676:30;;19725:2;19720;:7;;;19716:32;;;19741:7;19747:1;19741:7;;:::i;:::-;;;19716:32;19767:2;19762;:7;;;19758:32;;;19783:7;19789:1;19783:7;;:::i;:::-;;;19758:32;19815:2;19808:10;;19800:2;19803:1;19800:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;19800:18:64;;;;;;;;;19843:2;19836:10;;19828:2;19831:1;19828:5;;;;;;;;:::i;:::-;;;;:18;-1:-1:-1;;;;;19828:18:64;;;;;;;;-1:-1:-1;19870:2:64;;19497:383;-1:-1:-1;;;;19497:383:64:o;28848:140:36:-;-1:-1:-1;;;;;1197:22:41;;28917:4:36;1197:22:41;;;:16;:22;;;;;;;;28940:41:36;28933:48;28848:140;-1:-1:-1;;28848:140:36:o;3077:896:37:-;3221:7;;3361:23;3365:19;3361:1;:23;:::i;:::-;3303:81;;:39;:81;:::i;:::-;3244:150;;3441:37;3421:17;:57;;;:170;;;-1:-1:-1;3554:37:37;3498:53;;;;:33;:53;:::i;:::-;:93;3421:170;3404:563;;;3641:69;3673:37;3641:9;:69;:::i;:::-;3616:108;;;;;3404:563;3839:81;;;;:33;:81;:::i;:::-;3780:162;;:9;:162;:::i;3404:563::-;3234:739;3077:896;;;;:::o;26837:1625:36:-;26989:20;2880:102;-1:-1:-1;;;;;;;;;;;2902:11:36;2924:10;2902:33;;;;:21;;;;;:33;;;;;;;;;;2880:102;;;;;;;;;;;-1:-1:-1;;;2880:102:36;;;;;;;2902:33;;;2880:8;:102::i;:::-;27031:7:::1;27025:1183;27044:25:::0;;::::1;27025:1183;;;27199:27;27113:62;27149:13;;27163:2;27149:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27113:35;:62::i;:::-;:113;;;;;;;;:::i;:::-;;27092:1106;;27264:176;27302:13;;27316:2;27302:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;27349:73;::::0;-1:-1:-1;;;27349:73:36;;27302:25;::::1;::::0;27349:19:::1;::::0;:44:::1;::::0;:73:::1;::::0;27394:27:::1;::::0;27349:73:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;27349:73:36::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;27264:176;;;;;;;:::i;:::-;;;;;;;;27092:1106;;;27482:13;;27496:2;27482:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;:43;;::::0;;:117:::1;;;27549:13;;27563:2;27549:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;:50:::0;;-1:-1:-1;27482:117:36::1;27461:737;;;27637:232;27675:13;;27689:2;27675:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;27772:7;:5;:7::i;:::-;27730:120;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;27730:120:36;;::::1;::::0;;;;;;;27637:232:::1;::::0;;::::1;:::i;27461:737::-;27924:259;27960:13;;27974:2;27960:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:25;28007:13:::0;;28021:2;28007:17;;::::1;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;;;;;::::1;;;:::i;:::-;28067:13;;28081:2;28067:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;;;28127:13;;28141:2;28127:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:38;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;27924:14;:259::i;:::-;27908:275;::::0;;::::1;:::i;:::-;;;27461:737;27071:5;;27025:1183;;;-1:-1:-1::0;28316:16:36;;28312:144:::1;;28348:97;28390:10;28419:12;28348:16;:97::i;9563:389::-:0;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9674:14:36;9690:30;;2349:45;2385:8;2349:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2345:169;;2425:53;;-1:-1:-1;;;2425:53:36;;2417:62;;2425:19;;:44;;:53;;2470:7;;2425:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2425:53:36;;;;;;;;;;;;:::i;:::-;2417:7;:62::i;:::-;2345:169;;;9744:14:::1;2640:136;2676:46;2713:8;2676:36;:46::i;:::-;:56:::0;2640:136:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2640:136:36::1;::::0;::::1;::::0;-1:-1:-1;;;;;2676:56:36;;::::1;2662:10;:70;::::0;2640:8:::1;:136::i;:::-;9839:45:::2;9869:14;9839:29;:45::i;:::-;9827:66;::::0;;::::2;::::0;::::2;::::0;;9839:54:::2;::::0;::::2;9827:66:::0;;-1:-1:-1;;;;;9827:66:36;::::2;::::0;;-1:-1:-1;;;9827:66:36;::::2;-1:-1:-1::0;;;;;9827:66:36::2;;::::0;::::2;::::0;-1:-1:-1;;;9827:66:36;::::2;;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;::::2;::::0;::::2;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;9910:11;-1:-1:-1::0;;;;;;;;;;;1067:28:41;2118:133:28;9910:11:36::2;:35;::::0;;;:19:::2;::::0;;::::2;:35;::::0;;;;9903:42;;;9910:35;;;;;9903:42:::2;::::0;;::::2;9910:35:::0;9903:42:::2;:::i;:::-;-1:-1:-1::0;9903:42:36::2;;::::0;::::2;::::0;;;::::2;::::0;;::::2;::::0;;-1:-1:-1;;9903:42:36;;;::::2;::::0;::::2;::::0;;;;;;;;;;::::2;::::0;;;;::::2;:::i;:::-;;;;;2504:1:::1;2345:169:::0;9563:389;;;;;:::o;10663:211::-;10769:23;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10769:23:36;10815:52;10852:14;10815:36;:52::i;:::-;10808:59;;;;;;;;;;-1:-1:-1;;;;;10808:59:36;;;;-1:-1:-1;;;10808:59:36;;;;;;;;-1:-1:-1;;;10808:59:36;;-1:-1:-1;;;;;10808:59:36;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10808:59:36;;;-1:-1:-1;;10808:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10808:59:36;;;;;;;;;;;;-1:-1:-1;;10663:211:36:o;11778:222::-;11888:23;11934:59;11978:14;11934:43;:59::i;29683:334::-;1531:13:1;:11;:13::i;:::-;29807:7:36::1;29802:166;29825:12;:19;29820:2;:24;29802:166;;;29867:17;29887:12;29900:2;29887:16;;;;;;;;:::i;:::-;;;;;;;29867:36;;29952:5;29917:11;-1:-1:-1::0;;;;;;;;;;;1067:28:41;2118:133:28;29917:11:36::1;-1:-1:-1::0;;;;;29917:32:36;;;::::1;;::::0;;;:21:::1;::::0;;::::1;:32;::::0;;;;;:40;;-1:-1:-1;;29917:40:36::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;29846:5:36::1;29802:166;;;;29982:28;29997:12;29982:28;;;;;;:::i;:::-;;;;;;;;29683:334:::0;:::o;15223:558::-;15495:22;15406:42;4379:11:37;15438:9:36;15406:15;:42::i;:::-;1825:94;1865:8;4557:9:37;1847:14:36;:26;;1825:94;;;;;;;;;;;;;-1:-1:-1;;;1825:94:36;;;:8;:94::i;:::-;1930;1970:13;:8;1981:2;1970:13;:::i;:::-;4557:9:37;1952:31:36;;1930:94;;;;;;;;;;;;;-1:-1:-1;;;1930:94:36;;;:8;:94::i;:::-;15467:9:::1;2108:81;2130:21;2147:3;2130:16;:21::i;:::-;2108:81;;;;;;;;;;;;;-1:-1:-1::0;;;2108:81:36::1;;::::0;:8:::1;:81::i;:::-;15550:38:::2;15564:9;15575;15586:1;15550:13;:38::i;:::-;15533:55:::0;-1:-1:-1;15673:101:36::2;15533:55:::0;4557:9:37;15755::36::2;15673:101;;;;;;;;:::i;:::-;;;;;;;;2034:1:::1;15223:558:::0;;;;;:::o;6259:1577::-;6349:14;1710:6:1;-1:-1:-1;;;;;1710:6:1;6383:30:36;1710:6:1;6424:603:36;;6520:29;6603:9;6592:39;;;;;;;;;;;;:::i;:::-;6563:68;;-1:-1:-1;6563:68:36;-1:-1:-1;6645:26:36;6563:68;6645:18;:26::i;:::-;6712:16;6701:41;;;;;;;;;;;;:::i;:::-;6685:57;;6450:303;6424:603;;;6815:93;6855:6;-1:-1:-1;;;;;6841:20:36;:10;-1:-1:-1;;;;;6841:20:36;;6815:93;;;;;;;;;;;;;-1:-1:-1;;;6815:93:36;;;:8;:93::i;:::-;6993:9;6982:34;;;;;;;;;;;;:::i;:::-;6966:50;;6424:603;7054:22;;:36;;;;:92;;-1:-1:-1;7110:22:36;;1697:5:83;1748:18;7110:36:36;7054:92;7037:172;;;7171:27;;;;;;;;;;;;;;-1:-1:-1;;;7171:27:36;;;:7;:27::i;:::-;1697:5:83;1748:18;7218:22:36;:35;7264:100;;;;;;;;;;;;-1:-1:-1;;;7264:100:36;;;;;;7294:9;-1:-1:-1;;;;;7286:30:36;;:34;;;7264:8;:100::i;:::-;7374:128;-1:-1:-1;;;;;;;;7396:60:36;;:9;-1:-1:-1;;;;;7396:15:36;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7396:60:36;;;7374:128;;;;;;;;;;;;;-1:-1:-1;;;7374:128:36;;;:8;:128::i;:::-;7512:181;7573:4;-1:-1:-1;;;;;7534:44:36;7542:9;-1:-1:-1;;;;;7542:16:36;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7534:44:36;;:115;;;;;7640:8;-1:-1:-1;;;;;7599:50:36;7607:9;-1:-1:-1;;;;;7607:18:36;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7599:50:36;;7534:115;7512:181;;;;;;;;;;;;;-1:-1:-1;;;7512:181:36;;;:8;:181::i;:::-;7737:29;7752:13;7737:14;:29::i;:::-;1697:5:83;1748:18;1496:5;-1:-1:-1;;;;;7782:47:36;7791:6;-1:-1:-1;;;;;7782:47:36;;7819:9;:7;:9::i;:::-;7782:47;;;;;;:::i;:::-;;;;;;;;6339:1497;;6259:1577;:::o;22765:251::-;22943:66;;-1:-1:-1;;;22943:66:36;;22895:25;;22943:19;;:45;;:66;;22989:8;;22999:9;;;;22943:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22943:66:36;;;;;;;;;;;;:::i;:::-;22936:73;22765:251;-1:-1:-1;;;22765:251:36:o;29257:148::-;1531:13:1;:11;:13::i;:::-;29372:26:36::1;29387:10;29372:14;:26::i;:::-;29257:148:::0;:::o;2118:133:28:-;2175:13;2207:37;2217:26;2207:9;:37::i;:::-;2200:44;;2118:133;:::o;13788:404:36:-;13909:37;13999:15;-1:-1:-1;;;;;13972:50:36;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13972:50:36;;13962:60;;14037:8;14032:154;14051:28;;;14032:154;;;14118:57;14154:15;;14170:3;14154:20;;;;;;;:::i;:::-;;;;;;;14118:35;:57::i;:::-;14103:7;14111:3;14103:12;;;;;;;;:::i;:::-;;;;;;:72;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;14081:6:36;;14032:154;;1253:145:71;1531:13:1;:11;:13::i;:::-;1339:9:71::1;:51:::0;;-1:-1:-1;;;;;;1339:51:71::1;-1:-1:-1::0;;;;;1339:51:71;;;::::1;::::0;;;::::1;::::0;;1253:145::o;23662:791:36:-;23962:7;2880:102;-1:-1:-1;;;;;;;;;;;2902:11:36;2118:133:28;2880:102:36;23900:14;23916:27:::1;::::0;2349:45:::1;2385:8;2349:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2345:169;;2425:53;::::0;-1:-1:-1;;;2425:53:36;;2417:62:::1;::::0;2425:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2470:7;;2425:53:::1;;;:::i;2417:62::-;2345:169;;;24021:110:::2;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;24021:110:36::2;::::0;::::2;::::0;::::2;::::0;24043:39;;::::2;::::0;24021:8:::2;:110::i;:::-;24266:180;24303:14;24338:15;24368:27;24409;;24266:23;:180::i;:::-;24259:187;;2504:1;2992::::1;;23662:791:::0;;;;;;:::o;7920:265::-;7993:4;1942:11:83;8118:50:36;;;;;8163:5;-1:-1:-1;;;;;8152:16:36;:7;1684::1;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;8152:7:36;-1:-1:-1;;;;;8152:16:36;;8009:169;7920:265;-1:-1:-1;;7920:265:36:o;13577:205::-;13681:20;13724:51;13760:14;13724:35;:51::i;2293:101:1:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1670:239:79:-;862:13;;735:10:3;;-1:-1:-1;;;;;862:13:79;1765:24;;1761:106;;1805:51;;-1:-1:-1;;;1805:51:79;;30155:2:84;1805:51:79;;;30137:21:84;30194:2;30174:18;;;30167:30;30233:34;30213:18;;;30206:62;-1:-1:-1;;;30284:18:84;;;30277:39;30333:19;;1805:51:79;29953:405:84;1761:106:79;1876:26;1895:6;1876:18;:26::i;2436:359:37:-;2565:7;2758:2;2710:19;;;;:44;;2736:18;2753:1;2736:14;:18;:::i;:::-;2710:44;;;2732:1;2710:44;2709:51;;;;:::i;:::-;2705:55;;:1;:55;:::i;:::-;2661:117;;;;:19;:117;:::i;:::-;2621:157;;:21;:157;:::i;:::-;2595:193;;:9;:193;:::i;12173:234:36:-;12296:12;12331:53;12369:14;12331:37;:53::i;:::-;:69;;12324:76;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12173:234;;;:::o;21240:1314::-;21491:17;21510;21548:8;21543:1005;21562:28;;;21543:1005;;;21679:27;21618:57;21654:15;;21670:3;21654:20;;;;;;;:::i;21618:57::-;:88;;;;;;;;:::i;:::-;;21614:924;;21726:34;21763:58;21800:15;;21816:3;21800:20;;;;;;;:::i;:::-;;;;;;;21763:36;:58::i;:::-;21852:19;;;;-1:-1:-1;21839:32:36;;-1:-1:-1;;;21852:19:36;;-1:-1:-1;;;;;21852:19:36;21839:32;;:::i;:::-;21893:21;;21839:32;;-1:-1:-1;;;;21893:21:36;;;;:25;21889:550;;21996:21;;21955:63;;21983:11;;-1:-1:-1;;;21996:21:36;;;;21955:27;:63::i;:::-;21942:76;;;;:::i;:::-;;;21889:550;;;22069:19;;;;:33;22065:356;;22143:49;22159:11;22172:9;:19;;;22143:15;:49::i;22065:356::-;22358:39;22374:11;22394:1;22358:15;:39::i;:::-;22345:52;;;;:::i;:::-;;;22065:356;22510:13;22470:37;:9;:19;;:35;:37::i;:::-;-1:-1:-1;;;;;22470:53:36;;;;;:::i;:::-;22456:67;;;;:::i;:::-;;;21708:830;21614:924;21592:6;;21543:1005;;;;21240:1314;;;;;;;;;:::o;8798:405::-;8967:49;;-1:-1:-1;;;8967:49:36;;;;;2495:25:84;;;8920:7:36;;;;-1:-1:-1;;;;;8967:8:36;:40;;;;2468:18:84;;8967:49:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8943:73;;9026:78;9065:1;9048:14;:18;;;9026:78;;;;;;;;;;;;;-1:-1:-1;;;9026:78:36;;;:8;:78::i;:::-;9121:75;9150:8;9172:14;9121:15;:75::i;:::-;9114:82;8798:405;-1:-1:-1;;;;8798:405:36:o;19207:830::-;19650:22;19479:10;19491:22;1594:166;1616:17;;:21;;;;:77;;-1:-1:-1;1641:52:36;;-1:-1:-1;;;1641:52:36;;1687:4;1641:52;;;10550:51:84;-1:-1:-1;;;;;1641:37:36;;;;;10523:18:84;;1641:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1616:102;;;;;1717:1;1697:17;:21;;;1616:102;1594:166;;;;;;;;;;;;;-1:-1:-1;;;1594:166:36;;;:8;:166::i;:::-;19535:68:::1;4379:11:37::0;19563:14:36::1;19580:22;19535:27;:68::i;:::-;1825:94;1865:8:::0;4557:9:37;1847:14:36::1;4439:134:37::0;1825:94:36::1;1930;1970:13;:8:::0;1981:2:::1;1970:13;:::i;1930:94::-;19622:9:::2;2108:81;2130:21;2147:3;2130:16;:21::i;2108:81::-;19705:106:::3;19740:1;19756:9:::0;19779:22;19705:13:::3;:106::i;:::-;19688:123;;19891:24;;19821:52;19858:14;19821:36;:52::i;:::-;:67;;::::0;:94:::3;::::0;;:67;:94:::3;:::i;:::-;-1:-1:-1::0;19930:100:36::3;19955:14:::0;4557:9:37;20011::36::3;19930:100;;;;;;;;:::i;:::-;;;;;;;;2034:1:::2;1762::::1;19207:830:::0;;;;;;;;:::o;12576:951::-;-1:-1:-1;;;;;;;;;;;;;;;;;12733:31:36;12767:59;12811:14;12767:43;:59::i;:::-;12733:93;;12840:15;:29;12870:7;12879:53;12917:14;12879:37;:53::i;:::-;:69;;12840:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12840:109:36;;;;;;;;;;;;:::i;:::-;;;12836:685;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;13129:169;;;;;;;;;;-1:-1:-1;13129:169:36;;;;13274:7;13236:46;;;;;;;;:::i;:::-;;;;-1:-1:-1;;13236:46:36;;;;;;;;;13129:169;;13122:176;12576:951;-1:-1:-1;;;;12576:951:36:o;12836:685::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13360:150:36;;;;;;;;;;-1:-1:-1;13360:150:36;;;;;;;;;;;;;;;;;;;;;;;13353:157;12576:951;-1:-1:-1;;;;12576:951:36:o;12836:685::-;12723:804;12576:951;;;:::o;10040:184::-;10138:21;;:::i;:::-;10182:35;;;;-1:-1:-1;;;;;;;;;;;10182:35:36;;;;;;;10175:42;;;;;;;;;-1:-1:-1;;;;;10175:42:36;;;;;;;;-1:-1:-1;;;10175:42:36;;;;;;;;-1:-1:-1;;;10175:42:36;;-1:-1:-1;;;;;10175:42:36;;;;;10182:19;10175:42;;;;;;;;;;10182:35;;10175:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10175:42:36;;;-1:-1:-1;;10175:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10175:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10175:42:36;;;;-1:-1:-1;;;10175:42:36;;;;;;;;;-1:-1:-1;;;10175:42:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10175:42:36;;;;-1:-1:-1;;;10175:42:36;;-1:-1:-1;10175:42:36;10040:184;-1:-1:-1;;10040:184:36:o;25180:1008::-;25537:7;2880:102;-1:-1:-1;;;;;;;;;;;2902:11:36;2118:133:28;2880:102:36;25475:14;25491:27:::1;::::0;2349:45:::1;2385:8;2349:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2345:169;;2425:53;::::0;-1:-1:-1;;;2425:53:36;;2417:62:::1;::::0;2425:19:::1;::::0;:44:::1;::::0;:53:::1;::::0;2470:7;;2425:53:::1;;;:::i;2417:62::-;2345:169;;;25590:160:::2;25642:1;25612:27;:31;;;:98;;;;;25695:15;25664:27;:46;;;;25612:98;25590:160;;;;;;;;;;;;;-1:-1:-1::0;;;25590:160:36::2;;::::0;:8:::2;:160::i;:::-;25795:110;::::0;;;;::::2;::::0;;;::::2;::::0;;-1:-1:-1;;;25795:110:36::2;::::0;::::2;::::0;::::2;::::0;25817:39;;::::2;::::0;25795:8:::2;:110::i;:::-;25997:184;26034:14;26062:27;26103;26144;;25997:23;:184::i;:::-;25989:192;;2504:1;2992::::1;;25180:1008:::0;;;;;;;:::o;652:133:37:-;739:39;;;;;;;;;;;;;;;;;;652:133::o;14281:140:36:-;14363:7;-1:-1:-1;;;;;;;;;;;14393:17:36;:21;;14413:1;14393:21;:::i;17140:704::-;17561:22;17390:10;17402:22;1594:166;1616:17;;:21;;;;:77;;-1:-1:-1;1641:52:36;;-1:-1:-1;;;1641:52:36;;1687:4;1641:52;;;10550:51:84;-1:-1:-1;;;;;1641:37:36;;;;;10523:18:84;;1641:52:36;10404:203:84;1594:166:36;17446:68:::1;4379:11:37::0;17474:14:36::1;4261:136:37::0;17446:68:36::1;1825:94;1865:8:::0;4557:9:37;1847:14:36::1;4439:134:37::0;1825:94:36::1;1930;1970:13;:8:::0;1981:2:::1;1970:13;:::i;1930:94::-;17533:9:::2;2108:81;2130:21;2147:3;2130:16;:21::i;2108:81::-;17616:105:::3;17643:9;17666;17689:22;17616:13;:105::i;:::-;17599:122:::0;-1:-1:-1;17736:101:36::3;17599:122:::0;4557:9:37;17818::36::3;17736:101;;;;;;;;:::i;:::-;;;;;;;;2034:1:::2;1762::::1;17140:704:::0;;;;;;;:::o;20274:415::-;20402:14;20418:27;;2349:45;2385:8;2349:35;:45::i;:::-;:56;;;;;;;;:::i;:::-;;2345:169;;2425:53;;-1:-1:-1;;;2425:53:36;;2417:62;;2425:19;;:44;;:53;;2470:7;;2425:53;;;:::i;2417:62::-;20274:415;;;:::o;2345:169::-;20461:34:::1;20498:52;20535:14;20498:36;:52::i;:::-;20461:89:::0;-1:-1:-1;4557:9:37;20560:45:36;;;;:19:::1;::::0;:45:::1;::::0;;;-1:-1:-1;;;20560:45:36;::::1;-1:-1:-1::0;;;;;20560:45:36::1;;:::i;:::-;::::0;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;20560:45:36;;::::1;;::::0;;::::1;::::0;;::::1;;;::::0;;;20662:19;;20620:62:::1;::::0;;37436:25:84;;;-1:-1:-1;;;20662:19:36;;::::1;::::0;;::::1;37492:2:84::0;37477:18;;37470:61;20620:62:36::1;::::0;-1:-1:-1;37409:18:84;20620:62:36::1;;;;;;;20451:238;20274:415:::0;;;:::o;1075:178:79:-;1531:13:1;:11;:13::i;:::-;1164::79::1;:24:::0;;-1:-1:-1;;;;;1164:24:79;::::1;-1:-1:-1::0;;;;;;1164:24:79;;::::1;::::0;::::1;::::0;;;1228:7:::1;1684::1::0;1710:6;-1:-1:-1;;;;;1710:6:1;;1638:85;1228:7:79::1;-1:-1:-1::0;;;;;1203:43:79::1;;;;;;;;;;;1075:178:::0;:::o;11106:219:36:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11265:53:36;11303:14;11265:37;:53::i;:::-;11258:60;;;;;;;;;;-1:-1:-1;;;;;11258:60:36;;;;-1:-1:-1;;;11258:60:36;;-1:-1:-1;;;;;11258:60:36;;;;;-1:-1:-1;;;11258:60:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11106:219;;;:::o;2499:195:28:-;2634:10;2629:59;;2660:17;2668:8;2660:7;:17::i;:::-;2499:195;;:::o;1833:604:41:-;1898:20;1963:23;;;-1:-1:-1;;;;;;;;;;;1963:23:41;;;;;2000:16;;;:32;-1:-1:-1;;;2000:32:41;;;;:37;1996:435;;2073:16;;;:25;-1:-1:-1;;;2073:25:41;;-1:-1:-1;;;;;2073:25:41;2057:12;:41;2053:192;;-1:-1:-1;2125:30:41;;1833:604;-1:-1:-1;;1833:604:41:o;2053:192::-;-1:-1:-1;2201:29:41;;1833:604;-1:-1:-1;;1833:604:41:o;1996:435::-;2265:25;;-1:-1:-1;;;;;2265:25:41;:39;2261:170;;-1:-1:-1;2327:27:41;;1833:604;-1:-1:-1;;1833:604:41:o;2261:170::-;-1:-1:-1;2392:28:41;;1833:604;-1:-1:-1;;1833:604:41:o;31272:2855:36:-;31538:18;31644:34;31681:52;31718:14;31681:36;:52::i;:::-;31807:19;;-1:-1:-1;;;;;31914:23:36;;;;;-1:-1:-1;;;31807:19:36;;;-1:-1:-1;;;;;31807:19:36;;-1:-1:-1;31807:19:36;;-1:-1:-1;;;;32005:21:36;;;;:25;32001:2120;;32416:19;;32064:29;;;;;;32209:279;;32249:14;;32209:279;;;;32326:27;;32371;;;;-1:-1:-1;;;;;32416:19:36;;;-1:-1:-1;;;32453:21:36;;;;32209:22;:279::i;:::-;32046:442;;;;;;32506:19;32502:767;;;32602:161;;;37744:25:84;;;4379:11:37;37800:2:84;37785:18;;37778:34;37828:18;;;37821:34;;;32602:161:36;;;;;;;37732:2:84;32602:161:36;;;32502:767;;;32851:403;32906:14;32942:27;;4379:11:37;33027:21:36;33112:1;33076:25;33070:39;:43;:166;;;;;;;;;;;;;;;;;;;;;;33141:25;33070:166;32851:403;;;;;;;;;;;:::i;:::-;;;;;;;;32502:767;33468:182;33506:14;33539:27;33585;33468:182;;;;;;;;;;;;:20;:182::i;:::-;32032:1629;;;32001:2120;;;33728:98;33765:14;4379:11:37;33728:98:36;;;15434:25:84;;;15490:2;15475:18;;15468:34;;;;15407:18;33728:98:36;;;;;;;33909:201;33947:14;33979:27;34024;34069;;33909:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33909:20:36;;-1:-1:-1;;;33909:201:36:i;:::-;31562:2565;31272:2855;;;;;;;:::o;4709:157:37:-;4829:30;;-1:-1:-1;;;;;4829:21:37;;;:30;;;;;4851:7;;4829:30;;;;4851:7;4829:21;:30;;;;;;;;;;;;;;;;;;;1463:149:41;1530:24;1573;;;-1:-1:-1;;;;;;;;;;;1573:24:41;;;;;;1463:149::o;2443:1130::-;2516:23;2551:33;2587:24;2603:7;2587:15;:24::i;:::-;2551:60;-1:-1:-1;2641:30:41;2625:12;:46;;;;;;;;:::i;:::-;;2621:946;;2687:26;2716:23;;;-1:-1:-1;;;;;;;;;;;2716:23:41;;;;;:48;;2782:19;;2716:48;;2687:26;2716:48;;2782:19;;;:::i;:::-;;;:23;2778:471;;;2922:15;;-1:-1:-1;;;2941:12:41;2922;;2935:1;;2922:15;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2922:15:41;-1:-1:-1;;;;;2922:31:41;;;:136;;3029:29;2922:136;;;2976:29;2914:162;2443:1130;-1:-1:-1;;;;2443:1130:41:o;2778:471::-;-1:-1:-1;3201:33:41;;2443:1130;-1:-1:-1;;;2443:1130:41:o;2621:946::-;3285:27;3269:12;:43;;;;;;;;:::i;:::-;;3265:302;;-1:-1:-1;3335:32:41;;2443:1130;-1:-1:-1;;2443:1130:41:o;3265:302::-;3404:29;3388:12;:45;;;;;;;;:::i;:::-;;3384:183;;-1:-1:-1;3456:34:41;;2443:1130;-1:-1:-1;;2443:1130:41:o;1796:162:1:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:1;735:10:3;1855:23:1;1851:101;;1901:40;;-1:-1:-1;;;1901:40:1;;735:10:3;1901:40:1;;;10550:51:84;10523:18;;1901:40:1;10404:203:84;3011:215:70;3074:4;;3111:24;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3111:28:70;;:70;;;;-1:-1:-1;3180:1:70;3160:17;;;;:3;:17;:::i;:::-;:21;;;3111:70;:98;;;;-1:-1:-1;3206:3:70;3185:17;;;;:3;:17;:::i;:::-;:24;;;;3090:129;3011:215;-1:-1:-1;;3011:215:70:o;30571:695:36:-;30713:22;-1:-1:-1;;;;;;;;;;;30768:20:36;;30771:17;;30768:20;;;:::i;:::-;;;;;-1:-1:-1;30768:20:36;-1:-1:-1;30836:34:36;30873:52;30768:20;30873:36;:52::i;:::-;30944:19;;30935:61;;;;;;;;;;;;-1:-1:-1;;;30935:61:36;;;;30944:19;;-1:-1:-1;30935:61:36;;-1:-1:-1;;;;;30944:19:36;;;:33;;30935:8;:61::i;:::-;31020:32;;4557:9:37;-1:-1:-1;;;;;31121:44:36;-1:-1:-1;;;31121:44:36;-1:-1:-1;;;;;;31066:41:36;;;31042:10;-1:-1:-1;;;;31066:41:36;;-1:-1:-1;;;31066:41:36;;;;;-1:-1:-1;;;;;31121:44:36;;;;31179:19;;;:30;;;31245:4;31223:19;;;:26;31245:4;31223:19;:26;:::i;:::-;;;;30741:525;30571:695;;;;;:::o;1437:153:79:-;1526:13;1519:20;;-1:-1:-1;;;;;;1519:20:79;;;1549:34;1574:8;1549:24;:34::i;37747:298:36:-;37844:7;37839:161;37862:10;:17;37857:2;:22;37839:161;;;37902:17;37922:10;37933:2;37922:14;;;;;;;;:::i;:::-;;;;;;;37902:34;;37985:4;37950:11;-1:-1:-1;;;;;;;;;;;1067:28:41;2118:133:28;37950:11:36;-1:-1:-1;;;;;37950:32:36;;;;;;;;:21;;;;:32;;;;;;:39;;-1:-1:-1;;37950:39:36;;;;;;;;;;-1:-1:-1;37881:5:36;37839:161;;;;38014:24;38027:10;38014:24;;;;;;:::i;2969:360:28:-;3045:13;3074:19;3106:25;3122:8;3106:15;:25::i;:::-;-1:-1:-1;;;;;3096:36:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3096:36:28;;3074:58;;3147:7;3142:150;3165:6;:13;3160:2;:18;3142:150;;;3208:8;3217:2;3208:12;;;;;;;:::i;:::-;;;;3195:6;3202:2;3195:10;;;;;;;;:::i;:::-;;;;:25;-1:-1:-1;;;;;3195:25:28;;;;;;;;-1:-1:-1;3262:5:28;;3142:150;;34133:639:36;34408:18;34455:178;34483:14;34512:27;34554;34596;;34455:14;:178::i;:::-;34442:191;;34682:83;34720:10;34745;34682:16;:83::i;:::-;34133:639;;;;;;;:::o;1675:152:41:-;1743:25;1787:24;;;-1:-1:-1;;;;;;;;;;;1787:24:41;;;;;:33;;;1675:152::o;3658:155:70:-;3783:18;;3729:6;;3783:22;;:18;;3804:1;3783:22;:::i;:::-;3754:25;;:52;;;;;:25;;;-1:-1:-1;;;;;3754:25:70;:52;:::i;34778:2963:36:-;35142:29;35186:24;35225:39;35313:9;35289:33;-1:-1:-1;;;;35336:27:36;;35364:1;35336:30;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;35336:46:36;;;35332:2359;;35398:32;35433:61;:49;35454:27;;35433:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35433:20:36;;-1:-1:-1;;;35433:49:36:i;:::-;:59;:61::i;:::-;35398:96;;35529:1;35512:7;:14;:18;35508:1586;;;35630:13;-1:-1:-1;;;;;35614:53:36;;35673:20;35716:14;35752:27;35801;35850:12;35884:31;35937:311;;;;;;;;35987:46;;;;;;;;;;;;;;;;;;;;;;;;36030:1;35987:46;;;35937:311;;;;36072:1;35937:311;;;;;;36110:1;35937:311;;;;;;36160:1;35937:311;;;;;;36192:1;-1:-1:-1;;;;;35937:311:36;;;;;36224:1;-1:-1:-1;;;;;35937:311:36;;;;35614:652;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35610:828;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;36416:3;-1:-1:-1;35508:1586:36;;35610:828;;;;;;;;;;;36311:4;36289:26;;35508:1586;;;36557:13;-1:-1:-1;;;;;36541:53:36;;36600:20;36643:14;36679:27;36728;36777:12;36835:21;:7;36843:1;36835:10;;;;;;;;:::i;:::-;;;;;;;:19;:21::i;:::-;36811:46;;;;;;;;:::i;:::-;36879:7;36887:1;36879:10;;;;;;;;:::i;:::-;;;;;;;36541:366;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36537:543;;;;:::i;:::-;36952:4;36930:26;;36537:543;35384:1720;35332:2359;;;37203:13;-1:-1:-1;;;;;37187:54:36;;37247:20;37286:14;37318:27;37363;37408:12;37438:49;37459:27;;37438:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;37438:20:36;;-1:-1:-1;;;37438:49:36:i;:::-;37187:314;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37183:498;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;37639:3;-1:-1:-1;37183:498:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37658:23;37183:498;;;37542:4;37520:26;;37183:498;37725:9;37700:34;;;;:::i;:::-;;;34778:2963;;;;;;;;;;;:::o;38273:615::-;38600:281;;;;;;;;38642:10;-1:-1:-1;;;;;38600:281:36;;;;;38683:12;-1:-1:-1;;;;;38600:281:36;;;;;38727:27;38600:281;;;;;;38785:27;38600:281;;;;38843:27;38600:281;;;38543:45;38573:14;38543:29;:45::i;:::-;:338;;:54;;;:338;;;;;;;;;;;;-1:-1:-1;;;38543:338:36;-1:-1:-1;;;;;;;;;;38543:338:36;;;-1:-1:-1;;;38543:338:36;-1:-1:-1;;;;;;38543:338:36;;;-1:-1:-1;;;;;38543:338:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:54;;:338;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;38273:615:36:o;2912:187:1:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:1;;;-1:-1:-1;;;;;;3020:17:1;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;3398:295:28:-;3480:12;3508:179;3525:2;3515:7;:12;3508:179;;;3549:8;3558:7;3549:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;3549:22:28;3545:66;3591:5;3545:66;3652:10;;3508:179;;;3398:295;;;:::o;2415:198:66:-;2488:11;;:::i;:::-;2545:32;;;;;;;;;;;;2509:33;2545:32;;;;2590:18;2545:32;2590:10;:18::i;5910:1202::-;6018:19;5981:4;1139:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;43798:4:84;43786:17;;;1763:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1763:45:66;43598:266:84;1716:99:66;6131:10:::1;6144:51;6155:4;:11;;;6168:4;:26;;;6144:10;:51::i;:::-;6131:64:::0;-1:-1:-1;6220:7:66::1;6131:64:::0;6226:1:::1;6220:7;:::i;:::-;-1:-1:-1::0;;;;;6209:19:66::1;-1:-1:-1::0;;;;;6209:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6201:27;;6239:7;6234:722;6257:3;-1:-1:-1::0;;;;;6252:8:66::1;:2;:8;6234:722;;;6327:13;:4;:11;:13::i;:::-;6320:20;;6424:11;:4;:9;:11::i;:::-;6412:5;6418:2;6412:9;;;;;;;;:::i;:::-;;;;;;:23;;;;1139:1;6447:34;;:4;:14;;;:34;;::::0;6443:507:::1;;6493:23;6519:16;:4;:14;:16::i;:::-;6493:42;;6616:9;6645:1;6626:9;:16;:20;;;;:::i;:::-;6616:31;;;;;;;;:::i;:::-;;;;;;;6609:38;;6483:173;6443:507;;;1185:1;6666:32;;:4;:14;;;:32;;::::0;6662:288:::1;;6710:23;6736:14;:4;:12;:14::i;6662:288::-;6930:11;:4;:9;:11::i;:::-;;6662:288;6262:5;;6234:722;;;;7103:4;7090:5;7096:3;-1:-1:-1::0;;;;;7090:10:66::1;;;;;;;;;:::i;:::-;;;;;;:17;;;;6041:1071;5910:1202:::0;;;;;:::o;17335:200::-;17440:4;17405;939:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;43798:4:84;43786:17;;;1763:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1763:45:66;43598:266:84;1716:99:66;17461:69:::1;17479:4;:11;;;17498:4;:26;;;17461:10;:69::i;:::-;-1:-1:-1::0;;;;;17454:76:66::1;::::0;17335:200;-1:-1:-1;;;;17335:200:66:o;2925:996::-;3032:11;;:::i;:::-;1893;;:18;3011:6;;1893:11;:23;1889:77;;1933:26;;-1:-1:-1;;;1933:26:66;;;;;;;;;;;1889:77;3053:17:::1;3094:3;3053:17:::0;-1:-1:-1;;;;;3053:17:66;3198:4:::1;3208:478;3215:8;3208:478;;;3303:18;:6;:16;:18::i;:::-;3289:32:::0;-1:-1:-1;3329:6:66;::::1;::::0;::::1;:::i;:::-;3355:16:::0;3370:1:::1;3355:16:::0;;;;;-1:-1:-1;3417:4:66::1;3403:18:::0;::::1;::::0;-1:-1:-1;3329:6:66;-1:-1:-1;;;;3466:27:66;;3462:218:::1;;3520:13;::::0;::::1;::::0;3549:41:::1;3520:6:::0;3568:21;3549:10:::1;:41::i;:::-;3543:47;;3623:7;3607:6;:13;;;:23;;;;:::i;:::-;3600:30;::::0;;::::1;:::i;:::-;;;3495:144;3208:478;;3462:218;-1:-1:-1::0;3666:5:66::1;3208:478;;;1286:1;3695:35;::::0;::::1;;3691:94;;;3747:31;::::0;-1:-1:-1;;;3747:31:66;;44228:4:84;44216:17;;3747:31:66::1;::::0;::::1;44198:36:84::0;44171:18;;3747:31:66::1;44054:186:84::0;3691:94:66::1;-1:-1:-1::0;3797:119:66::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;::::0;;;;-1:-1:-1;;;;;3797:119:66;;::::1;::::0;;;;::::1;::::0;;;;-1:-1:-1;3797:119:66;;2925:996;-1:-1:-1;2925:996:66:o;8569:671::-;8703:6;8747:2;8723:21;:26;;;8719:75;;;-1:-1:-1;8759:28:66;;;;;8719:75;8803:21;:27;;8828:2;8803:27;8799:73;;8847:18;:6;:16;:18::i;:::-;8840:25;;;;;;8799:73;8881:21;:27;;8906:2;8881:27;8877:74;;8925:19;:6;:17;:19::i;:::-;8918:26;;;;;;8877:74;8960:21;:27;;8985:2;8960:27;8956:74;;9004:19;:6;:17;:19::i;:::-;8997:26;;;;;;8956:74;9039:21;:27;;9064:2;9039:27;9035:74;;9083:19;:6;:17;:19::i;:::-;9076:26;;;;9035:74;9118:21;:27;;9143:2;9118:27;9114:65;;-1:-1:-1;;;;;;9155:17:66;;9114:65;9191:44;;-1:-1:-1;;;9191:44:66;;44228:4:84;44216:17;;9191:44:66;;;44198:36:84;44171:18;;9191:44:66;44054:186:84;4262:199:66;4331:22;;:::i;:::-;2086:11;;:16;;:23;2064:18;;;;;:45;;4363:94;;4406:11;;4395:23;;:10;:23::i;4363:94::-;-1:-1:-1;4446:4:66;4262:199::o;3925:333::-;3999:22;;:::i;:::-;4038:215;;;;;;;;;4059:11;;-1:-1:-1;;;;;;;;;;;;;;2694:52:65;;;;;;;;2708:11;;2694:52;;-1:-1:-1;2727:13:65;;;;2694:52;;;;4038:215:66;;;;;;;4098:4;:16;;;4038:215;;;;;;4133:4;:14;;;4038:215;;;;;;4178:4;:26;;;4038:215;;;;;;4217:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;;4238:4;:8;;;-1:-1:-1;;;;;4038:215:66;;;;4031:222;;3925:333;;;:::o;7116:1279::-;7220:19;7185:4;1185:1;1738:8;1720:26;;:4;:14;;;:26;;;1716:99;;1783:14;;;;;1763:45;;-1:-1:-1;;;1763:45:66;;43798:4:84;43786:17;;;1763:45:66;;;43768:36:84;43840:17;;;43820:18;;;43813:45;43741:18;;1763:45:66;43598:266:84;1716:99:66;7349:10:::1;7362:51;7373:4;:11;;;7386:4;:26;;;7362:10;:51::i;:::-;:55;::::0;7416:1:::1;7362:55;:::i;:::-;7349:68:::0;-1:-1:-1;7442:7:66::1;7349:68:::0;7448:1:::1;7442:7;:::i;:::-;-1:-1:-1::0;;;;;7431:19:66::1;-1:-1:-1::0;;;;;7431:19:66::1;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;7423:27;;7461:7;7456:783;7479:3;-1:-1:-1::0;;;;;7474:8:66::1;:2;:8;7456:783;;;7549:13;:4;:11;:13::i;:::-;7542:20;;7646:11;:4;:9;:11::i;:::-;7634:5;7640:2;7634:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;:23;7669:6:::1;7674:1;7669:2:::0;:6:::1;:::i;:::-;:11:::0;:50;::::1;;;-1:-1:-1::0;7684:14:66::1;::::0;::::1;::::0;:35:::1;;1091:1;7684:35;;7669:50;7665:568;;;7758:14;::::0;;::::1;::::0;7738:54;;-1:-1:-1;;;7738:54:66;;43798:4:84;43786:17;;;7738:54:66::1;::::0;::::1;43768:36:84::0;1091:1:66::1;43820:18:84::0;;;43813:45;43741:18;;7738:54:66::1;43598:266:84::0;7665:568:66::1;7811:14;::::0;::::1;::::0;:34:::1;;1139:1;7811:34;::::0;:70:::1;;-1:-1:-1::0;7849:14:66::1;::::0;::::1;::::0;:32:::1;;1185:1;7849:32;7811:70;7807:426;;;7920:14;::::0;::::1;::::0;7893:23:::1;::::0;7920:34:::1;;1139:1;7920:34;:94;;8000:14;:4;:12;:14::i;:::-;7920:94;;;7969:16;:4;:14;:16::i;:::-;7893:131;;8112:9;8141:1;8122:9;:16;:20;;;;:::i;:::-;8112:31;;;;;;;;:::i;:::-;;;;;;;8105:38;;7883:269;7807:426;;;8213:11;:4;:9;:11::i;:::-;;7807:426;7484:5;;7456:783;;4465:1100:::0;4532:22;;:::i;:::-;4575:14;;;;:32;;;;:85;;-1:-1:-1;4619:14:66;;;;:41;;994:1;4619:41;4575:85;:257;;;-1:-1:-1;4684:14:66;;;;:41;;1286:1;4684:41;:90;;;;;4772:2;4742:4;:26;;;:32;;;;4684:90;:138;;;;;4820:2;4790:4;:26;;;:32;;;;4684:138;4564:980;;;4869:17;:4;:15;:17::i;:::-;-1:-1:-1;;;;;4847:39:66;:4;:11;;;:18;;:39;;;;;;;:::i;:::-;;;-1:-1:-1;;4446:4:66;4262:199::o;4564:980::-;4912:14;;;;:35;;1091:1;4912:35;;:83;;-1:-1:-1;4961:14:66;;;;:34;;1042:1;4961:34;4912:83;4899:645;;;5010:10;5023:51;5034:4;:11;;;5047:4;:26;;;5023:10;:51::i;:::-;5010:64;;5104:3;-1:-1:-1;;;;;5082:25:66;:4;:11;;;:18;;:25;;;;;;;:::i;:::-;;;-1:-1:-1;4899:645:66;;-1:-1:-1;4899:645:66;;5131:14;;;;:34;;1139:1;5131:34;;:78;;-1:-1:-1;5177:14:66;;;;:32;;1185:1;5177:32;5131:78;5120:424;;;5236:51;5247:4;:11;;;5260:4;:26;;;5236:10;:51::i;:::-;-1:-1:-1;;;;;5225:62:66;:8;;;:62;-1:-1:-1;4446:4:66;4262:199::o;5120:424::-;5318:14;;;;:41;;1286:1;5318:41;;;:155;;;5383:4;:26;;;:32;;5413:2;5383:32;;:80;;;;;5431:4;:26;;;:32;;5461:2;5431:32;;5383:80;5306:238;;;5488:49;;-1:-1:-1;;;5488:49:66;;44564:2:84;5488:49:66;;;44546:21:84;44603:2;44583:18;;;44576:30;44642:34;44622:18;;;44615:62;-1:-1:-1;;;44693:18:84;;;44686:37;44740:19;;5488:49:66;44362:403:84;13332:304:65;13455:11;13407:6;:13;;;13422:6;:11;;;:18;988:6;980:5;:14;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1011:31:65;15260:248:84;976:73:65;13496:11;;13527:13:::1;::::0;::::1;::::0;;13578:25;;;13592:1:::1;13578:25:::0;13572:32;;-1:-1:-1;13527:13:65;;;13615:16:::1;13527:13:::0;13615:16:::1;:::i;:::-;;;::::0;::::1;13470:166;;13332:304:::0;;;;;:::o;13873:312::-;14001:12;13949:6;:13;;;13965:1;13949:17;;;;:::i;:::-;13968:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1011:31:65;15260:248:84;976:73:65;14043:11;;14074:13:::1;::::0;::::1;::::0;;14139:1:::1;14125:25:::0;;;;;14119:32;;-1:-1:-1;14074:13:65;;14162:18:::1;14139:1:::0;14074:13;14162:18:::1;:::i;:::-;::::0;;-1:-1:-1;13873:312:65;;;-1:-1:-1;;;;;13873:312:65:o;14422:::-;14550:12;14498:6;:13;;;14514:1;14498:17;;;;:::i;:::-;14517:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1011:31:65;15260:248:84;976:73:65;14592:11;;14623:13:::1;::::0;::::1;::::0;;14688:1:::1;14674:25:::0;;;;;14668:32;;-1:-1:-1;14623:13:65;;14711:18:::1;14688:1:::0;14623:13;14711:18:::1;:::i;14971:312::-:0;15099:12;15047:6;:13;;;15063:1;15047:17;;;;:::i;:::-;15066:11;;:18;980:14;;;976:73;;;1011:31;;-1:-1:-1;;;1011:31:65;;;;;15434:25:84;;;15475:18;;;15468:34;;;15407:18;;1011:31:65;15260:248:84;976:73:65;15141:11;;15172:13:::1;::::0;::::1;::::0;;15237:1:::1;15223:25:::0;;;;;15217:32;;-1:-1:-1;15172:13:65;;15260:18:::1;15237:1:::0;15172:13;15260:18:::1;:::i;5569:337:66:-:0;5638:6;5687:2;5658:4;:26;;;:31;;;5654:248;;;-1:-1:-1;5706:1:66;;5569:337;-1:-1:-1;5569:337:66:o;5654:248::-;5753:2;5724:4;:26;;;:31;;;5720:182;;;5814:2;5785:4;:26;;;:31;;;;:::i;:::-;5779:38;;:1;:38;;5765:53;;5569:337;;;:::o;5720:182::-;5868:26;;;;5846:49;;-1:-1:-1;;;5846:49:66;;44228:4:84;44216:17;;;5846:49:66;;;44198:36:84;44171:18;;5846:49:66;44054:186:84;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;14:250:84;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:84;238:16;;231:27;14:250::o;269:1072::-;-1:-1:-1;;;670:3:84;663:34;645:3;726:6;720:13;742:75;810:6;805:2;800:3;796:12;789:4;781:6;777:17;742:75;:::i;:::-;877:13;;836:16;;;;899:76;877:13;961:2;953:11;;946:4;934:17;;899:76;:::i;:::-;1036:13;;994:17;;;1058:76;1036:13;1120:2;1112:11;;1105:4;1093:17;;1058:76;:::i;:::-;1195:13;;1153:17;;;1217:76;1195:13;1279:2;1271:11;;1264:4;1252:17;;1217:76;:::i;:::-;1313:17;1332:2;1309:26;;269:1072;-1:-1:-1;;;;;;269:1072:84:o;1346:131::-;-1:-1:-1;;;;;1421:31:84;;1411:42;;1401:70;;1467:1;1464;1457:12;1482:247;1541:6;1594:2;1582:9;1573:7;1569:23;1565:32;1562:52;;;1610:1;1607;1600:12;1562:52;1649:9;1636:23;1668:31;1693:5;1668:31;:::i;1926:161::-;1993:20;;2053:8;2042:20;;2032:31;;2022:59;;2077:1;2074;2067:12;2092:252;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2272:9;2259:23;2249:33;;2301:37;2334:2;2323:9;2319:18;2301:37;:::i;:::-;2291:47;;2092:252;;;;;:::o;2531:387::-;2614:8;2624:6;2678:3;2671:4;2663:6;2659:17;2655:27;2645:55;;2696:1;2693;2686:12;2645:55;-1:-1:-1;2719:20:84;;-1:-1:-1;;;;;2751:30:84;;2748:50;;;2794:1;2791;2784:12;2748:50;2831:4;2823:6;2819:17;2807:29;;2891:3;2884:4;2874:6;2871:1;2867:14;2859:6;2855:27;2851:38;2848:47;2845:67;;;2908:1;2905;2898:12;2845:67;2531:387;;;;;:::o;2923:489::-;3041:6;3049;3102:2;3090:9;3081:7;3077:23;3073:32;3070:52;;;3118:1;3115;3108:12;3070:52;3158:9;3145:23;-1:-1:-1;;;;;3183:6:84;3180:30;3177:50;;;3223:1;3220;3213:12;3177:50;3262:90;3344:7;3335:6;3324:9;3320:22;3262:90;:::i;:::-;3371:8;;3236:116;;-1:-1:-1;2923:489:84;-1:-1:-1;;;;2923:489:84:o;3417:180::-;3476:6;3529:2;3517:9;3508:7;3504:23;3500:32;3497:52;;;3545:1;3542;3535:12;3497:52;-1:-1:-1;3568:23:84;;3417:180;-1:-1:-1;3417:180:84:o;3602:270::-;3643:3;3681:5;3675:12;3708:6;3703:3;3696:19;3724:76;3793:6;3786:4;3781:3;3777:14;3770:4;3763:5;3759:16;3724:76;:::i;:::-;3854:2;3833:15;-1:-1:-1;;3829:29:84;3820:39;;;;3861:4;3816:50;;3602:270;-1:-1:-1;;3602:270:84:o;3877:487::-;3993:1;3989;3984:3;3980:11;3976:19;3968:5;3962:12;3958:38;3953:3;3946:51;-1:-1:-1;;;;;4050:4:84;4043:5;4039:16;4033:23;4029:48;4022:4;4017:3;4013:14;4006:72;4139:10;4131:4;4124:5;4120:16;4114:23;4110:40;4103:4;4098:3;4094:14;4087:64;4200:4;4193:5;4189:16;4183:23;4176:4;4171:3;4167:14;4160:47;3928:3;4253:4;4246:5;4242:16;4236:23;4291:4;4284;4279:3;4275:14;4268:28;4312:46;4352:4;4347:3;4343:14;4329:12;4312:46;:::i;4369:263::-;4552:2;4541:9;4534:21;4515:4;4572:54;4622:2;4611:9;4607:18;4599:6;4572:54;:::i;4637:719::-;4752:1;4748;4743:3;4739:11;4735:19;4727:5;4721:12;4717:38;4712:3;4705:51;4817:8;4809:4;4802:5;4798:16;4792:23;4788:38;4781:4;4776:3;4772:14;4765:62;-1:-1:-1;;;;;4880:4:84;4873:5;4869:16;4863:23;4859:50;4852:4;4847:3;4843:14;4836:74;4687:3;4956:4;4949:5;4945:16;4939:23;4994:4;4987;4982:3;4978:14;4971:28;5020:46;5060:4;5055:3;5051:14;5037:12;5020:46;:::i;:::-;5008:58;;5115:4;5108:5;5104:16;5098:23;5091:4;5086:3;5082:14;5075:47;5170:4;5163:5;5159:16;5153:23;5235:4;5218:14;5212:21;5208:32;5201:4;5196:3;5192:14;5185:56;-1:-1:-1;;;;;5302:4:84;5286:14;5282:25;5276:32;5272:57;5266:3;5261;5257:13;5250:80;;5346:4;5339:11;;;4637:719;;;;:::o;5361:260::-;5542:2;5531:9;5524:21;5505:4;5562:53;5611:2;5600:9;5596:18;5588:6;5562:53;:::i;5626:127::-;5687:10;5682:3;5678:20;5675:1;5668:31;5718:4;5715:1;5708:15;5742:4;5739:1;5732:15;5758:145;5844:1;5837:5;5834:12;5824:46;;5850:18;;:::i;:::-;5879;;5758:145::o;5908:219::-;6060:2;6045:18;;6072:49;6049:9;6103:6;6072:49;:::i;6132:127::-;6193:10;6188:3;6184:20;6181:1;6174:31;6224:4;6221:1;6214:15;6248:4;6245:1;6238:15;6264:249;6374:2;6355:13;;-1:-1:-1;;6351:27:84;6339:40;;-1:-1:-1;;;;;6394:34:84;;6430:22;;;6391:62;6388:88;;;6456:18;;:::i;:::-;6492:2;6485:22;-1:-1:-1;;6264:249:84:o;6518:183::-;6578:4;-1:-1:-1;;;;;6603:6:84;6600:30;6597:56;;;6633:18;;:::i;:::-;-1:-1:-1;6678:1:84;6674:14;6690:4;6670:25;;6518:183::o;6706:1028::-;6790:6;6821:2;6864;6852:9;6843:7;6839:23;6835:32;6832:52;;;6880:1;6877;6870:12;6832:52;6920:9;6907:23;-1:-1:-1;;;;;6945:6:84;6942:30;6939:50;;;6985:1;6982;6975:12;6939:50;7008:22;;7061:4;7053:13;;7049:27;-1:-1:-1;7039:55:84;;7090:1;7087;7080:12;7039:55;7126:2;7113:16;7148:43;7188:2;7148:43;:::i;:::-;7220:2;7214:9;7232:31;7260:2;7252:6;7232:31;:::i;:::-;7298:18;;;7386:1;7382:10;;;;7374:19;;7370:28;;;7332:15;;;;-1:-1:-1;7410:19:84;;;7407:39;;;7442:1;7439;7432:12;7407:39;7466:11;;;;7486:217;7502:6;7497:3;7494:15;7486:217;;;7582:3;7569:17;7599:31;7624:5;7599:31;:::i;:::-;7643:18;;7519:12;;;;7681;;;;7486:217;;;7722:6;6706:1028;-1:-1:-1;;;;;;;6706:1028:84:o;7739:156::-;7800:5;7845:2;7836:6;7831:3;7827:16;7823:25;7820:45;;;7861:1;7858;7851:12;7900:309;7997:6;8005;8058:2;8046:9;8037:7;8033:23;8029:32;8026:52;;;8074:1;8071;8064:12;8026:52;8110:9;8097:23;8087:33;;8139:64;8195:7;8190:2;8179:9;8175:18;8139:64;:::i;8214:186::-;8262:4;-1:-1:-1;;;;;8287:6:84;8284:30;8281:56;;;8317:18;;:::i;:::-;-1:-1:-1;8383:2:84;8362:15;-1:-1:-1;;8358:29:84;8389:4;8354:40;;8214:186::o;8405:727::-;8473:6;8526:2;8514:9;8505:7;8501:23;8497:32;8494:52;;;8542:1;8539;8532:12;8494:52;8582:9;8569:23;-1:-1:-1;;;;;8607:6:84;8604:30;8601:50;;;8647:1;8644;8637:12;8601:50;8670:22;;8723:4;8715:13;;8711:27;-1:-1:-1;8701:55:84;;8752:1;8749;8742:12;8701:55;8788:2;8775:16;8810:31;8838:2;8810:31;:::i;:::-;8870:2;8864:9;8882:31;8910:2;8902:6;8882:31;:::i;:::-;8937:2;8929:6;8922:18;8977:7;8972:2;8967;8963;8959:11;8955:20;8952:33;8949:53;;;8998:1;8995;8988:12;8949:53;9054:2;9049;9045;9041:11;9036:2;9028:6;9024:15;9011:46;9099:1;9077:15;;;9094:2;9073:24;9066:35;;;;-1:-1:-1;9081:6:84;8405:727;-1:-1:-1;;;;8405:727:84:o;9599:800::-;9759:4;9788:2;9828;9817:9;9813:18;9858:2;9847:9;9840:21;9881:6;9916;9910:13;9947:6;9939;9932:22;9985:2;9974:9;9970:18;9963:25;;10047:2;10037:6;10034:1;10030:14;10019:9;10015:30;10011:39;9997:53;;10085:2;10077:6;10073:15;10106:1;10116:254;10130:6;10127:1;10124:13;10116:254;;;10223:2;10219:7;10207:9;10199:6;10195:22;10191:36;10186:3;10179:49;10251:39;10283:6;10274;10268:13;10251:39;:::i;:::-;10241:49;-1:-1:-1;10348:12:84;;;;10313:15;;;;10152:1;10145:9;10116:254;;;-1:-1:-1;10387:6:84;;9599:800;-1:-1:-1;;;;;;;9599:800:84:o;10794:219::-;10943:2;10932:9;10925:21;10906:4;10963:44;11003:2;10992:9;10988:18;10980:6;10963:44;:::i;11018:142::-;11101:1;11094:5;11091:12;11081:46;;11107:18;;:::i;11165:668::-;11351:2;11403:21;;;11473:13;;11376:18;;;11495:22;;;11322:4;;11351:2;11574:15;;;;11548:2;11533:18;;;11322:4;11617:190;11631:6;11628:1;11625:13;11617:190;;;11680:47;11723:3;11714:6;11708:13;11680:47;:::i;:::-;11782:15;;;;11747:12;;;;11653:1;11646:9;11617:190;;;-1:-1:-1;11824:3:84;;11165:668;-1:-1:-1;;;;;;11165:668:84:o;12126:347::-;12177:8;12187:6;12241:3;12234:4;12226:6;12222:17;12218:27;12208:55;;12259:1;12256;12249:12;12208:55;-1:-1:-1;12282:20:84;;-1:-1:-1;;;;;12314:30:84;;12311:50;;;12357:1;12354;12347:12;12311:50;12394:4;12386:6;12382:17;12370:29;;12446:3;12439:4;12430:6;12422;12418:19;12414:30;12411:39;12408:59;;;12463:1;12460;12453:12;12478:545;12566:6;12574;12582;12590;12643:2;12631:9;12622:7;12618:23;12614:32;12611:52;;;12659:1;12656;12649:12;12611:52;12695:9;12682:23;12672:33;;12752:2;12741:9;12737:18;12724:32;12714:42;;12807:2;12796:9;12792:18;12779:32;-1:-1:-1;;;;;12826:6:84;12823:30;12820:50;;;12866:1;12863;12856:12;12820:50;12905:58;12955:7;12946:6;12935:9;12931:22;12905:58;:::i;:::-;12478:545;;;;-1:-1:-1;12982:8:84;-1:-1:-1;;;;12478:545:84:o;13028:213::-;13177:2;13162:18;;13189:46;13166:9;13217:6;13189:46;:::i;13691:117::-;13776:6;13769:5;13765:18;13758:5;13755:29;13745:57;;13798:1;13795;13788:12;13813:313;13880:6;13888;13941:2;13929:9;13920:7;13916:23;13912:32;13909:52;;;13957:1;13954;13947:12;13909:52;13993:9;13980:23;13970:33;;14053:2;14042:9;14038:18;14025:32;14066:30;14090:5;14066:30;:::i;:::-;14115:5;14105:15;;;13813:313;;;;;:::o;14353:902::-;14477:6;14485;14493;14501;14509;14517;14570:3;14558:9;14549:7;14545:23;14541:33;14538:53;;;14587:1;14584;14577:12;14538:53;14627:9;14614:23;-1:-1:-1;;;;;14697:2:84;14689:6;14686:14;14683:34;;;14713:1;14710;14703:12;14683:34;14752:90;14834:7;14825:6;14814:9;14810:22;14752:90;:::i;:::-;14861:8;;-1:-1:-1;14726:116:84;-1:-1:-1;14949:2:84;14934:18;;14921:32;;-1:-1:-1;14965:16:84;;;14962:36;;;14994:1;14991;14984:12;14962:36;;15033:60;15085:7;15074:8;15063:9;15059:24;15033:60;:::i;:::-;14353:902;;;;-1:-1:-1;15112:8:84;15194:2;15179:18;;15166:32;;15245:2;15230:18;;;15217:32;;-1:-1:-1;14353:902:84;-1:-1:-1;;;;14353:902:84:o;15513:248::-;15581:6;15589;15642:2;15630:9;15621:7;15617:23;15613:32;15610:52;;;15658:1;15655;15648:12;15610:52;-1:-1:-1;;15681:23:84;;;15751:2;15736:18;;;15723:32;;-1:-1:-1;15513:248:84:o;15766:611::-;15882:6;15890;15898;15906;15959:3;15947:9;15938:7;15934:23;15930:33;15927:53;;;15976:1;15973;15966:12;15927:53;16016:9;16003:23;-1:-1:-1;;;;;16041:6:84;16038:30;16035:50;;;16081:1;16078;16071:12;16035:50;16120:58;16170:7;16161:6;16150:9;16146:22;16120:58;:::i;:::-;16197:8;;-1:-1:-1;16094:84:84;-1:-1:-1;16251:64:84;;-1:-1:-1;16307:7:84;16302:2;16287:18;;16251:64;:::i;:::-;16241:74;;16334:37;16367:2;16356:9;16352:18;16334:37;:::i;:::-;16324:47;;15766:611;;;;;;;:::o;16382:149::-;16470:3;16463:5;16460:14;16450:48;;16478:18;;:::i;16536:435::-;16725:2;16714:9;16707:21;16737:67;16800:2;16789:9;16785:18;16776:6;16770:13;16737:67;:::i;:::-;16688:4;16851:2;16843:6;16839:15;16833:22;16893:4;16886;16875:9;16871:20;16864:34;16915:50;16961:2;16950:9;16946:18;16932:12;16915:50;:::i;16976:546::-;17153:2;17142:9;17135:21;17116:4;17191:6;17185:13;17234:4;17229:2;17218:9;17214:18;17207:32;17262:59;17317:2;17306:9;17302:18;17288:12;17262:59;:::i;:::-;17248:73;;17370:2;17362:6;17358:15;17352:22;17444:2;17440:7;17428:9;17420:6;17416:22;17412:36;17405:4;17394:9;17390:20;17383:66;17466:50;17509:6;17493:14;17466:50;:::i;17527:163::-;17594:20;;17654:10;17643:22;;17633:33;;17623:61;;17680:1;17677;17670:12;17695:618;17791:6;17799;17807;17815;17823;17876:3;17864:9;17855:7;17851:23;17847:33;17844:53;;;17893:1;17890;17883:12;17844:53;17929:9;17916:23;17906:33;;17958:37;17991:2;17980:9;17976:18;17958:37;:::i;:::-;17948:47;;18042:2;18031:9;18027:18;18014:32;18004:42;;18097:2;18086:9;18082:18;18069:32;-1:-1:-1;;;;;18116:6:84;18113:30;18110:50;;;18156:1;18153;18146:12;18110:50;18195:58;18245:7;18236:6;18225:9;18221:22;18195:58;:::i;:::-;17695:618;;;;-1:-1:-1;17695:618:84;;-1:-1:-1;18272:8:84;;18169:84;17695:618;-1:-1:-1;;;17695:618:84:o;18776:382::-;18881:6;18889;18897;18950:3;18938:9;18929:7;18925:23;18921:33;18918:53;;;18967:1;18964;18957:12;18918:53;19003:9;18990:23;18980:33;;19032:64;19088:7;19083:2;19072:9;19068:18;19032:64;:::i;:::-;19022:74;;19115:37;19148:2;19137:9;19133:18;19115:37;:::i;:::-;19105:47;;18776:382;;;;;:::o;19163:641::-;19443:3;19481:6;19475:13;19497:66;19556:6;19551:3;19544:4;19536:6;19532:17;19497:66;:::i;:::-;-1:-1:-1;;;19585:16:84;;;19610:19;;;19654:13;;19676:78;19654:13;19741:1;19730:13;;19723:4;19711:17;;19676:78;:::i;:::-;19774:20;19796:1;19770:28;;19163:641;-1:-1:-1;;;;19163:641:84:o;19809:127::-;19870:10;19865:3;19861:20;19858:1;19851:31;19901:4;19898:1;19891:15;19925:4;19922:1;19915:15;19941:127;20002:10;19997:3;19993:20;19990:1;19983:31;20033:4;20030:1;20023:15;20057:4;20054:1;20047:15;20073:165;20111:1;20145:4;20142:1;20138:12;20169:3;20159:37;;20176:18;;:::i;:::-;20228:3;20221:4;20218:1;20214:12;20210:22;20205:27;;;20073:165;;;;:::o;20243:148::-;20331:4;20310:12;;;20324;;;20306:31;;20349:13;;20346:39;;;20365:18;;:::i;20396:157::-;20426:1;20460:4;20457:1;20453:12;20484:3;20474:37;;20491:18;;:::i;:::-;20543:3;20536:4;20533:1;20529:12;20525:22;20520:27;;;20396:157;;;;:::o;20558:127::-;20619:10;20614:3;20610:20;20607:1;20600:31;20650:4;20647:1;20640:15;20674:4;20671:1;20664:15;20690:168;20763:9;;;20794;;20811:15;;;20805:22;;20791:37;20781:71;;20832:18;;:::i;20863:125::-;20928:9;;;20949:10;;;20946:36;;;20962:18;;:::i;20993:330::-;21091:4;21149:11;21136:25;21243:3;21239:8;21228;21212:14;21208:29;21204:44;21184:18;21180:69;21170:97;;21263:1;21260;21253:12;21170:97;21284:33;;;;;20993:330;-1:-1:-1;;20993:330:84:o;21554:489::-;21608:5;21661:3;21654:4;21646:6;21642:17;21638:27;21628:55;;21679:1;21676;21669:12;21628:55;21708:6;21702:13;21734:31;21762:2;21734:31;:::i;:::-;21794:2;21788:9;21806:31;21834:2;21826:6;21806:31;:::i;:::-;21861:2;21853:6;21846:18;21907:3;21900:4;21895:2;21887:6;21883:15;21879:26;21876:35;21873:55;;;21924:1;21921;21914:12;21873:55;21937:76;22010:2;22003:4;21995:6;21991:17;21984:4;21976:6;21972:17;21937:76;:::i;22048:337::-;22128:6;22181:2;22169:9;22160:7;22156:23;22152:32;22149:52;;;22197:1;22194;22187:12;22149:52;22230:9;22224:16;-1:-1:-1;;;;;22255:6:84;22252:30;22249:50;;;22295:1;22292;22285:12;22249:50;22318:61;22371:7;22362:6;22351:9;22347:22;22318:61;:::i;22390:290::-;22567:6;22556:9;22549:25;22610:2;22605;22594:9;22590:18;22583:30;22530:4;22630:44;22670:2;22659:9;22655:18;22647:6;22630:44;:::i;22685:184::-;22743:6;22796:2;22784:9;22775:7;22771:23;22767:32;22764:52;;;22812:1;22809;22802:12;22764:52;22835:28;22853:9;22835:28;:::i;22874:521::-;22951:4;22957:6;23017:11;23004:25;23111:2;23107:7;23096:8;23080:14;23076:29;23072:43;23052:18;23048:68;23038:96;;23130:1;23127;23120:12;23038:96;23157:33;;23209:20;;;-1:-1:-1;;;;;;23241:30:84;;23238:50;;;23284:1;23281;23274:12;23238:50;23317:4;23305:17;;-1:-1:-1;23348:14:84;23344:27;;;23334:38;;23331:58;;;23385:1;23382;23375:12;23400:473;23632:3;23670:6;23664:13;23686:66;23745:6;23740:3;23733:4;23725:6;23721:17;23686:66;:::i;:::-;-1:-1:-1;;;23774:16:84;;23799:38;;;-1:-1:-1;23864:2:84;23853:14;;23400:473;-1:-1:-1;23400:473:84:o;23878:380::-;23957:1;23953:12;;;;24000;;;24021:61;;24075:4;24067:6;24063:17;24053:27;;24021:61;24128:2;24120:6;24117:14;24097:18;24094:38;24091:161;;24174:10;24169:3;24165:20;24162:1;24155:31;24209:4;24206:1;24199:15;24237:4;24234:1;24227:15;24263:658;24434:2;24486:21;;;24556:13;;24459:18;;;24578:22;;;24405:4;;24434:2;24657:15;;;;24631:2;24616:18;;;24405:4;24700:195;24714:6;24711:1;24708:13;24700:195;;;24779:13;;-1:-1:-1;;;;;24775:39:84;24763:52;;24870:15;;;;24835:12;;;;24811:1;24729:9;24700:195;;24926:114;25010:4;25003:5;24999:16;24992:5;24989:27;24979:55;;25030:1;25027;25020:12;25045:129;-1:-1:-1;;;;;25123:5:84;25119:30;25112:5;25109:41;25099:69;;25164:1;25161;25154:12;25179:629;25438:25;;;25494:2;25479:18;;25472:34;;;25425:3;25410:19;;25528:20;;25557:29;25528:20;25557:29;:::i;:::-;25633:4;25622:16;25617:2;25602:18;;25595:44;25688:2;25676:15;;25663:29;25701:32;25663:29;25701:32;:::i;:::-;-1:-1:-1;;;;;25773:7:84;25769:32;25764:2;25753:9;25749:18;25742:60;;25179:629;;;;;;:::o;25813:472::-;25909:6;25917;25970:2;25958:9;25949:7;25945:23;25941:32;25938:52;;;25986:1;25983;25976:12;25938:52;26018:9;26012:16;26037:31;26062:5;26037:31;:::i;:::-;26136:2;26121:18;;26115:25;26087:5;;-1:-1:-1;;;;;;26152:30:84;;26149:50;;;26195:1;26192;26185:12;26149:50;26218:61;26271:7;26262:6;26251:9;26247:22;26218:61;:::i;:::-;26208:71;;;25813:472;;;;;:::o;26290:1018::-;26385:6;26416:2;26459;26447:9;26438:7;26434:23;26430:32;26427:52;;;26475:1;26472;26465:12;26427:52;26508:9;26502:16;-1:-1:-1;;;;;26533:6:84;26530:30;26527:50;;;26573:1;26570;26563:12;26527:50;26596:22;;26649:4;26641:13;;26637:27;-1:-1:-1;26627:55:84;;26678:1;26675;26668:12;26627:55;26707:2;26701:9;26729:43;26769:2;26729:43;:::i;:::-;26801:2;26795:9;26813:31;26841:2;26833:6;26813:31;:::i;:::-;26879:18;;;26967:1;26963:10;;;;26955:19;;26951:28;;;26913:15;;;;-1:-1:-1;26991:19:84;;;26988:39;;;27023:1;27020;27013:12;26988:39;27047:11;;;;27067:210;27083:6;27078:3;27075:15;27067:210;;;27156:3;27150:10;27173:31;27198:5;27173:31;:::i;:::-;27217:18;;27100:12;;;;27255;;;;27067:210;;27313:290;27382:6;27435:2;27423:9;27414:7;27410:23;27406:32;27403:52;;;27451:1;27448;27441:12;27403:52;27477:16;;-1:-1:-1;;;;;;27522:32:84;;27512:43;;27502:71;;27569:1;27566;27559:12;27608:271;27698:6;27751:2;27739:9;27730:7;27726:23;27722:32;27719:52;;;27767:1;27764;27757:12;27719:52;27799:9;27793:16;27818:31;27843:5;27818:31;:::i;28170:578::-;-1:-1:-1;;;;;28425:32:84;;28407:51;;28494:2;28489;28474:18;;28467:30;;;28513:18;;28506:34;;;-1:-1:-1;;;;;;28552:31:84;;28549:51;;;28596:1;28593;28586:12;28549:51;28630:6;28627:1;28623:14;28687:6;28679;28674:2;28663:9;28659:18;28646:48;28715:22;;;;28739:2;28711:31;;28170:578;-1:-1:-1;;;;28170:578:84:o;28753:1195::-;28857:6;28888:2;28931;28919:9;28910:7;28906:23;28902:32;28899:52;;;28947:1;28944;28937:12;28899:52;28980:9;28974:16;-1:-1:-1;;;;;29050:2:84;29042:6;29039:14;29036:34;;;29066:1;29063;29056:12;29036:34;29104:6;29093:9;29089:22;29079:32;;29149:7;29142:4;29138:2;29134:13;29130:27;29120:55;;29171:1;29168;29161:12;29120:55;29200:2;29194:9;29222:43;29262:2;29222:43;:::i;:::-;29294:2;29288:9;29306:31;29334:2;29326:6;29306:31;:::i;:::-;29372:18;;;29460:1;29456:10;;;;29448:19;;29444:28;;;29406:15;;;;-1:-1:-1;29484:19:84;;;29481:39;;;29516:1;29513;29506:12;29481:39;29548:2;29544;29540:11;29560:357;29576:6;29571:3;29568:15;29560:357;;;29655:3;29649:10;29691:2;29678:11;29675:19;29672:109;;;29735:1;29764:2;29760;29753:14;29672:109;29806:68;29866:7;29861:2;29847:11;29843:2;29839:20;29835:29;29806:68;:::i;:::-;29794:81;;-1:-1:-1;29895:12:84;;;;29593;;29560:357;;;-1:-1:-1;29936:6:84;28753:1195;-1:-1:-1;;;;;;;;28753:1195:84:o;30642:171::-;30710:6;30749:10;;;30737;;;30733:27;;30772:12;;;30769:38;;;30787:18;;:::i;30818:187::-;30857:1;30883:6;30916:2;30913:1;30909:10;30938:3;30928:37;;30945:18;;:::i;:::-;30983:10;;30979:20;;;;;30818:187;-1:-1:-1;;30818:187:84:o;31010:168::-;31077:6;31103:10;;;31115;;;31099:27;;31138:11;;;31135:37;;;31152:18;;:::i;31183:249::-;31252:6;31305:2;31293:9;31284:7;31280:23;31276:32;31273:52;;;31321:1;31318;31311:12;31273:52;31353:9;31347:16;31372:30;31396:5;31372:30;:::i;31437:277::-;31504:6;31557:2;31545:9;31536:7;31532:23;31528:32;31525:52;;;31573:1;31570;31563:12;31525:52;31605:9;31599:16;31658:5;31651:13;31644:21;31637:5;31634:32;31624:60;;31680:1;31677;31670:12;31844:542;31945:2;31940:3;31937:11;31934:446;;;31981:1;32005:5;32002:1;31995:16;32049:4;32046:1;32036:18;32119:2;32107:10;32103:19;32100:1;32096:27;32090:4;32086:38;32155:4;32143:10;32140:20;32137:47;;;-1:-1:-1;32178:4:84;32137:47;32233:2;32228:3;32224:12;32221:1;32217:20;32211:4;32207:31;32197:41;;32288:82;32306:2;32299:5;32296:13;32288:82;;;32351:17;;;32332:1;32321:13;32288:82;;;32292:3;;;31844:542;;;:::o;32562:1202::-;-1:-1:-1;;;;;32679:3:84;32676:27;32673:53;;;32706:18;;:::i;:::-;32735:93;32824:3;32784:38;32816:4;32810:11;32784:38;:::i;:::-;32778:4;32735:93;:::i;:::-;32854:1;32879:2;32874:3;32871:11;32896:1;32891:615;;;;33550:1;33567:3;33564:93;;;-1:-1:-1;33623:19:84;;;33610:33;33564:93;-1:-1:-1;;32519:1:84;32515:11;;;32511:24;32507:29;32497:40;32543:1;32539:11;;;32494:57;33670:78;;32864:894;;32891:615;31791:1;31784:14;;;31828:4;31815:18;;-1:-1:-1;;32927:17:84;;;33027:9;33049:229;33063:7;33060:1;33057:14;33049:229;;;33152:19;;;33139:33;33124:49;;33259:4;33244:20;;;;33212:1;33200:14;;;;33079:12;33049:229;;;33053:3;33306;33297:7;33294:16;33291:159;;;33430:1;33426:6;33420:3;33414;33411:1;33407:11;33403:21;33399:34;33395:39;33382:9;33377:3;33373:19;33360:33;33356:79;33348:6;33341:95;33291:159;;;33493:1;33487:3;33484:1;33480:11;33476:19;33470:4;33463:33;32864:894;;;32562:1202;;;:::o;33769:1081::-;33949:49;33988:9;33980:6;33949:49;:::i;:::-;33930:4;34017:2;34055;34050;34039:9;34035:18;34028:30;34078:1;34111:6;34105:13;34141:36;34167:9;34141:36;:::i;:::-;34213:6;34208:2;34197:9;34193:18;34186:34;34239:2;34260:1;34292;34281:9;34277:17;34308:1;34303:158;;;;34475:1;34470:354;;;;34270:554;;34303:158;34370:3;34366:8;34355:9;34351:24;34346:2;34335:9;34331:18;34324:52;34448:2;34436:6;34429:14;34422:22;34419:1;34415:30;34404:9;34400:46;34396:55;34389:62;;34303:158;;34470:354;34501:6;34498:1;34491:17;34549:2;34546:1;34536:16;34574:1;34588:180;34602:6;34599:1;34596:13;34588:180;;;34695:14;;34671:17;;;34667:26;;34660:50;34738:16;;;;34617:10;;34588:180;;;34792:17;;34811:2;34788:26;;-1:-1:-1;;34270:554:84;-1:-1:-1;34841:3:84;;33769:1081;-1:-1:-1;;;;;;;;;33769:1081:84:o;34855:902::-;34955:6;35008:2;34996:9;34987:7;34983:23;34979:32;34976:52;;;35024:1;35021;35014:12;34976:52;35057:9;35051:16;-1:-1:-1;;;;;35127:2:84;35119:6;35116:14;35113:34;;;35143:1;35140;35133:12;35113:34;35166:22;;;;35222:4;35204:16;;;35200:27;35197:47;;;35240:1;35237;35230:12;35197:47;35273:4;35267:11;35317:4;35309:6;35305:17;35372:6;35360:10;35357:22;35352:2;35340:10;35337:18;35334:46;35331:72;;;35383:18;;:::i;:::-;35419:4;35412:24;35458:9;;35496:3;35486:14;;35476:42;;35514:1;35511;35504:12;35476:42;35527:21;;35587:2;35579:11;;35573:18;35603:16;;;35600:36;;;35632:1;35629;35622:12;35600:36;35669:56;35717:7;35706:8;35702:2;35698:17;35669:56;:::i;:::-;35664:2;35652:15;;35645:81;-1:-1:-1;35656:6:84;34855:902;-1:-1:-1;;;;;34855:902:84:o;35762:179::-;35797:3;35839:1;35821:16;35818:23;35815:120;;;35885:1;35882;35879;35864:23;-1:-1:-1;35922:1:84;35916:8;35911:3;35907:18;35815:120;35762:179;:::o;35946:671::-;35985:3;36027:4;36009:16;36006:26;36003:39;;;35946:671;:::o;36003:39::-;36069:2;36063:9;-1:-1:-1;;36134:16:84;36130:25;;36127:1;36063:9;36106:50;36185:4;36179:11;36209:16;-1:-1:-1;;;;;36315:2:84;36308:4;36300:6;36296:17;36293:25;36288:2;36280:6;36277:14;36274:45;36271:58;;;36322:5;;;;;35946:671;:::o;36271:58::-;36359:6;36353:4;36349:17;36338:28;;36395:3;36389:10;36422:2;36414:6;36411:14;36408:27;;;36428:5;;;;;;35946:671;:::o;36408:27::-;36512:2;36493:16;36487:4;36483:27;36479:36;36472:4;36463:6;36458:3;36454:16;36450:27;36447:69;36444:82;;;36519:5;;;;;;35946:671;:::o;36444:82::-;36535:57;36586:4;36577:6;36569;36565:19;36561:30;36555:4;36535:57;:::i;:::-;-1:-1:-1;36608:3:84;;35946:671;-1:-1:-1;;;;;35946:671:84:o;36622:449::-;-1:-1:-1;;;36879:3:84;36872:32;36854:3;36933:6;36927:13;36949:75;37017:6;37012:2;37007:3;37003:12;36996:4;36988:6;36984:17;36949:75;:::i;:::-;37044:16;;;;37062:2;37040:25;;36622:449;-1:-1:-1;;36622:449:84:o;37076:182::-;-1:-1:-1;;;;;37183:10:84;;;37195;;;37179:27;;37218:11;;;37215:37;;;37232:18;;:::i;37866:767::-;38155:6;38144:9;38137:25;38198:3;38193:2;38182:9;38178:18;38171:31;38239:6;38233:3;38222:9;38218:19;38211:35;38297:6;38289;38283:3;38272:9;38268:19;38255:49;38354:1;38348:3;38339:6;38328:9;38324:22;38320:32;38313:43;38118:4;38415:2;38411:7;38406:2;38398:6;38394:15;38390:29;38379:9;38375:45;38456:6;38451:2;38440:9;38436:18;38429:34;38499:6;38494:2;38483:9;38479:18;38472:34;38567:3;38555:9;38551:2;38547:18;38543:28;38537:3;38526:9;38522:19;38515:57;38589:38;38622:3;38618:2;38614:12;38606:6;38589:38;:::i;:::-;38581:46;37866:767;-1:-1:-1;;;;;;;;;37866:767:84:o;38638:245::-;38696:6;38749:2;38737:9;38728:7;38724:23;38720:32;38717:52;;;38765:1;38762;38755:12;38717:52;38804:9;38791:23;38823:30;38847:5;38823:30;:::i;38888:243::-;38945:6;38998:2;38986:9;38977:7;38973:23;38969:32;38966:52;;;39014:1;39011;39004:12;38966:52;39053:9;39040:23;39072:29;39095:5;39072:29;:::i;39136:135::-;39175:3;39196:17;;;39193:43;;39216:18;;:::i;:::-;-1:-1:-1;39263:1:84;39252:13;;39136:135::o;39276:542::-;39445:5;39432:19;39460:31;39483:7;39460:31;:::i;:::-;39523:4;39514:7;39510:18;39500:28;;39553:4;39547:11;39602:2;39595:3;39591:8;39587:2;39583:17;39580:25;39574:4;39567:39;39654:2;39647:5;39643:14;39630:28;39667:32;39691:7;39667:32;:::i;:::-;39789:20;39779:7;39776:1;39772:15;39768:42;39763:2;-1:-1:-1;;;;;39735:25:84;39731:2;39727:34;39724:42;39721:90;39715:4;39708:104;;;;39276:542;;:::o;39823:257::-;-1:-1:-1;;;;;39944:10:84;;;39956;;;39940:27;39987:20;;;;39894:18;40026:24;;;40016:58;;40054:18;;:::i;:::-;40016:58;;39823:257;;;;:::o;40085:779::-;40132:3;40176:5;40170:12;40203:4;40198:3;40191:17;40245:12;40239:19;40290:4;40283;40278:3;40274:14;40267:28;40316:47;40358:3;40353;40349:13;40333:14;40316:47;:::i;:::-;40304:59;;40418:4;40404:12;40400:23;40394:30;40388:3;40383;40379:13;40372:53;40486:4;40478;40471:5;40467:16;40461:23;40457:34;40450:4;40445:3;40441:14;40434:58;40553:4;40545;40538:5;40534:16;40528:23;40524:34;40517:4;40512:3;40508:14;40501:58;40620:4;40612;40605:5;40601:16;40595:23;40591:34;40584:4;40579:3;40575:14;40568:58;40674:4;40667:5;40663:16;40657:23;40635:45;;-1:-1:-1;;;;;40769:2:84;40753:14;40749:23;40742:4;40737:3;40733:14;40726:47;40834:2;40826:4;40819:5;40815:16;40809:23;40805:32;40798:4;40793:3;40789:14;40782:56;;40854:4;40847:11;;;;40085:779;;;;:::o;40869:679::-;41202:6;41191:9;41184:25;-1:-1:-1;;;;;41249:6:84;41245:31;41240:2;41229:9;41225:18;41218:59;41313:6;41308:2;41297:9;41293:18;41286:34;41356:6;41351:2;41340:9;41336:18;41329:34;41372:61;41428:3;41417:9;41413:19;41405:6;41372:61;:::i;:::-;41470:3;41464;41453:9;41449:19;41442:32;41165:4;41491:51;41537:3;41526:9;41522:19;41514:6;41491:51;:::i;:::-;41483:59;40869:679;-1:-1:-1;;;;;;;;40869:679:84:o;41553:561::-;41838:6;41827:9;41820:25;-1:-1:-1;;;;;41885:6:84;41881:31;41876:2;41865:9;41861:18;41854:59;41949:6;41944:2;41933:9;41929:18;41922:34;41992:6;41987:2;41976:9;41972:18;41965:34;42036:3;42030;42019:9;42015:19;42008:32;41801:4;42057:51;42103:3;42092:9;42088:19;42080:6;42057:51;:::i;42119:128::-;42186:9;;;42207:11;;;42204:37;;;42221:18;;:::i;42252:1341::-;42376:3;42370:10;-1:-1:-1;;;;;42395:6:84;42392:30;42389:56;;;42425:18;;:::i;:::-;42454:96;42543:6;42503:38;42535:4;42529:11;42503:38;:::i;:::-;42497:4;42454:96;:::i;:::-;42605:4;;42662:2;42651:14;;42679:1;42674:662;;;;43380:1;43397:6;43394:89;;;-1:-1:-1;43449:19:84;;;43443:26;43394:89;-1:-1:-1;;32519:1:84;32515:11;;;32511:24;32507:29;32497:40;32543:1;32539:11;;;32494:57;43496:81;;42644:943;;42674:662;31791:1;31784:14;;;31828:4;31815:18;;-1:-1:-1;;42710:20:84;;;42827:236;42841:7;42838:1;42835:14;42827:236;;;42930:19;;;42924:26;42909:42;;43022:27;;;;42990:1;42978:14;;;;42857:19;;42827:236;;;42831:3;43091:6;43082:7;43079:19;43076:201;;;43152:19;;;43146:26;-1:-1:-1;;43235:1:84;43231:14;;;43247:3;43227:24;43223:37;43219:42;43204:58;43189:74;;43076:201;-1:-1:-1;;;;;43323:1:84;43307:14;;;43303:22;43290:36;;-1:-1:-1;42252:1341:84:o;43869:180::-;-1:-1:-1;;;;;43974:10:84;;;43986;;;43970:27;;44009:11;;;44006:37;;;44023:18;;:::i;44245:112::-;44277:1;44303;44293:35;;44308:18;;:::i;:::-;-1:-1:-1;44342:9:84;;44245:112::o;44770:151::-;44860:4;44853:12;;;44839;;;44835:31;;44878:14;;44875:40;;;44895:18;;:::i",
|
|
41774
41774
|
"source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.7.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./WitnetMockedRequestBytecodes.sol\";\nimport \"./WitnetMockedRequestFactory.sol\";\nimport \"../core/defaults/WitnetOracleTrustableDefault.sol\";\n\nimport \"./WitnetMockedPriceFeeds.sol\";\nimport \"./WitnetMockedRandomness.sol\";\n\n/// @title Mocked implementation of `WitnetOracle`.\n/// @dev TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. \n/// @dev ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE \n/// @dev THE `WitnetOracle` CONTRACT ADDRESS PROVIDED \n/// @dev BY THE WITNET FOUNDATION.\ncontract WitnetMockedOracle\n is\n WitnetOracleTrustableDefault\n{\n WitnetRequestFactory private __factory;\n\n constructor(WitnetMockedRequestBytecodes _registry) \n WitnetOracleTrustableDefault(\n WitnetRequestFactory(address(0)), \n WitnetRequestBytecodes(address(_registry)),\n false,\n bytes32(\"mocked\"),\n 60000, 65000, 70000, 20000\n )\n {\n address[] memory _reporters = new address[](1);\n _reporters[0] = msg.sender;\n __setReporters(_reporters);\n }\n\n function factory() override public view returns (WitnetRequestFactory) {\n return __factory;\n }\n\n function setFactory(WitnetMockedRequestFactory _factory) external onlyOwner {\n __factory = WitnetRequestFactory(address(_factory)); \n }\n} ",
|
|
41775
|
-
"sourcePath": "/home/
|
|
41775
|
+
"sourcePath": "/home/runner/work/witnet-solidity-bridge/witnet-solidity-bridge/contracts/mocks/WitnetMockedOracle.sol",
|
|
41776
41776
|
"ast": {
|
|
41777
41777
|
"absolutePath": "project:/contracts/mocks/WitnetMockedOracle.sol",
|
|
41778
41778
|
"exportedSymbols": {
|
|
@@ -43181,7 +43181,7 @@
|
|
|
43181
43181
|
},
|
|
43182
43182
|
"networks": {},
|
|
43183
43183
|
"schemaVersion": "3.4.16",
|
|
43184
|
-
"updatedAt": "2025-10-
|
|
43184
|
+
"updatedAt": "2025-10-15T18:03:23.871Z",
|
|
43185
43185
|
"devdoc": {
|
|
43186
43186
|
"details": "TO BE USED ONLY ON DEVELOPMENT ENVIRONMENTS. ON SUPPORTED TESTNETS AND MAINNETS, PLEASE USE THE `WitnetOracle` CONTRACT ADDRESS PROVIDED BY THE WITNET FOUNDATION.",
|
|
43187
43187
|
"errors": {
|