@latticexyz/world 1.42.0 → 2.0.0-alpha.1
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/abi/AccessControl.json +4 -4
- package/abi/AccessControlTest.json +4 -4
- package/abi/AddressArray.json +4 -4
- package/abi/ArrayLib.json +4 -4
- package/abi/Bool.json +4 -4
- package/abi/Bytes.json +13 -13
- package/abi/Call.json +4 -4
- package/abi/Callbacks.json +1851 -1851
- package/abi/CommonBase.json +2 -2
- package/abi/CoreModule.json +4 -4
- package/abi/DSTest.json +4 -4
- package/abi/DecodeSlice.json +6987 -6987
- package/abi/EncodeArray.json +13 -13
- package/abi/FunctionSelectors.json +4 -4
- package/abi/Hooks.json +1851 -1851
- package/abi/IBaseWorld.json +2 -2
- package/abi/IErrors.json +118 -118
- package/abi/IModule.json +2 -2
- package/abi/IMulticall3.json +2 -2
- package/abi/IRegistrationSystem.json +2 -2
- package/abi/IStore.json +15 -15
- package/abi/IStoreHook.json +15 -15
- package/abi/ISystemHook.json +2 -2
- package/abi/IUniqueEntitySystem.json +2 -2
- package/abi/IWorldCore.json +2 -2
- package/abi/IWorldTestSystem.json +2 -2
- package/abi/InstalledModules.json +4 -4
- package/abi/KeysWithValue.json +4 -4
- package/abi/KeysWithValueHook.json +4 -4
- package/abi/KeysWithValueModule.json +4 -4
- package/abi/KeysWithValueModuleTest.json +4 -4
- package/abi/Memory.json +9 -9
- package/abi/Mixed.json +4807 -4807
- package/abi/NamespaceOwner.json +4 -4
- package/abi/PackedCounterLib.json +14 -14
- package/abi/PayableFallbackSystem.json +4 -4
- package/abi/RegistrationModule.json +4 -4
- package/abi/RegistrationSystem.json +4 -4
- package/abi/ResourceAccess.json +4 -4
- package/abi/ResourceSelector.json +4 -4
- package/abi/ResourceType.json +4 -4
- package/abi/SchemaLib.json +14 -14
- package/abi/ScriptBase.json +2 -2
- package/abi/SliceInstance.json +13 -13
- package/abi/SliceLib.json +13 -13
- package/abi/StdAssertions.json +2 -2
- package/abi/StdChains.json +2 -2
- package/abi/StdCheats.json +2 -2
- package/abi/StdCheatsSafe.json +2 -2
- package/abi/StdInvariant.json +4 -4
- package/abi/StdUtils.json +2 -2
- package/abi/Storage.json +1034 -1034
- package/abi/Store.json +29 -29
- package/abi/StoreCore.json +38 -38
- package/abi/StoreCoreExtended.json +38 -38
- package/abi/StoreCoreInternal.json +38 -38
- package/abi/StoreMetadata.json +3630 -3630
- package/abi/StoreSwitch.json +30 -30
- package/abi/StoreView.json +4 -4
- package/abi/System.json +4 -4
- package/abi/SystemRegistry.json +4 -4
- package/abi/SystemTest.json +4 -4
- package/abi/Systems.json +4 -4
- package/abi/TableId.json +59 -59
- package/abi/Test.json +2 -2
- package/abi/TestBase.json +2 -2
- package/abi/TestSystem.json +4 -4
- package/abi/TightCoder.json +621 -621
- package/abi/UniqueEntity.json +4 -4
- package/abi/UniqueEntityModule.json +4 -4
- package/abi/UniqueEntityModuleTest.json +4 -4
- package/abi/UniqueEntitySystem.json +4 -4
- package/abi/Utils.json +133 -133
- package/abi/Vector2.json +2512 -2512
- package/abi/Vm.json +2 -2
- package/abi/VmSafe.json +2 -2
- package/abi/World.json +4 -4
- package/abi/WorldContext.json +2 -2
- package/abi/WorldTest.json +4 -4
- package/abi/WorldTestSystem.json +4 -4
- package/abi/WorldTestTableHook.json +4 -4
- package/abi/console.json +4 -4
- package/abi/console2.json +4 -4
- package/abi/stdError.json +4 -4
- package/abi/stdJson.json +4 -4
- package/abi/stdMath.json +4 -4
- package/abi/stdStorage.json +4 -4
- package/abi/stdStorageSafe.json +4 -4
- package/package.json +5 -6
- package/types/ethers-contracts/factories/AccessControlTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/CoreModule__factory.ts +1 -1
- package/types/ethers-contracts/factories/DSTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/KeysWithValueHook__factory.ts +1 -1
- package/types/ethers-contracts/factories/KeysWithValueModuleTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/KeysWithValueModule__factory.ts +1 -1
- package/types/ethers-contracts/factories/PayableFallbackSystem__factory.ts +1 -1
- package/types/ethers-contracts/factories/RegistrationModule__factory.ts +1 -1
- package/types/ethers-contracts/factories/RegistrationSystem__factory.ts +1 -1
- package/types/ethers-contracts/factories/SchemaLib__factory.ts +1 -1
- package/types/ethers-contracts/factories/SliceLib__factory.ts +1 -1
- package/types/ethers-contracts/factories/StdError__factory.ts +1 -1
- package/types/ethers-contracts/factories/StdInvariant__factory.ts +1 -1
- package/types/ethers-contracts/factories/StdStorageSafe__factory.ts +1 -1
- package/types/ethers-contracts/factories/StoreCore__factory.ts +1 -1
- package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
- package/types/ethers-contracts/factories/StoreView__factory.ts +1 -1
- package/types/ethers-contracts/factories/SystemTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/TestSystem__factory.ts +1 -1
- package/types/ethers-contracts/factories/UniqueEntityModuleTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/UniqueEntityModule__factory.ts +1 -1
- package/types/ethers-contracts/factories/UniqueEntitySystem__factory.ts +1 -1
- package/types/ethers-contracts/factories/WorldTestSystem__factory.ts +1 -1
- package/types/ethers-contracts/factories/WorldTestTableHook__factory.ts +1 -1
- package/types/ethers-contracts/factories/WorldTest__factory.ts +1 -1
- package/types/ethers-contracts/factories/World__factory.ts +1 -1
package/abi/console2.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"abi": [],
|
|
3
3
|
"bytecode": {
|
|
4
|
-
"object": "
|
|
4
|
+
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207d8ade351f77ce9443d7a72238114d3e8c8bd394d381f7e8a25d3a8ecf25fb2c64736f6c634300080d0033",
|
|
5
5
|
"sourceMap": "525:68782:74:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:68782:74;;;;;;;;;;;;;;;;;",
|
|
6
6
|
"linkReferences": {}
|
|
7
7
|
},
|
|
8
8
|
"deployedBytecode": {
|
|
9
|
-
"object": "
|
|
9
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207d8ade351f77ce9443d7a72238114d3e8c8bd394d381f7e8a25d3a8ecf25fb2c64736f6c634300080d0033",
|
|
10
10
|
"sourceMap": "525:68782:74:-:0;;;;;;;;",
|
|
11
11
|
"linkReferences": {}
|
|
12
12
|
},
|
|
13
13
|
"methodIdentifiers": {},
|
|
14
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
14
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]}},\"version\":1}",
|
|
15
15
|
"metadata": {
|
|
16
16
|
"compiler": {
|
|
17
17
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
":ds-test/=node_modules/ds-test/src/",
|
|
37
37
|
":forge-std/=node_modules/forge-std/src/",
|
|
38
38
|
":hardhat/=../store/node_modules/hardhat/",
|
|
39
|
-
":store/=/
|
|
39
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
40
40
|
":test/=../store/test/"
|
|
41
41
|
],
|
|
42
42
|
"optimizer": {
|
package/abi/stdError.json
CHANGED
|
@@ -119,12 +119,12 @@
|
|
|
119
119
|
}
|
|
120
120
|
],
|
|
121
121
|
"bytecode": {
|
|
122
|
-
"object": "
|
|
122
|
+
"object": "0x61029461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610209565b60405180910390f35b6100ba610179565b6100ba61018b565b6100ba61019d565b6100ba6101af565b6100ba6101c1565b6100ba6101d3565b6100ba6101e5565b6100ba6101f7565b604051603260248201526044015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b818110156102365785810183015185820160400152820161021a565b81811115610248576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220c7f51bd0551ac52a2593b0dcd0a0f40ca6be39192261731eedc9020e06e27d7e64736f6c634300080d0033",
|
|
123
123
|
"sourceMap": "162:850:65:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;162:850:65;;;;;;;;;;;;;;;;;",
|
|
124
124
|
"linkReferences": {}
|
|
125
125
|
},
|
|
126
126
|
"deployedBytecode": {
|
|
127
|
-
"object": "
|
|
127
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600436106100ad5760003560e01c8063986c5f6811610080578063b67689da11610065578063b67689da146100f8578063d160e4de14610100578063fa784a441461010857600080fd5b8063986c5f68146100e8578063b22dc54d146100f057600080fd5b806305ee8612146100b257806310332977146100d05780631de45560146100d85780638995290f146100e0575b600080fd5b6100ba610110565b6040516100c79190610209565b60405180910390f35b6100ba610179565b6100ba61018b565b6100ba61019d565b6100ba6101af565b6100ba6101c1565b6100ba6101d3565b6100ba6101e5565b6100ba6101f7565b604051603260248201526044015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4e487b710000000000000000000000000000000000000000000000000000000017905281565b6040516001602482015260440161011e565b6040516021602482015260440161011e565b6040516011602482015260440161011e565b6040516041602482015260440161011e565b6040516031602482015260440161011e565b6040516051602482015260440161011e565b6040516022602482015260440161011e565b6040516012602482015260440161011e565b600060208083528351808285015260005b818110156102365785810183015185820160400152820161021a565b81811115610248576000604083870101525b50601f01601f191692909201604001939250505056fea2646970667358221220c7f51bd0551ac52a2593b0dcd0a0f40ca6be39192261731eedc9020e06e27d7e64736f6c634300080d0033",
|
|
128
128
|
"sourceMap": "162:850:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;740:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;185:86;;;:::i;461:91::-;;;:::i;277:87::-;;;:::i;831:88::-;;;:::i;654:80::-;;;:::i;925:84::-;;;:::i;558:90::-;;;:::i;370:85::-;;;:::i;740:::-;778:47;;820:4;778:47;;;834:36:121;807:18;;778:47:65;;;;-1:-1:-1;;778:47:65;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;834:36:121;807:18;;224:47:65;681:195:121;461:91:65;505:47;;547:4;505:47;;;834:36:121;807:18;;505:47:65;681:195:121;277:87:65;317:47;;359:4;317:47;;;834:36:121;807:18;;317:47:65;681:195:121;831:88:65;872:47;;914:4;872:47;;;834:36:121;807:18;;872:47:65;681:195:121;654:80:65;687:47;;729:4;687:47;;;834:36:121;807:18;;687:47:65;681:195:121;925:84:65;962:47;;1004:4;962:47;;;834:36:121;807:18;;962:47:65;681:195:121;558:90:65;601:47;;643:4;601:47;;;834:36:121;807:18;;601:47:65;681:195:121;370:85:65;408:47;;450:4;408:47;;;834:36:121;807:18;;408:47:65;681:195:121;14:662;132:4;161:2;190;179:9;172:21;222:6;216:13;265:6;260:2;249:9;245:18;238:34;290:1;300:140;314:6;311:1;308:13;300:140;;;409:14;;;405:23;;399:30;375:17;;;394:2;371:26;364:66;329:10;;300:140;;;458:6;455:1;452:13;449:91;;;528:1;523:2;514:6;503:9;499:22;495:31;488:42;449:91;-1:-1:-1;592:2:121;580:15;-1:-1:-1;;576:88:121;561:104;;;;667:2;557:113;;14:662;-1:-1:-1;;;14:662:121:o",
|
|
129
129
|
"linkReferences": {}
|
|
130
130
|
},
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"popError()": "b22dc54d",
|
|
140
140
|
"zeroVarError()": "b67689da"
|
|
141
141
|
},
|
|
142
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
142
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdError.sol\":\"stdError\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]}},\"version\":1}",
|
|
143
143
|
"metadata": {
|
|
144
144
|
"compiler": {
|
|
145
145
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -282,7 +282,7 @@
|
|
|
282
282
|
":ds-test/=node_modules/ds-test/src/",
|
|
283
283
|
":forge-std/=node_modules/forge-std/src/",
|
|
284
284
|
":hardhat/=../store/node_modules/hardhat/",
|
|
285
|
-
":store/=/
|
|
285
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
286
286
|
":test/=../store/test/"
|
|
287
287
|
],
|
|
288
288
|
"optimizer": {
|
package/abi/stdJson.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"abi": [],
|
|
3
3
|
"bytecode": {
|
|
4
|
-
"object": "
|
|
4
|
+
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085b08afa98610afbcd55d3a26ed0bd36ec00e1715e313f4ea837fe8289c566b664736f6c634300080d0033",
|
|
5
5
|
"sourceMap": "830:5659:67:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;830:5659:67;;;;;;;;;;;;;;;;;",
|
|
6
6
|
"linkReferences": {}
|
|
7
7
|
},
|
|
8
8
|
"deployedBytecode": {
|
|
9
|
-
"object": "
|
|
9
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122085b08afa98610afbcd55d3a26ed0bd36ec00e1715e313f4ea837fe8289c566b664736f6c634300080d0033",
|
|
10
10
|
"sourceMap": "830:5659:67:-:0;;;;;;;;",
|
|
11
11
|
"linkReferences": {}
|
|
12
12
|
},
|
|
13
13
|
"methodIdentifiers": {},
|
|
14
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
14
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}",
|
|
15
15
|
"metadata": {
|
|
16
16
|
"compiler": {
|
|
17
17
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
":ds-test/=node_modules/ds-test/src/",
|
|
37
37
|
":forge-std/=node_modules/forge-std/src/",
|
|
38
38
|
":hardhat/=../store/node_modules/hardhat/",
|
|
39
|
-
":store/=/
|
|
39
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
40
40
|
":test/=../store/test/"
|
|
41
41
|
],
|
|
42
42
|
"optimizer": {
|
package/abi/stdMath.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"abi": [],
|
|
3
3
|
"bytecode": {
|
|
4
|
-
"object": "
|
|
4
|
+
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122089081a8a2857c3b8e30f0c04c758e0ffc202e54c0a03ce0b0565cb25d1fc2e3364736f6c634300080d0033",
|
|
5
5
|
"sourceMap": "65:1294:68:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;65:1294:68;;;;;;;;;;;;;;;;;",
|
|
6
6
|
"linkReferences": {}
|
|
7
7
|
},
|
|
8
8
|
"deployedBytecode": {
|
|
9
|
-
"object": "
|
|
9
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122089081a8a2857c3b8e30f0c04c758e0ffc202e54c0a03ce0b0565cb25d1fc2e3364736f6c634300080d0033",
|
|
10
10
|
"sourceMap": "65:1294:68:-:0;;;;;;;;",
|
|
11
11
|
"linkReferences": {}
|
|
12
12
|
},
|
|
13
13
|
"methodIdentifiers": {},
|
|
14
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
14
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}",
|
|
15
15
|
"metadata": {
|
|
16
16
|
"compiler": {
|
|
17
17
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
":ds-test/=node_modules/ds-test/src/",
|
|
37
37
|
":forge-std/=node_modules/forge-std/src/",
|
|
38
38
|
":hardhat/=../store/node_modules/hardhat/",
|
|
39
|
-
":store/=/
|
|
39
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
40
40
|
":test/=../store/test/"
|
|
41
41
|
],
|
|
42
42
|
"optimizer": {
|
package/abi/stdStorage.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"abi": [],
|
|
3
3
|
"bytecode": {
|
|
4
|
-
"object": "
|
|
4
|
+
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a25a9db63d6fa3658e02419e75f384efe8e0a4f2899cd009584dd05f733eef8d64736f6c634300080d0033",
|
|
5
5
|
"sourceMap": "7339:4527:69:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;7339:4527:69;;;;;;;;;;;;;;;;;",
|
|
6
6
|
"linkReferences": {}
|
|
7
7
|
},
|
|
8
8
|
"deployedBytecode": {
|
|
9
|
-
"object": "
|
|
9
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a25a9db63d6fa3658e02419e75f384efe8e0a4f2899cd009584dd05f733eef8d64736f6c634300080d0033",
|
|
10
10
|
"sourceMap": "7339:4527:69:-:0;;;;;;;;",
|
|
11
11
|
"linkReferences": {}
|
|
12
12
|
},
|
|
13
13
|
"methodIdentifiers": {},
|
|
14
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
14
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}",
|
|
15
15
|
"metadata": {
|
|
16
16
|
"compiler": {
|
|
17
17
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
":ds-test/=node_modules/ds-test/src/",
|
|
37
37
|
":forge-std/=node_modules/forge-std/src/",
|
|
38
38
|
":hardhat/=../store/node_modules/hardhat/",
|
|
39
|
-
":store/=/
|
|
39
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
40
40
|
":test/=../store/test/"
|
|
41
41
|
],
|
|
42
42
|
"optimizer": {
|
package/abi/stdStorageSafe.json
CHANGED
|
@@ -52,17 +52,17 @@
|
|
|
52
52
|
}
|
|
53
53
|
],
|
|
54
54
|
"bytecode": {
|
|
55
|
-
"object": "
|
|
55
|
+
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff2e96dd4b0dbbd8277a522e0d8e7e9aa6838fcdb9a4ea0f851911bd0da1f6b264736f6c634300080d0033",
|
|
56
56
|
"sourceMap": "368:6969:69:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;368:6969:69;;;;;;;;;;;;;;;;;",
|
|
57
57
|
"linkReferences": {}
|
|
58
58
|
},
|
|
59
59
|
"deployedBytecode": {
|
|
60
|
-
"object": "
|
|
60
|
+
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ff2e96dd4b0dbbd8277a522e0d8e7e9aa6838fcdb9a4ea0f851911bd0da1f6b264736f6c634300080d0033",
|
|
61
61
|
"sourceMap": "368:6969:69:-:0;;;;;;;;",
|
|
62
62
|
"linkReferences": {}
|
|
63
63
|
},
|
|
64
64
|
"methodIdentifiers": {},
|
|
65
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/
|
|
65
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.13+commit.abaa5c0e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/forge-std/src/StdStorage.sol\":\"stdStorageSafe\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat/=../store/node_modules/hardhat/\",\":store/=/home/runner/work/mud/mud/packages/store/src/\",\":test/=../store/test/\"]},\"sources\":{\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]}},\"version\":1}",
|
|
66
66
|
"metadata": {
|
|
67
67
|
"compiler": {
|
|
68
68
|
"version": "0.8.13+commit.abaa5c0e"
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
":ds-test/=node_modules/ds-test/src/",
|
|
139
139
|
":forge-std/=node_modules/forge-std/src/",
|
|
140
140
|
":hardhat/=../store/node_modules/hardhat/",
|
|
141
|
-
":store/=/
|
|
141
|
+
":store/=/home/runner/work/mud/mud/packages/store/src/",
|
|
142
142
|
":test/=../store/test/"
|
|
143
143
|
],
|
|
144
144
|
"optimizer": {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@latticexyz/world",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0-alpha.1+68a8837a",
|
|
5
5
|
"description": "World framework",
|
|
6
6
|
"types": "./types/ethers-contracts/",
|
|
7
7
|
"exports": {
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
"directory": "packages/world"
|
|
15
15
|
},
|
|
16
16
|
"scripts": {
|
|
17
|
-
"prepare": "pnpm build",
|
|
18
17
|
"tablegen": "../cli/dist/mud.js tablegen",
|
|
19
18
|
"worldgen": "../cli/dist/mud.js worldgen",
|
|
20
19
|
"test": "forge test",
|
|
@@ -29,9 +28,9 @@
|
|
|
29
28
|
"devDependencies": {
|
|
30
29
|
"@ethersproject/abi": "^5.7.0",
|
|
31
30
|
"@ethersproject/providers": "^5.7.2",
|
|
32
|
-
"@latticexyz/config": "
|
|
33
|
-
"@latticexyz/schema-type": "
|
|
34
|
-
"@latticexyz/store": "
|
|
31
|
+
"@latticexyz/config": "2.0.0-alpha.1+68a8837a",
|
|
32
|
+
"@latticexyz/schema-type": "2.0.0-alpha.1+68a8837a",
|
|
33
|
+
"@latticexyz/store": "2.0.0-alpha.1+68a8837a",
|
|
35
34
|
"@typechain/ethers-v5": "^10.2.0",
|
|
36
35
|
"@types/mocha": "^9.1.1",
|
|
37
36
|
"ds-test": "https://github.com/dapphub/ds-test.git#c9ce3f25bde29fc5eb9901842bf02850dfd2d084",
|
|
@@ -55,5 +54,5 @@
|
|
|
55
54
|
"ethers": "^5.7.2",
|
|
56
55
|
"forge-std": "https://github.com/foundry-rs/forge-std.git#b4f121555729b3afb3c5ffccb62ff4b6e2818fd3"
|
|
57
56
|
},
|
|
58
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "68a8837afadedf17cef13328e8b818b068a22765"
|
|
59
58
|
}
|
|
@@ -1073,7 +1073,7 @@ const _abi = [
|
|
|
1073
1073
|
] as const;
|
|
1074
1074
|
|
|
1075
1075
|
const _bytecode =
|
|
1076
|
-
"0x60806040526000805460ff191660019081179091557f6e616d650000000000000000000000006e616d65737061636500000000000000601b55601c80546001600160a01b03191690911790553480156200005857600080fd5b506200006e6200007460201b62000ccb1760201c565b620027c2565b60408051676d756473746f726560c01b602082015265736368656d6160d01b6030820152620000ed9101604051602081830303815290604052620000b89062002269565b620000d0605f806200029360201b62000ea61760201c565b620000e7601f6200036460201b62000f5b1760201c565b620003e7565b620001026200048860201b62000fd31760201c565b62000117620004f260201b620010281760201c565b6200012c6200054760201b620010881760201c565b62000141620005b560201b620010e51760201c565b60408051600280825260608201909252600091816020015b6060815260200190600190039081620001595790505090506040518060400160405280600b81526020016a76616c7565536368656d6160a81b81525081600081518110620001ab57620001ab620022a7565b6020026020010181905250604051806040016040528060098152602001686b6579536368656d6160b81b81525081600181518110620001ee57620001ee620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b6030820152815180820390930183528101905262000290906200023e9062002269565b60405180604001604052806006815260200165736368656d6160d01b8152508360405160200162000270919062002376565b604051602081830303815290604052620005ff60201b6200113b1760201c565b50565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110620002cf57620002cf620022a7565b602002602001019060c5811115620002eb57620002eb6200238b565b908160c58111156200030157620003016200238b565b8152505082816001815181106200031c576200031c620022a7565b602002602001019060c58111156200033857620003386200238b565b908160c58111156200034e576200034e6200238b565b9052506200035c81620006bb565b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110620003a057620003a0620022a7565b602002602001019060c5811115620003bc57620003bc6200238b565b908160c5811115620003d257620003d26200238b565b905250620003e081620006bb565b9392505050565b620004026000836200089d60201b620011f31790919060201c565b6200041d6001826200089d60201b620011f31790919060201c565b620004288362000a98565b156200046b5782620004458462000acc60201b620013ce1760201c565b60405163051eeee360e21b815260040162000462929190620023a1565b60405180910390fd5b6200048383838362000af860201b620013f91760201c565b505050565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152620004f09101604051602081830303815290604052620004cb9062002269565b620004d562000c9c565b620004df62000d2b565b62000d6860201b6200154b1760201c565b565b60408051676d756473746f726560c01b60208201526c53746f72654d6574616461746160981b6030820152620004f091016040516020818303038152906040526200053d9062002269565b620004d562000df7565b6000806200055462000e82565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152929450909250620005b191015b6040516020818303038152906040526200059e9062002269565b838362000f1e60201b620015e61760201c565b5050565b600080620005c262000f6f565b60408051676d756473746f726560c01b60208201526c53746f72654d6574616461746160981b6030820152929450909250620005b1910162000584565b60006200060d83836200106d565b604080516001808252818301909252919250600091906020808301908036833701905050905084816000815181106200064a576200064a620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b818401526c53746f72654d6574616461746160981b60308201528151808203909301835281019052620006b490620006a19062002269565b82846200114d60201b6200163e1760201c565b5050505050565b6000601c82511115620006e7578151604051635318beb960e01b81526004016200046291815260200190565b60008060008060005b8651811015620007fa57600062000742888381518110620007155762000715620022a7565b602002602001015160c58111156200073157620007316200238b565b6200119e60201b620016961760201c565b905061ffff811615620007845782156200076f57604051633c795af960e21b815260040160405180910390fd5b836200077b81620023d2565b94505062000789565b600192505b620007958186620023f4565b9450620007ee86620007a98460046200241d565b8a8581518110620007be57620007be620022a7565b602002602001015160c5811115620007da57620007da6200238b565b60f81b6200126560201b620017471760201c565b955050600101620006f0565b5060008287516200080c919062002438565b9050600e8160ff1611156200083a57604051635318beb960e01b815260ff8216600482015260240162000462565b620008568560008660f01b6200129b60201b6200177d1760201c565b9450620008748560028560f81b6200126560201b620017471760201c565b9450620008928560038360f81b6200126560201b620017471760201c565b979650505050505050565b80158015620008bd5750620008bd82620012b960201b620017b31760201c565b15620008e057604051635318beb960e01b81526000600482015260240162000462565b6000620008f883620012bd60201b620017b71760201c565b60ff169050600e8111156200092457604051635318beb960e01b81526004810182905260240162000462565b60006200093c84620012e060201b620017c81760201c565b60ff169050601c6200094f83836200241d565b11156200097f576200096282826200241d565b604051635318beb960e01b81526004016200046291815260200190565b60008060005b6200099185856200241d565b81101562000a45576000620009cd620009b9838a620012fa60201b620017d41790919060201c565b60c58111156200073157620007316200238b565b111562000a0a57838110620009f557604051633c795af960e21b815260040160405180910390fd5b8262000a01816200245e565b93505062000a3c565b8381101562000a2c57604051633c795af960e21b815260040160405180910390fd5b8162000a38816200245e565b9250505b60010162000985565b5082821462000a6b57604051635318beb960e01b81526004810183905260240162000462565b83811462000a9057604051635318beb960e01b81526004810182905260240162000462565b505050505050565b600062000ac562000ab4836200133660201b620018001760201c565b620012b960201b620017b31760201c565b1592915050565b60608160405160200162000ae291815260200190565b6040516020818303038152906040529050919050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811062000b315762000b31620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b6030820152815180820390930183528101905260009062000b8b9062000b849062002269565b83620013ef565b905062000bb98162000ba8866200143660201b620018851760201c565b6200143960201b620014951760201c565b62000be062000bca8260206200241d565b62000ba8856200143660201b620018851760201c565b60408051676d756473746f726560c01b602082015265736368656d6160d01b603082015260008051602062006c90833981519152910160405160208183030381529060405262000c309062002269565b8362000c47876200143660201b620018851760201c565b62000c5d876200143660201b620018851760201c565b60408051602081019390935282015260600160408051601f198184030181529082905262000c8d939291620024b7565b60405180910390a15050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060c38160008151811062000cd95762000cd9620022a7565b602002602001019060c581111562000cf55762000cf56200238b565b908160c581111562000d0b5762000d0b6200238b565b8152505062000d2581620006bb60201b620018881760201c565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811062000cd95762000cd9620022a7565b62000d726200143d565b1562000d905762000483838383620003e760201b62001add1760201c565b604051636ac99b4360e11b8152600481018490526024810183905260448101829052339063d5933686906064015b600060405180830381600087803b15801562000dd957600080fd5b505af115801562000dee573d6000803e3d6000fd5b50505050505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060c58160008151811062000e345762000e34620022a7565b602002602001019060c581111562000e505762000e506200238b565b908160c581111562000e665762000e666200238b565b8152505060c48160018151811062000cd95762000cd9620022a7565b6040805160018082528183019092526060918291600091816020015b606081526020019060019003908162000e9e5790505090506040518060400160405280600581526020016476616c756560d81b8152508160008151811062000eea5762000eea620022a7565b60200260200101819052508060405180604001604052806005815260200164486f6f6b7360d81b8152509092509250509091565b62000f286200143d565b1562000f465762000483838383620014b260201b62001b4a1760201c565b60405163fe86a89f60e01b8152339063fe86a89f9062000dbe90869086908690600401620024f0565b60408051600280825260608281019093528291600091816020015b606081526020019060019003908162000f8a579050509050604051806040016040528060098152602001687461626c654e616d6560b81b8152508160008151811062000fda5762000fda620022a7565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600181518110620010315762001031620022a7565b6020026020010181905250806040518060400160405280600d81526020016c53746f72654d6574616461746160981b8152509092509250509091565b60408051600280825260608083018452926000929190602083019080368337019050509050835181600081518110620010aa57620010aa620022a7565b602002602001019061ffff16908161ffff1681525050825181600181518110620010d857620010d8620022a7565b602002602001019061ffff16908161ffff1681525050600062001106826200154b60201b62001bda1760201c565b90506200111e816200143660201b620018851760201c565b858560405160200162001134939291906200251f565b6040516020818303038152906040529250505092915050565b620011576200143d565b156200117557620004838383836200160460201b62001cb71760201c565b604051638ed41f2f60e01b81523390638ed41f2f9062000dbe90869086908690600401620024b7565b6000808260c5811115620011b657620011b66200238b565b60ff1690506020811015620011d257620003e08160016200241d565b6040811015620011f7576020620011eb8260016200241d565b620003e0919062002560565b606081101562001210576040620011eb8260016200241d565b60608360c58111156200122757620012276200238b565b03620012365750600192915050565b60618360c58111156200124d576200124d6200238b565b036200125c5750601492915050565b50600092915050565b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b6008820281811c6001600160f01b031990911c198416179392505050565b1590565b6000620012d78260036200193360201b620017e51760201c565b60f81c92915050565b6000620012d78260026200193360201b620017e51760201c565b60006200131f836200130e8460046200241d565b6200193360201b620017e51760201c565b60f81c60c5811115620003e057620003e06200238b565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110620013725762001372620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b60308201528151808203909301835281019052600090620013d790620013c59062002269565b83620013ef60201b62001f0c1760201c565b90506200035c816200193a60201b62001f621760201c565b600060008051602062006c70833981519152838360405160200162001417939291906200257a565b60408051601f1981840301815291905280516020909101209392505050565b90565b9055565b6000303b8082036200145157600191505090565b306001600160a01b031663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156200148b57600080fd5b505afa9250505080156200149d575060015b620014aa57600091505090565b600191505090565b6000620014bf846200193e565b9050815160001480620014ea5750620014e381620019ad60201b62001f661760201c565b60ff168251145b6200152c576200150581620019ad60201b62001f661760201c565b825160405163f2b2755960e01b815260ff9092166004830152602482015260440162000462565b6200154584848460405160200162000270919062002376565b50505050565b6000806000805b8451811015620015e757620015ac836200156e8360026200259b565b6200157b9060046200241d565b878481518110620015905762001590620022a7565b602002602001015160f01b6200129b60201b6200177d1760201c565b9250848181518110620015c357620015c3620022a7565b602002602001015161ffff1682620015dc9190620025bd565b915060010162001552565b506200035c8260008360e01b620019d760201b62001f841760201c565b600062001611846200193e565b905060006200162b82620019f560201b62001fba1760201c565b905060008190506000806200164b85620012bd60201b620017b71760201c565b60ff161115620016a0576200166c8584620019fb60201b62001fc01760201c565b9050620016848162001a0360201b62001fc81760201c565b620016919060206200241d565b6200169d90836200241d565b91505b84518214620016d057845160405163521b3d3360e01b815262000462918491600401918252602082015260400190565b60008051602062006c90833981519152878787604051620016f493929190620024b7565b60405180910390a16000620017148862001a0960201b62001fce1760201c565b905060005b8151811015620017c15760008282815181106200173a576200173a620022a7565b60200260200101519050806001600160a01b03166382b6745f8b8b8b6040518463ffffffff1660e01b81526004016200177693929190620024b7565b600060405180830381600087803b1580156200179157600080fd5b505af1158015620017a6573d6000803e3d6000fd5b50505050508080620017b8906200245e565b91505062001719565b506000620017db8989620013ef60201b62001f0c1760201c565b90506000620017f58862001add60201b6200207c1760201c565b905062001811826000838962001ae360201b620020821760201c565b6200181e8660206200241d565b6200182a90826200241d565b90506200184287620012bd60201b620017b71760201c565b60ff16600003620018595750505050505050505050565b6000620018728b8b62001bcb60201b620021401760201c565b90506200188f8162000ba8876200143660201b620018851760201c565b60008060005b620018ab8b620012bd60201b620017b71760201c565b60ff168160ff1610156200192357620018d18e8e8362001bf360201b620021771760201c565b9250620018f08160ff168962001c3d60201b620021d01790919060201c565b91506200190c836000878562001ae360201b620020821760201c565b6200191882866200241d565b945060010162001895565b5050505050505050505050505050565b6008021b90565b5490565b600062001956826200133660201b620018001760201c565b90506200196e81620012b960201b620017b31760201c565b15620019a857816200198b8362000acc60201b620013ce1760201c565b60405163d623a70d60e01b815260040162000462929190620023a1565b919050565b6000620019ba82620012bd565b620019c583620012e0565b620019d19190620025df565b92915050565b6008820281811c6001600160e01b031990911c198416179392505050565b60f01c90565b016020015190565b60e01c90565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811062001a465762001a46620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015264486f6f6b7360d81b6030820152815180820390930183528101905260009062001aac9062001a989062002269565b83600062001c7e60201b620022021760201c565b90506200035c62001acc826000845162001d2160201b620022a81760201c565b62001d9760201b620023381760201c565b60200190565b60208304840193506020838162001afe5762001afe62002607565b069250821562001b6c576000836020039050600062001b288362001db560201b620023491760201c565b90506008850281811c91508451811c905081198754168282161787555081831162001b5557505062001545565b62001b626001876200241d565b9550509182019190035b6020811062001b99578151845562001b866001856200241d565b935060209190910190601f190162001b6c565b80156200154557600062001bb88262001db560201b620023491760201c565b8554845182169119161785555050505050565b600060008051602062006c70833981519152838360405160200162001417939291906200261d565b600060008051602062006c7083398151915284848460405160200162001c1d949392919062002668565b60408051601f198184030181529190528051602090910120949350505050565b60008062001c4d8360026200259b565b62001c5a9060046200241d565b905062001c7384826200193360201b620017e51760201c565b60f01c949350505050565b606062001c8a6200143d565b1562001cb05762001ca884848462001dc260201b620023561760201c565b9050620003e0565b60405163340fb6e360e21b8152339063d03edb8c9062001cd9908790879087906004016200269d565b600060405180830381865afa15801562001cf7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ca89190810190620026cb565b600081831115801562001d35575083518211155b62001d5b578383836040516323230fa360e01b8152600401620004629392919062002778565b6020840162001d6b84826200241d565b9050600062001d7b858562002560565b6001600160801b031660809290921b9190911795945050505050565b60606000620003e0836014600062001dea60201b620023711760201c565b60001960089091021c1990565b6060600062001dd1856200193e565b905062001de18585858462001f35565b95945050505050565b6060600062001e048562001f9560201b620024b41760201c565b9050600062001e1e8662001f9b60201b620024ba1760201c565b905060008462001e495762001e358660086200259b565b62001e439061010062002560565b62001e4c565b60005b9050600086838162001e625762001e6262002607565b04905062001e7187846200279f565b1562001ee65760405162461bcd60e51b815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840162000462565b602080820201604051955080860160405250808552600060208601855b8383101562001f27578051851c825260019290920191602090910190890162001f03565b505050505050509392505050565b606062001f4d82620012e060201b620017c81760201c565b60ff168360ff16101562001f7c5762001f748585858562001fa760201b620024cf1760201c565b90506200035c565b62001f74858585856200202c60201b6200252f1760201c565b60801c90565b6001600160801b031690565b6060600062001fc88460ff1684620012fa60201b620017d41790919060201c565b9050600062001fe58260c58111156200073157620007316200238b565b9050600062001ff58888620013ef565b90506000620020058688620020b4565b90506200201f8284836200210e60201b620025881760201c565b9998505050505050505050565b606060006200204683620012e060201b620017c81760201c565b62002052908562002438565b905060006200206387878462001bf3565b905060006200208f60ff84166200207b8a8a6200216b565b62001c3d60201b620021d01790919060201c565b9050620020a882826200217a60201b620025e81760201c565b98975050505050505050565b600080805b8360ff168110156200210657620020e3620009b98287620012fa60201b620017d41790919060201c565b620020ef90836200241d565b915080620020fd816200245e565b915050620020b9565b509392505050565b6060826001600160401b038111156200212b576200212b62002291565b6040519080825280601f01601f19166020018201604052801562002156576020820181803683370190505b5090506020810162002106858585846200218a565b600080620013d7848462001bcb565b6060620003e0838360006200210e565b602082048401935060208281620021a557620021a562002607565b06915081156200220b5760008260200390506000620021cf8262001db560201b620023491760201c565b90508554600885021b811984511682821617845250818511620021f457505062001545565b620022016001876200241d565b9550509283900392015b60208310620022375783548152620022256001856200241d565b9350601f19909201916020016200220b565b821562001545576000620022568462001db560201b620023491760201c565b8251865482169119161782525050505050565b805160208083015191908110156200228b576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60005b83811015620022da578181015183820152602001620022c0565b83811115620015455750506000910152565b6000815180845262002306816020860160208601620022bd565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156200236957601f1986840301895262002356838351620022ec565b9884019892509083019060010162002337565b5090979650505050505050565b602081526000620003e060208301846200231a565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006200035c6040830184620022ec565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103620023eb57620023eb620023bc565b60010192915050565b600061ffff808316818516808303821115620024145762002414620023bc565b01949350505050565b60008219821115620024335762002433620023bc565b500190565b600060ff821660ff841680821015620024555762002455620023bc565b90039392505050565b600060018201620024735762002473620023bc565b5060010190565b600081518084526020808501945080840160005b83811015620024ac578151875295820195908201906001016200248e565b509495945050505050565b838152606060208201526000620024d260608301856200247a565b8281036040840152620024e68185620022ec565b9695505050505050565b8381526060602082015260006200250b6060830185620022ec565b8281036040840152620024e681856200231a565b8381526000835162002539816020850160208801620022bd565b8083019050835162002553816020840160208801620022bd565b0160200195945050505050565b600082821015620025755762002575620023bc565b500390565b83815282602082015260606040820152600062001de160608301846200247a565b6000816000190483118215151615620025b857620025b8620023bc565b500290565b600063ffffffff808316818516808303821115620024145762002414620023bc565b600060ff821660ff84168060ff03821115620025ff57620025ff620023bc565b019392505050565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006200263e60808301846200247a565b828103606084015260068152650d8cadccee8d60d31b602082015260408101915050949350505050565b8481528360208201526080604082015260006200268960808301856200247a565b905060ff8316606083015295945050505050565b838152606060208201526000620026b860608301856200247a565b905060ff83166040830152949350505050565b600060208284031215620026de57600080fd5b81516001600160401b0380821115620026f657600080fd5b818401915084601f8301126200270b57600080fd5b81518181111562002720576200272062002291565b604051601f8201601f19908116603f011681019083821181831017156200274b576200274b62002291565b816040528281528760208487010111156200276557600080fd5b62000892836020830160208801620022bd565b6060815260006200278d6060830186620022ec565b60208301949094525060400152919050565b600082620027bd57634e487b7160e01b600052601260045260246000fd5b500690565b61449e80620027d26000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c8063916a17c6116100ee578063cd9847bc11610097578063d593368611610071578063d59336861461030a578063e20c9f7114610318578063fa7626d414610320578063fe86a89f1461032d57600080fd5b8063cd9847bc146102dc578063d03edb8c146102e4578063d4285dc2146102f757600080fd5b8063b5508aa9116100c8578063b5508aa9146102a9578063ba414fa6146102b1578063cc49db7e146102c957600080fd5b8063916a17c614610280578063a2ea7c6e14610288578063a5c2f007146101bb57600080fd5b8063419b58fd1161015b5780636e81fd71116101355780636e81fd7114610241578063776d40471461024f57806385226c811461025d5780638ed41f2f1461027257600080fd5b8063419b58fd146101fe578063505a181d1461021e57806366d9a9a01461022c57600080fd5b80631ed7831c1161018c5780631ed7831c146101d05780633e5e3c23146101ee5780633f7286f4146101f657600080fd5b80630a9254e4146101b35780630c1a6000146101bd578063114a7266146101bd575b600080fd5b6101bb61033b565b005b6101bb6101cb366004613988565b610382565b6101d86103b4565b6040516101e59190613a15565b60405180910390f35b6101d8610416565b6101d8610476565b61021161020c366004613a62565b6104d6565b6040516101e59190613b0d565b6101bb6101cb366004613b20565b610234610520565b6040516101e59190613b6c565b6101bb6101cb366004613c55565b6101bb6101cb366004613c91565b610265610624565b6040516101e59190613d7d565b6101bb6101cb366004613d90565b6102346106f4565b61029b610296366004613e0a565b6107ef565b6040519081526020016101e5565b610265610800565b6102b96108d0565b60405190151581526020016101e5565b6102116102d7366004613b20565b610a12565b6101bb610a59565b6102116102f2366004613e23565b610c1f565b61029b610305366004613e0a565b610c60565b6101bb6101cb366004613e81565b6101d8610c6b565b6000546102b99060ff1681565b6101bb6101cb366004613ead565b6103436125f6565b61034b612654565b601b5461035b9060801b306126b2565b601b546103809060801b6fffffffffffffffffffffffffffffffff19163060016127a1565b565b6040517fbf834eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060600d80548060200260200160405190810160405280929190818152602001828054801561040c57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103ee575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b60606105178585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061287d915050565b95945050505050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561061b5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561060357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116105b05790505b50505050508152505081526020019060010190610544565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561061b57838290600052602060002001805461066790613f16565b80601f016020809104026020016040519081016040528092919081815260200182805461069390613f16565b80156106e05780601f106106b5576101008083540402835291602001916106e0565b820191906000526020600020905b8154815290600101906020018083116106c357829003601f168201915b505050505081526020019060010190610648565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561061b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107d757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116107845790505b50505050508152505081526020019060010190610718565b60006107fa826129e2565b92915050565b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561061b57838290600052602060002001805461084390613f16565b80601f016020809104026020016040519081016040528092919081815260200182805461086f90613f16565b80156108bc5780601f10610891576101008083540402835291602001916108bc565b820191906000526020600020905b81548152906001019060200180831161089f57829003601f168201915b505050505081526020019060010190610824565b60008054610100900460ff16156108f05750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a0d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610995917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001613f50565b60408051601f19818403018152908290526109af91613f98565b6000604051808303816000865af19150503d80600081146109ec576040519150601f19603f3d011682016040523d82523d6000602084013e6109f1565b606091505b5091505080806020019051810190610a099190613fb4565b9150505b919050565b6060610a5184848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a3292505050565b949350505050565b601b54601c54610a8a91610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b612aa6565b601b54610abb9060801b6fffffffffffffffffffffffffffffffff19165b601c546001600160a01b031660016127a1565b601b54601c54610aec91610ae791608082811b92600160801b9004901b906001600160a01b0316612a4c565b612aac565b601b54610b1d9060801b6fffffffffffffffffffffffffffffffff19165b601c546001600160a01b031660006127a1565b601b54601c54610b4991610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b601b54610b8890600160801b81046fffffffffffffffffffffffffffffffff1660809190911b6fffffffffffffffffffffffffffffffff191617610aa8565b601b54601c54610bb491610ae791608082811b92600160801b9004901b906001600160a01b0316612a4c565b601b54610bf390600160801b81046fffffffffffffffffffffffffffffffff1660809190911b6fffffffffffffffffffffffffffffffff191617610b0a565b601b54601c5461038091610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b606061051785858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250612356915050565b60006107fa82612b20565b6060600c80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b60408051676d756473746f726560c01b602082015265736368656d6160d01b6030820152610d269101604051602081830303815290604052610d0c90613fd6565b610d17605f80610ea6565b610d21601f610f5b565b611add565b610d2e610fd3565b610d36611028565b610d3e611088565b610d466110e5565b60408051600280825260608201909252600091816020015b6060815260200190600190039081610d5e5790505090506040518060400160405280600b81526020017f76616c7565536368656d6100000000000000000000000000000000000000000081525081600081518110610dbe57610dbe614010565b60200260200101819052506040518060400160405280600981526020017f6b6579536368656d61000000000000000000000000000000000000000000000081525081600181518110610e1257610e12614010565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b60308201528151808203909301835281019052610ea390610e5f90613fd6565b60405180604001604052806006815260200165736368656d6160d01b81525083604051602001610e8f9190613d7d565b60405160208183030381529060405261113b565b50565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110610edf57610edf614010565b602002602001019060c5811115610ef857610ef8614026565b908160c5811115610f0b57610f0b614026565b815250508281600181518110610f2357610f23614010565b602002602001019060c5811115610f3c57610f3c614026565b908160c5811115610f4f57610f4f614026565b905250610a5181611888565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f9457610f94614010565b602002602001019060c5811115610fad57610fad614026565b908160c5811115610fc057610fc0614026565b905250610fcc81611888565b9392505050565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152610380910160405160208183030381529060405261101390613fd6565b61101b612b2b565b611023612ba3565b61154b565b60408051676d756473746f726560c01b60208201527f53746f72654d65746164617461000000000000000000000000000000000000006030820152610380910160405160208183030381529060405261108090613fd6565b61101b612bdd565b600080611093612c5c565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b60308201529294509092506110e191015b6040516020818303038152906040526110da90613fd6565b83836115e6565b5050565b6000806110f0612d0c565b60408051676d756473746f726560c01b60208201527f53746f72654d657461646174610000000000000000000000000000000000000060308201529294509092506110e191016110c2565b60006111478383612e27565b6040805160018082528183019092529192506000919060208083019080368337019050509050848160008151811061118157611181614010565b60209081029190910181019190915260408051676d756473746f726560c01b818401527f53746f72654d6574616461746100000000000000000000000000000000000000603082015281518082039093018352810190526111ec906111e590613fd6565b828461163e565b5050505050565b801580156111ff575081155b1561122557604051635318beb960e01b8152600060048201526024015b60405180910390fd5b6000611230836117b7565b60ff169050600e81111561125a57604051635318beb960e01b81526004810182905260240161121c565b6000611265846117c8565b60ff169050601c6112768383614052565b11156112a2576112868282614052565b604051635318beb960e01b815260040161121c91815260200190565b60008060005b6112b28585614052565b81101561137f5760006112de6112c889846117d4565b60c58111156112d9576112d9614026565b611696565b111561132f5783811061131d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826113278161406a565b935050611377565b83811015611369576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816113738161406a565b9250505b6001016112a8565b508282146113a357604051635318beb960e01b81526004810183905260240161121c565b8381146113c657604051635318beb960e01b81526004810182905260240161121c565b505050505050565b6060816040516020016113e391815260200190565b6040516020818303038152906040529050919050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061142f5761142f614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b603083015260009161148b91015b60405160208183030381529060405261148590613fd6565b83611f0c565b8481559050611499565b9055565b6114ac6114a7826020614052565b849055565b60408051676d756473746f726560c01b602082015265736368656d6160d01b60308201527f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32910160405160208183030381529060405261150b90613fd6565b83868660408051602081019390935282015260600160408051601f198184030181529082905261153c9392916140bf565b60405180910390a15050505050565b611553612edd565b1561156857611563838383611add565b505050565b6040517fd5933686000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260448101829052339063d5933686906064015b600060405180830381600087803b1580156115c957600080fd5b505af11580156115dd573d6000803e3d6000fd5b50505050505050565b6115ee612edd565b156115fe57611563838383611b4a565b6040517ffe86a89f000000000000000000000000000000000000000000000000000000008152339063fe86a89f906115af908690869086906004016140f4565b611646612edd565b1561165657611563838383611cb7565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f906115af908690869086906004016140bf565b6000808260c58111156116ab576116ab614026565b60ff16905060208110156116c457610fcc816001614052565b60408110156116e45760206116da826001614052565b610fcc919061411f565b60608110156116fa5760406116da826001614052565b60608360c581111561170e5761170e614026565b0361171c5750600192915050565b60618360c581111561173057611730614026565b0361173e5750601492915050565b50600092915050565b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b6008820281811c7fffff00000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b1590565b6000601882901b5b60f81c92915050565b6000601082901b6117bf565b60006117ec836117e5846004614052565b6008021b90565b60f81c60c5811115610fcc57610fcc614026565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061183957611839614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b603083015260009161187b910161146d565b9050610a51815490565b90565b6000601c825111156118b2578151604051635318beb960e01b815260040161121c91815260200190565b60008060008060005b86518110156119d95760006118f48883815181106118db576118db614010565b602002602001015160c58111156112d9576112d9614026565b905061ffff81161561194a578215611938576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361194281614136565b94505061194f565b600192505b6119598186614155565b94506119ce8661196a846004614052565b8a858151811061197c5761197c614010565b602002602001015160c581111561199557611995614026565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b9550506001016118bb565b5060008287516119e9919061417b565b9050600e8160ff161115611a1557604051635318beb960e01b815260ff8216600482015260240161121c565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b611ae88260006111f3565b611af38160016111f3565b611afc83612f4e565b15611b3f5782611b0b846113ce565b6040517f147bbb8c00000000000000000000000000000000000000000000000000000000815260040161121c92919061419e565b6115638383836113f9565b6000611b55846129e2565b9050815160001480611b725750611b6b81611f66565b60ff168251145b611bbe57611b7f81611f66565b82516040517ff2b2755900000000000000000000000000000000000000000000000000000000815260ff9092166004830152602482015260440161121c565b611bd4848484604051602001610e8f9190613d7d565b50505050565b6000806000805b8451811015611c8c57611c5783611bf98360026141b7565b611c04906004614052565b878481518110611c1657611c16614010565b602002602001015160f01b6008820281811c7fffff00000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b9250848181518110611c6b57611c6b614010565b602002602001015161ffff1682611c8291906141d6565b9150600101611be1565b507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821660e082901b17610a51565b6000611cc2846129e2565b90506000611cd08260f01c90565b905080600080611cdf856117b7565b60ff161115611d0d57506020848301015160e081901c611d00906020614052565b611d0a9083614052565b91505b84518214611d545784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261121c918491600401918252602082015260400190565b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32878787604051611d87939291906140bf565b60405180910390a16000611d9a88611fce565b905060005b8151811015611e3c576000828281518110611dbc57611dbc614010565b60200260200101519050806001600160a01b03166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401611df6939291906140bf565b600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b50505050508080611e349061406a565b915050611d9f565b506000611e498989611f0c565b905060208701611e5c8260008389612082565b611e67866020614052565b611e719082614052565b9050611e7c876117b7565b60ff16600003611e925750505050505050505050565b6000611e9e8b8b612140565b858155905060008060005b611eb28b6117b7565b60ff168160ff161015611efc57611eca8e8e83612177565b9250611ed98860ff83166121d0565b9150611ee88360008785612082565b611ef28286614052565b9450600101611ea9565b5050505050505050505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611f43939291906141f5565b60408051601f1981840301815291905280516020909101209392505050565b5490565b6000611f71826117b7565b611f7a836117c8565b6107fa9190614214565b6008820281811c7fffffffff0000000000000000000000000000000000000000000000000000000090911c198416179392505050565b60f01c90565b016020015190565b60e01c90565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061200857612008614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925264486f6f6b7360d81b603083015260009161206591015b60405160208183030381529060405261205d90613fd6565b836000612202565b9050610a5161207782600084516122a8565b612338565b60200190565b60208304840193506020838161209a5761209a614239565b06925082156120f35760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116120de575050611bd4565b6120e9600187614052565b9550509182019190035b6020811061211c578151845561210a600185614052565b935060209190910190601f19016120f3565b8015611bd4576000600019600883021c198554845182169119161785555050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611f439392919061424f565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016121b094939291906142af565b60408051601f198184030181529190528051602090910120949350505050565b6000806121de8360026141b7565b6121e9906004614052565b90506121f784826008021b90565b60f01c949350505050565b606061220c612edd565b156122235761221c848484612356565b9050610fcc565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90612263908790879087906004016142e2565b600060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261221c919081019061430e565b60008183111580156122bb575083518211155b6122f7578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161121c939291906143b0565b602084016123058482614052565b90506000612313858561411f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610fcc8360146000612371565b60001960089091021c1990565b60606000612363856129e2565b905061051785858584612f63565b6060600061237f8560801c90565b90506fffffffffffffffffffffffffffffffff85166000846123b7576123a68660086141b7565b6123b29061010061411f565b6123ba565b60005b905060008683816123cd576123cd614239565b0490506123da87846143d5565b15612467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161121c565b602080820201604051955080860160405250808552600060208601855b838310156124a6578051851c8252600192909201916020909101908901612484565b505050505050509392505050565b60801c90565b6fffffffffffffffffffffffffffffffff1690565b606060006124e08360ff86166117d4565b905060006124f98260c58111156112d9576112d9614026565b905060006125078888611f0c565b905060006125158688612f9a565b9050612522828483612588565b9998505050505050505050565b6060600061253c836117c8565b612546908561417b565b90506000612555878784612177565b905060006125708360ff1661256a8a8a612fd5565b906121d0565b905061257c82826125e8565b98975050505050505050565b60608267ffffffffffffffff8111156125a3576125a3613ffa565b6040519080825280601f01601f1916602001820160405280156125cd576020820181803683370190505b509050602081016125e085858584612fe2565b509392505050565b6060610fcc83836000612588565b60408051600060208201527f5265736f757263654163636573730000000000000000000000000000000000006030820152610380910160405160208183030381529060405261264490613fd6565b61264c613097565b6110236130d1565b60408051600060208201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015261038091016040516020818303038152906040526126a290613fd6565b6126aa613150565b61102361318a565b60408051600180825281830190925260009160208083019080368337019050509050826fffffffffffffffffffffffffffffffff1916816000815181106126fb576126fb614010565b602090810291909101810191909152604080516000818401527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526115639061275590613fd6565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602082015283906000906034015b6040516020818303038152906040526131c4565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106127d6576127d6614010565b6020026020010181815250508260601b6bffffffffffffffffffffffff19168160018151811061280857612808614010565b602090810291909101810191909152604080516000818401527f5265736f7572636541636365737300000000000000000000000000000000000060308201528151808203909301835281019052611bd49061286290613fd6565b8260008560405160200161278d91151560f81b815260010190565b6060600061288b8360f01c90565b90508060008061289a866117b7565b60ff16905080156128e5576128af8888612fd5565b915060006128bd8360e01c90565b11156128e5576128cd8260e01c90565b6128d8906020614052565b6128e29084614052565b92505b60008367ffffffffffffffff81111561290057612900613ffa565b6040519080825280601f01601f19166020018201604052801561292a576020820181803683370190505b5090506020810161293d8a8a888461325c565b6129478460e01c90565b60000361295b57509450610fcc9350505050565b6129658682614052565b8481529050612975602082614052565b905060005b838160ff1610156129d35760006129928c8c84612177565b905060006129a38760ff85166121d0565b90506129b28282600087612fe2565b6129bc8185614052565b9350505080806129cb90614136565b91505061297a565b50909998505050505050505050565b60006129ed82611800565b905080610a0d57816129fe836113ce565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161121c92919061419e565b60606000612a3f846129e2565b9050610a5184848361287d565b6000306001600160a01b0383161480612a7e5750612a7e6fffffffffffffffffffffffffffffffff1985165b8361327d565b80610a515750610a516fffffffffffffffffffffffffffffffff198516608085901c17612a78565b610ea381155b80610ea3577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051612b109060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610ea3613343565b60006129ed82613483565b6040805160018082528183019092526000918291906020808301908036833701905050905060c381600081518110612b6557612b65614010565b602002602001019060c5811115612b7e57612b7e614026565b908160c5811115612b9157612b91614026565b905250612b9d81611888565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110612b6557612b65614010565b6040805160028082526060820183526000928392919060208301908036833701905050905060c581600081518110612c1757612c17614010565b602002602001019060c5811115612c3057612c30614026565b908160c5811115612c4357612c43614026565b8152505060c481600181518110612b6557612b65614010565b6040805160018082528183019092526060918291600091816020015b6060815260200190600190039081612c785790505090506040518060400160405280600581526020017f76616c756500000000000000000000000000000000000000000000000000000081525081600081518110612cd857612cd8614010565b60200260200101819052508060405180604001604052806005815260200164486f6f6b7360d81b8152509092509250509091565b60408051600280825260608281019093528291600091816020015b6060815260200190600190039081612d275790505090506040518060400160405280600981526020017f7461626c654e616d65000000000000000000000000000000000000000000000081525081600081518110612d8757612d87614010565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600181518110612ddb57612ddb614010565b6020026020010181905250806040518060400160405280600d81526020017f53746f72654d65746164617461000000000000000000000000000000000000008152509092509250509091565b60408051600280825260608083018452926000929190602083019080368337019050509050835181600081518110612e6157612e61614010565b602002602001019061ffff16908161ffff1681525050825181600181518110612e8c57612e8c614010565b602002602001019061ffff16908161ffff16815250506000612ead82611bda565b9050808585604051602001612ec4939291906143f7565b6040516020818303038152906040529250505092915050565b6000303b808203612ef057600191505090565b306001600160a01b031663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b158015612f2957600080fd5b505afa925050508015612f3a575060015b612f4657600091505090565b600191505090565b6000612f5c6117b383611800565b1592915050565b6060612f6e826117c8565b60ff168360ff161015612f8e57612f87858585856124cf565b9050610a51565b612f878585858561252f565b600080805b8360ff168110156125e057612fb76112c886836117d4565b612fc19083614052565b915080612fcd8161406a565b915050612f9f565b60008061187b8484612140565b602082048401935060208281612ffa57612ffa614239565b069150811561304b5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511613036575050611bd4565b613041600187614052565b9550509283900392015b602083106130735783548152613062600185614052565b9350601f199092019160200161304b565b8215611bd4576000600019600885021c198251865482169119161782525050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606081600081518110612b6557612b65614010565b60408051600280825260608201835260009283929190602083019080368337019050509050605f8160008151811061310b5761310b614010565b602002602001019060c581111561312457613124614026565b908160c581111561313757613137614026565b81525050606181600181518110612b6557612b65614010565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110612b6557612b65614010565b60408051600180825281830190925260009182919060208083019080368337019050509050604f81600081518110612b6557612b65614010565b6131cc612edd565b156131e2576131dd8484848461350e565b611bd4565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a726690613224908790879087908790600401614434565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b5050505050505050565b8115611bd457600061326e8585611f0c565b90506111ec8184600085612fe2565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106132b6576132b6614010565b6020026020010181815250508260601b6bffffffffffffffffffffffff1916816001815181106132e8576132e8614010565b6020908102919091018101919091526040805160009281018390527f5265736f7572636541636365737300000000000000000000000000000000000060308201526133339101612045565b602081015190915060f81c610517565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134555760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526133f49291602001613f50565b60408051601f198184030181529082905261340e91613f98565b6000604051808303816000865af19150503d806000811461344b576040519150601f19603f3d011682016040523d82523d6000602084013e613450565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134bc576134bc614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b60308301526000916134fe910161146d565b9050610a51611f62826020614052565b6000613519856129e2565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c46858585856040516135509493929190614434565b60405180910390a1600061356386611fce565b905060005b815181101561360757600082828151811061358557613585614010565b60200260200101519050806001600160a01b031663469b7ee2898989896040518563ffffffff1660e01b81526004016135c19493929190614434565b600060405180830381600087803b1580156135db57600080fd5b505af11580156135ef573d6000803e3d6000fd5b505050505080806135ff9061406a565b915050613568565b50613611826117c8565b60ff168460ff1610156136305761362b86868487876136df565b61363d565b61363d8686848787613785565b60005b81518110156115dd57600082828151811061365d5761365d614010565b60200260200101519050806001600160a01b0316636b3d7d5f898989896040518563ffffffff1660e01b81526004016136999493929190614434565b600060405180830381600087803b1580156136b357600080fd5b505af11580156136c7573d6000803e3d6000fd5b505050505080806136d79061406a565b915050613640565b60006136ee8460ff85166117d4565b905081516137078260c58111156112d9576112d9614026565b1461375e576137218160c58111156112d9576112d9614026565b82516040517f521b3d330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161121c565b600061376a8787611f0c565b905060006137788686612f9a565b90506132528282866137c2565b6000613790846117c8565b61379a908461417b565b90506137a986868385516137d7565b60006137b6878784612177565b90506115dd8184613809565b6000602082019050611bd48484838551612082565b60006137e38585612140565b905060006137ef825490565b90506137ff8160ff861685613815565b80835590506113c6565b6110e1826000836137c2565b600083816138238260e01c90565b90506000613834878760ff166121d0565b905080851061385857613847818661411f565b6138519083614052565b915061386f565b613862858261411f565b61386c908361411f565b91505b600061387c8760026141b7565b613887906004614052565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1761257c565b60008083601f8401126138fb57600080fd5b50813567ffffffffffffffff81111561391357600080fd5b6020830191508360208260051b850101111561392e57600080fd5b9250929050565b803560ff81168114610a0d57600080fd5b60008083601f84011261395857600080fd5b50813567ffffffffffffffff81111561397057600080fd5b60208301915083602082850101111561392e57600080fd5b600080600080600080608087890312156139a157600080fd5b86359550602087013567ffffffffffffffff808211156139c057600080fd5b6139cc8a838b016138e9565b90975095508591506139e060408a01613935565b945060608901359150808211156139f657600080fd5b50613a0389828a01613946565b979a9699509497509295939492505050565b6020808252825182820181905260009190848201906040850190845b81811015613a565783516001600160a01b031683529284019291840191600101613a31565b50909695505050505050565b60008060008060608587031215613a7857600080fd5b84359350602085013567ffffffffffffffff811115613a9657600080fd5b613aa2878288016138e9565b9598909750949560400135949350505050565b60005b83811015613ad0578181015183820152602001613ab8565b83811115611bd45750506000910152565b60008151808452613af9816020860160208601613ab5565b601f01601f19169290920160200192915050565b602081526000610fcc6020830184613ae1565b600080600060408486031215613b3557600080fd5b83359250602084013567ffffffffffffffff811115613b5357600080fd5b613b5f868287016138e9565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015613c46578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613c315783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190613bef565b50978a01979550505091870191600101613b94565b50919998505050505050505050565b60008060408385031215613c6857600080fd5b8235915060208301356001600160a01b0381168114613c8657600080fd5b809150509250929050565b600080600080600080600060a0888a031215613cac57600080fd5b87359650602088013567ffffffffffffffff80821115613ccb57600080fd5b613cd78b838c016138e9565b9098509650869150613ceb60408b01613935565b955060608a0135945060808a0135915080821115613d0857600080fd5b50613d158a828b01613946565b989b979a50959850939692959293505050565b600081518084526020808501808196508360051b8101915082860160005b85811015613d70578284038952613d5e848351613ae1565b98850198935090840190600101613d46565b5091979650505050505050565b602081526000610fcc6020830184613d28565b600080600080600060608688031215613da857600080fd5b85359450602086013567ffffffffffffffff80821115613dc757600080fd5b613dd389838a016138e9565b90965094506040880135915080821115613dec57600080fd5b50613df988828901613946565b969995985093965092949392505050565b600060208284031215613e1c57600080fd5b5035919050565b60008060008060608587031215613e3957600080fd5b84359350602085013567ffffffffffffffff811115613e5757600080fd5b613e63878288016138e9565b9094509250613e76905060408601613935565b905092959194509250565b600080600060608486031215613e9657600080fd5b505081359360208301359350604090920135919050565b600080600080600060608688031215613ec557600080fd5b85359450602086013567ffffffffffffffff80821115613ee457600080fd5b613ef089838a01613946565b90965094506040880135915080821115613f0957600080fd5b50613df9888289016138e9565b600181811c90821680613f2a57607f821691505b602082108103613f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251613f8a816004850160208701613ab5565b919091016004019392505050565b60008251613faa818460208701613ab5565b9190910192915050565b600060208284031215613fc657600080fd5b81518015158114610fcc57600080fd5b80516020808301519190811015613f4a5760001960209190910360031b1b16919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156140655761406561403c565b500190565b6000600019820361407d5761407d61403c565b5060010190565b600081518084526020808501945080840160005b838110156140b457815187529582019590820190600101614098565b509495945050505050565b8381526060602082015260006140d86060830185614084565b82810360408401526140ea8185613ae1565b9695505050505050565b83815260606020820152600061410d6060830185613ae1565b82810360408401526140ea8185613d28565b6000828210156141315761413161403c565b500390565b600060ff821660ff810361414c5761414c61403c565b60010192915050565b600061ffff8083168185168083038211156141725761417261403c565b01949350505050565b600060ff821660ff8416808210156141955761419561403c565b90039392505050565b828152604060208201526000610a516040830184613ae1565b60008160001904831182151516156141d1576141d161403c565b500290565b600063ffffffff8083168185168083038211156141725761417261403c565b8381528260208201526060604082015260006105176060830184614084565b600060ff821660ff84168060ff038211156142315761423161403c565b019392505050565b634e487b7160e01b600052601260045260246000fd5b83815282602082015260806040820152600061426e6080830184614084565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b8481528360208201526080604082015260006142ce6080830185614084565b905060ff8316606083015295945050505050565b8381526060602082015260006142fb6060830185614084565b905060ff83166040830152949350505050565b60006020828403121561432057600080fd5b815167ffffffffffffffff8082111561433857600080fd5b818401915084601f83011261434c57600080fd5b81518181111561435e5761435e613ffa565b604051601f8201601f19908116603f0116810190838211818310171561438657614386613ffa565b8160405282815287602084870101111561439f57600080fd5b611ad2836020830160208801613ab5565b6060815260006143c36060830186613ae1565b60208301949094525060400152919050565b6000826143f257634e487b7160e01b600052601260045260246000fd5b500690565b8381526000835161440f816020850160208801613ab5565b80830190508351614427816020840160208801613ab5565b0160200195945050505050565b84815260806020820152600061444d6080830186614084565b60ff851660408401528281036060840152611ad28185613ae156fea2646970667358221220636e507face174f4ae92768a2912e791a5a7755963e64f2d6fb332d981e58ce964736f6c634300080d003386425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32";
|
|
1076
|
+
"0x60806040526000805460ff191660019081179091557f6e616d650000000000000000000000006e616d65737061636500000000000000601b55601c80546001600160a01b03191690911790553480156200005857600080fd5b506200006e6200007460201b62000ccb1760201c565b620027c2565b60408051676d756473746f726560c01b602082015265736368656d6160d01b6030820152620000ed9101604051602081830303815290604052620000b89062002269565b620000d0605f806200029360201b62000ea61760201c565b620000e7601f6200036460201b62000f5b1760201c565b620003e7565b620001026200048860201b62000fd31760201c565b62000117620004f260201b620010281760201c565b6200012c6200054760201b620010881760201c565b62000141620005b560201b620010e51760201c565b60408051600280825260608201909252600091816020015b6060815260200190600190039081620001595790505090506040518060400160405280600b81526020016a76616c7565536368656d6160a81b81525081600081518110620001ab57620001ab620022a7565b6020026020010181905250604051806040016040528060098152602001686b6579536368656d6160b81b81525081600181518110620001ee57620001ee620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b6030820152815180820390930183528101905262000290906200023e9062002269565b60405180604001604052806006815260200165736368656d6160d01b8152508360405160200162000270919062002376565b604051602081830303815290604052620005ff60201b6200113b1760201c565b50565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110620002cf57620002cf620022a7565b602002602001019060c5811115620002eb57620002eb6200238b565b908160c58111156200030157620003016200238b565b8152505082816001815181106200031c576200031c620022a7565b602002602001019060c58111156200033857620003386200238b565b908160c58111156200034e576200034e6200238b565b9052506200035c81620006bb565b949350505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110620003a057620003a0620022a7565b602002602001019060c5811115620003bc57620003bc6200238b565b908160c5811115620003d257620003d26200238b565b905250620003e081620006bb565b9392505050565b620004026000836200089d60201b620011f31790919060201c565b6200041d6001826200089d60201b620011f31790919060201c565b620004288362000a98565b156200046b5782620004458462000acc60201b620013ce1760201c565b60405163051eeee360e21b815260040162000462929190620023a1565b60405180910390fd5b6200048383838362000af860201b620013f91760201c565b505050565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152620004f09101604051602081830303815290604052620004cb9062002269565b620004d562000c9c565b620004df62000d2b565b62000d6860201b6200154b1760201c565b565b60408051676d756473746f726560c01b60208201526c53746f72654d6574616461746160981b6030820152620004f091016040516020818303038152906040526200053d9062002269565b620004d562000df7565b6000806200055462000e82565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152929450909250620005b191015b6040516020818303038152906040526200059e9062002269565b838362000f1e60201b620015e61760201c565b5050565b600080620005c262000f6f565b60408051676d756473746f726560c01b60208201526c53746f72654d6574616461746160981b6030820152929450909250620005b1910162000584565b60006200060d83836200106d565b604080516001808252818301909252919250600091906020808301908036833701905050905084816000815181106200064a576200064a620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b818401526c53746f72654d6574616461746160981b60308201528151808203909301835281019052620006b490620006a19062002269565b82846200114d60201b6200163e1760201c565b5050505050565b6000601c82511115620006e7578151604051635318beb960e01b81526004016200046291815260200190565b60008060008060005b8651811015620007fa57600062000742888381518110620007155762000715620022a7565b602002602001015160c58111156200073157620007316200238b565b6200119e60201b620016961760201c565b905061ffff811615620007845782156200076f57604051633c795af960e21b815260040160405180910390fd5b836200077b81620023d2565b94505062000789565b600192505b620007958186620023f4565b9450620007ee86620007a98460046200241d565b8a8581518110620007be57620007be620022a7565b602002602001015160c5811115620007da57620007da6200238b565b60f81b6200126560201b620017471760201c565b955050600101620006f0565b5060008287516200080c919062002438565b9050600e8160ff1611156200083a57604051635318beb960e01b815260ff8216600482015260240162000462565b620008568560008660f01b6200129b60201b6200177d1760201c565b9450620008748560028560f81b6200126560201b620017471760201c565b9450620008928560038360f81b6200126560201b620017471760201c565b979650505050505050565b80158015620008bd5750620008bd82620012b960201b620017b31760201c565b15620008e057604051635318beb960e01b81526000600482015260240162000462565b6000620008f883620012bd60201b620017b71760201c565b60ff169050600e8111156200092457604051635318beb960e01b81526004810182905260240162000462565b60006200093c84620012e060201b620017c81760201c565b60ff169050601c6200094f83836200241d565b11156200097f576200096282826200241d565b604051635318beb960e01b81526004016200046291815260200190565b60008060005b6200099185856200241d565b81101562000a45576000620009cd620009b9838a620012fa60201b620017d41790919060201c565b60c58111156200073157620007316200238b565b111562000a0a57838110620009f557604051633c795af960e21b815260040160405180910390fd5b8262000a01816200245e565b93505062000a3c565b8381101562000a2c57604051633c795af960e21b815260040160405180910390fd5b8162000a38816200245e565b9250505b60010162000985565b5082821462000a6b57604051635318beb960e01b81526004810183905260240162000462565b83811462000a9057604051635318beb960e01b81526004810182905260240162000462565b505050505050565b600062000ac562000ab4836200133660201b620018001760201c565b620012b960201b620017b31760201c565b1592915050565b60608160405160200162000ae291815260200190565b6040516020818303038152906040529050919050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811062000b315762000b31620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b6030820152815180820390930183528101905260009062000b8b9062000b849062002269565b83620013ef565b905062000bb98162000ba8866200143660201b620018851760201c565b6200143960201b620014951760201c565b62000be062000bca8260206200241d565b62000ba8856200143660201b620018851760201c565b60408051676d756473746f726560c01b602082015265736368656d6160d01b603082015260008051602062006c90833981519152910160405160208183030381529060405262000c309062002269565b8362000c47876200143660201b620018851760201c565b62000c5d876200143660201b620018851760201c565b60408051602081019390935282015260600160408051601f198184030181529082905262000c8d939291620024b7565b60405180910390a15050505050565b6040805160018082528183019092526000918291906020808301908036833701905050905060c38160008151811062000cd95762000cd9620022a7565b602002602001019060c581111562000cf55762000cf56200238b565b908160c581111562000d0b5762000d0b6200238b565b8152505062000d2581620006bb60201b620018881760201c565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f8160008151811062000cd95762000cd9620022a7565b62000d726200143d565b1562000d905762000483838383620003e760201b62001add1760201c565b604051636ac99b4360e11b8152600481018490526024810183905260448101829052339063d5933686906064015b600060405180830381600087803b15801562000dd957600080fd5b505af115801562000dee573d6000803e3d6000fd5b50505050505050565b6040805160028082526060820183526000928392919060208301908036833701905050905060c58160008151811062000e345762000e34620022a7565b602002602001019060c581111562000e505762000e506200238b565b908160c581111562000e665762000e666200238b565b8152505060c48160018151811062000cd95762000cd9620022a7565b6040805160018082528183019092526060918291600091816020015b606081526020019060019003908162000e9e5790505090506040518060400160405280600581526020016476616c756560d81b8152508160008151811062000eea5762000eea620022a7565b60200260200101819052508060405180604001604052806005815260200164486f6f6b7360d81b8152509092509250509091565b62000f286200143d565b1562000f465762000483838383620014b260201b62001b4a1760201c565b60405163fe86a89f60e01b8152339063fe86a89f9062000dbe90869086908690600401620024f0565b60408051600280825260608281019093528291600091816020015b606081526020019060019003908162000f8a579050509050604051806040016040528060098152602001687461626c654e616d6560b81b8152508160008151811062000fda5762000fda620022a7565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600181518110620010315762001031620022a7565b6020026020010181905250806040518060400160405280600d81526020016c53746f72654d6574616461746160981b8152509092509250509091565b60408051600280825260608083018452926000929190602083019080368337019050509050835181600081518110620010aa57620010aa620022a7565b602002602001019061ffff16908161ffff1681525050825181600181518110620010d857620010d8620022a7565b602002602001019061ffff16908161ffff1681525050600062001106826200154b60201b62001bda1760201c565b90506200111e816200143660201b620018851760201c565b858560405160200162001134939291906200251f565b6040516020818303038152906040529250505092915050565b620011576200143d565b156200117557620004838383836200160460201b62001cb71760201c565b604051638ed41f2f60e01b81523390638ed41f2f9062000dbe90869086908690600401620024b7565b6000808260c5811115620011b657620011b66200238b565b60ff1690506020811015620011d257620003e08160016200241d565b6040811015620011f7576020620011eb8260016200241d565b620003e0919062002560565b606081101562001210576040620011eb8260016200241d565b60608360c58111156200122757620012276200238b565b03620012365750600192915050565b60618360c58111156200124d576200124d6200238b565b036200125c5750601492915050565b50600092915050565b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b6008820281811c6001600160f01b031990911c198416179392505050565b1590565b6000620012d78260036200193360201b620017e51760201c565b60f81c92915050565b6000620012d78260026200193360201b620017e51760201c565b60006200131f836200130e8460046200241d565b6200193360201b620017e51760201c565b60f81c60c5811115620003e057620003e06200238b565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110620013725762001372620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b60308201528151808203909301835281019052600090620013d790620013c59062002269565b83620013ef60201b62001f0c1760201c565b90506200035c816200193a60201b62001f621760201c565b600060008051602062006c70833981519152838360405160200162001417939291906200257a565b60408051601f1981840301815291905280516020909101209392505050565b90565b9055565b6000303b8082036200145157600191505090565b306001600160a01b031663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b1580156200148b57600080fd5b505afa9250505080156200149d575060015b620014aa57600091505090565b600191505090565b6000620014bf846200193e565b9050815160001480620014ea5750620014e381620019ad60201b62001f661760201c565b60ff168251145b6200152c576200150581620019ad60201b62001f661760201c565b825160405163f2b2755960e01b815260ff9092166004830152602482015260440162000462565b6200154584848460405160200162000270919062002376565b50505050565b6000806000805b8451811015620015e757620015ac836200156e8360026200259b565b6200157b9060046200241d565b878481518110620015905762001590620022a7565b602002602001015160f01b6200129b60201b6200177d1760201c565b9250848181518110620015c357620015c3620022a7565b602002602001015161ffff1682620015dc9190620025bd565b915060010162001552565b506200035c8260008360e01b620019d760201b62001f841760201c565b600062001611846200193e565b905060006200162b82620019f560201b62001fba1760201c565b905060008190506000806200164b85620012bd60201b620017b71760201c565b60ff161115620016a0576200166c8584620019fb60201b62001fc01760201c565b9050620016848162001a0360201b62001fc81760201c565b620016919060206200241d565b6200169d90836200241d565b91505b84518214620016d057845160405163521b3d3360e01b815262000462918491600401918252602082015260400190565b60008051602062006c90833981519152878787604051620016f493929190620024b7565b60405180910390a16000620017148862001a0960201b62001fce1760201c565b905060005b8151811015620017c15760008282815181106200173a576200173a620022a7565b60200260200101519050806001600160a01b03166382b6745f8b8b8b6040518463ffffffff1660e01b81526004016200177693929190620024b7565b600060405180830381600087803b1580156200179157600080fd5b505af1158015620017a6573d6000803e3d6000fd5b50505050508080620017b8906200245e565b91505062001719565b506000620017db8989620013ef60201b62001f0c1760201c565b90506000620017f58862001add60201b6200207c1760201c565b905062001811826000838962001ae360201b620020821760201c565b6200181e8660206200241d565b6200182a90826200241d565b90506200184287620012bd60201b620017b71760201c565b60ff16600003620018595750505050505050505050565b6000620018728b8b62001bcb60201b620021401760201c565b90506200188f8162000ba8876200143660201b620018851760201c565b60008060005b620018ab8b620012bd60201b620017b71760201c565b60ff168160ff1610156200192357620018d18e8e8362001bf360201b620021771760201c565b9250620018f08160ff168962001c3d60201b620021d01790919060201c565b91506200190c836000878562001ae360201b620020821760201c565b6200191882866200241d565b945060010162001895565b5050505050505050505050505050565b6008021b90565b5490565b600062001956826200133660201b620018001760201c565b90506200196e81620012b960201b620017b31760201c565b15620019a857816200198b8362000acc60201b620013ce1760201c565b60405163d623a70d60e01b815260040162000462929190620023a1565b919050565b6000620019ba82620012bd565b620019c583620012e0565b620019d19190620025df565b92915050565b6008820281811c6001600160e01b031990911c198416179392505050565b60f01c90565b016020015190565b60e01c90565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811062001a465762001a46620022a7565b60209081029190910181019190915260408051676d756473746f726560c01b8184015264486f6f6b7360d81b6030820152815180820390930183528101905260009062001aac9062001a989062002269565b83600062001c7e60201b620022021760201c565b90506200035c62001acc826000845162001d2160201b620022a81760201c565b62001d9760201b620023381760201c565b60200190565b60208304840193506020838162001afe5762001afe62002607565b069250821562001b6c576000836020039050600062001b288362001db560201b620023491760201c565b90506008850281811c91508451811c905081198754168282161787555081831162001b5557505062001545565b62001b626001876200241d565b9550509182019190035b6020811062001b99578151845562001b866001856200241d565b935060209190910190601f190162001b6c565b80156200154557600062001bb88262001db560201b620023491760201c565b8554845182169119161785555050505050565b600060008051602062006c70833981519152838360405160200162001417939291906200261d565b600060008051602062006c7083398151915284848460405160200162001c1d949392919062002668565b60408051601f198184030181529190528051602090910120949350505050565b60008062001c4d8360026200259b565b62001c5a9060046200241d565b905062001c7384826200193360201b620017e51760201c565b60f01c949350505050565b606062001c8a6200143d565b1562001cb05762001ca884848462001dc260201b620023561760201c565b9050620003e0565b60405163340fb6e360e21b8152339063d03edb8c9062001cd9908790879087906004016200269d565b600060405180830381865afa15801562001cf7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001ca89190810190620026cb565b600081831115801562001d35575083518211155b62001d5b578383836040516323230fa360e01b8152600401620004629392919062002778565b6020840162001d6b84826200241d565b9050600062001d7b858562002560565b6001600160801b031660809290921b9190911795945050505050565b60606000620003e0836014600062001dea60201b620023711760201c565b60001960089091021c1990565b6060600062001dd1856200193e565b905062001de18585858462001f35565b95945050505050565b6060600062001e048562001f9560201b620024b41760201c565b9050600062001e1e8662001f9b60201b620024ba1760201c565b905060008462001e495762001e358660086200259b565b62001e439061010062002560565b62001e4c565b60005b9050600086838162001e625762001e6262002607565b04905062001e7187846200279f565b1562001ee65760405162461bcd60e51b815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840162000462565b602080820201604051955080860160405250808552600060208601855b8383101562001f27578051851c825260019290920191602090910190890162001f03565b505050505050509392505050565b606062001f4d82620012e060201b620017c81760201c565b60ff168360ff16101562001f7c5762001f748585858562001fa760201b620024cf1760201c565b90506200035c565b62001f74858585856200202c60201b6200252f1760201c565b60801c90565b6001600160801b031690565b6060600062001fc88460ff1684620012fa60201b620017d41790919060201c565b9050600062001fe58260c58111156200073157620007316200238b565b9050600062001ff58888620013ef565b90506000620020058688620020b4565b90506200201f8284836200210e60201b620025881760201c565b9998505050505050505050565b606060006200204683620012e060201b620017c81760201c565b62002052908562002438565b905060006200206387878462001bf3565b905060006200208f60ff84166200207b8a8a6200216b565b62001c3d60201b620021d01790919060201c565b9050620020a882826200217a60201b620025e81760201c565b98975050505050505050565b600080805b8360ff168110156200210657620020e3620009b98287620012fa60201b620017d41790919060201c565b620020ef90836200241d565b915080620020fd816200245e565b915050620020b9565b509392505050565b6060826001600160401b038111156200212b576200212b62002291565b6040519080825280601f01601f19166020018201604052801562002156576020820181803683370190505b5090506020810162002106858585846200218a565b600080620013d7848462001bcb565b6060620003e0838360006200210e565b602082048401935060208281620021a557620021a562002607565b06915081156200220b5760008260200390506000620021cf8262001db560201b620023491760201c565b90508554600885021b811984511682821617845250818511620021f457505062001545565b620022016001876200241d565b9550509283900392015b60208310620022375783548152620022256001856200241d565b9350601f19909201916020016200220b565b821562001545576000620022568462001db560201b620023491760201c565b8251865482169119161782525050505050565b805160208083015191908110156200228b576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60005b83811015620022da578181015183820152602001620022c0565b83811115620015455750506000910152565b6000815180845262002306816020860160208601620022bd565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156200236957601f1986840301895262002356838351620022ec565b9884019892509083019060010162002337565b5090979650505050505050565b602081526000620003e060208301846200231a565b634e487b7160e01b600052602160045260246000fd5b8281526040602082015260006200035c6040830184620022ec565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff8103620023eb57620023eb620023bc565b60010192915050565b600061ffff808316818516808303821115620024145762002414620023bc565b01949350505050565b60008219821115620024335762002433620023bc565b500190565b600060ff821660ff841680821015620024555762002455620023bc565b90039392505050565b600060018201620024735762002473620023bc565b5060010190565b600081518084526020808501945080840160005b83811015620024ac578151875295820195908201906001016200248e565b509495945050505050565b838152606060208201526000620024d260608301856200247a565b8281036040840152620024e68185620022ec565b9695505050505050565b8381526060602082015260006200250b6060830185620022ec565b8281036040840152620024e681856200231a565b8381526000835162002539816020850160208801620022bd565b8083019050835162002553816020840160208801620022bd565b0160200195945050505050565b600082821015620025755762002575620023bc565b500390565b83815282602082015260606040820152600062001de160608301846200247a565b6000816000190483118215151615620025b857620025b8620023bc565b500290565b600063ffffffff808316818516808303821115620024145762002414620023bc565b600060ff821660ff84168060ff03821115620025ff57620025ff620023bc565b019392505050565b634e487b7160e01b600052601260045260246000fd5b8381528260208201526080604082015260006200263e60808301846200247a565b828103606084015260068152650d8cadccee8d60d31b602082015260408101915050949350505050565b8481528360208201526080604082015260006200268960808301856200247a565b905060ff8316606083015295945050505050565b838152606060208201526000620026b860608301856200247a565b905060ff83166040830152949350505050565b600060208284031215620026de57600080fd5b81516001600160401b0380821115620026f657600080fd5b818401915084601f8301126200270b57600080fd5b81518181111562002720576200272062002291565b604051601f8201601f19908116603f011681019083821181831017156200274b576200274b62002291565b816040528281528760208487010111156200276557600080fd5b62000892836020830160208801620022bd565b6060815260006200278d6060830186620022ec565b60208301949094525060400152919050565b600082620027bd57634e487b7160e01b600052601260045260246000fd5b500690565b61449e80620027d26000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c8063916a17c6116100ee578063cd9847bc11610097578063d593368611610071578063d59336861461030a578063e20c9f7114610318578063fa7626d414610320578063fe86a89f1461032d57600080fd5b8063cd9847bc146102dc578063d03edb8c146102e4578063d4285dc2146102f757600080fd5b8063b5508aa9116100c8578063b5508aa9146102a9578063ba414fa6146102b1578063cc49db7e146102c957600080fd5b8063916a17c614610280578063a2ea7c6e14610288578063a5c2f007146101bb57600080fd5b8063419b58fd1161015b5780636e81fd71116101355780636e81fd7114610241578063776d40471461024f57806385226c811461025d5780638ed41f2f1461027257600080fd5b8063419b58fd146101fe578063505a181d1461021e57806366d9a9a01461022c57600080fd5b80631ed7831c1161018c5780631ed7831c146101d05780633e5e3c23146101ee5780633f7286f4146101f657600080fd5b80630a9254e4146101b35780630c1a6000146101bd578063114a7266146101bd575b600080fd5b6101bb61033b565b005b6101bb6101cb366004613988565b610382565b6101d86103b4565b6040516101e59190613a15565b60405180910390f35b6101d8610416565b6101d8610476565b61021161020c366004613a62565b6104d6565b6040516101e59190613b0d565b6101bb6101cb366004613b20565b610234610520565b6040516101e59190613b6c565b6101bb6101cb366004613c55565b6101bb6101cb366004613c91565b610265610624565b6040516101e59190613d7d565b6101bb6101cb366004613d90565b6102346106f4565b61029b610296366004613e0a565b6107ef565b6040519081526020016101e5565b610265610800565b6102b96108d0565b60405190151581526020016101e5565b6102116102d7366004613b20565b610a12565b6101bb610a59565b6102116102f2366004613e23565b610c1f565b61029b610305366004613e0a565b610c60565b6101bb6101cb366004613e81565b6101d8610c6b565b6000546102b99060ff1681565b6101bb6101cb366004613ead565b6103436125f6565b61034b612654565b601b5461035b9060801b306126b2565b601b546103809060801b6fffffffffffffffffffffffffffffffff19163060016127a1565b565b6040517fbf834eb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060600d80548060200260200160405190810160405280929190818152602001828054801561040c57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103ee575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b60606105178585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061287d915050565b95945050505050565b60606012805480602002602001604051908101604052809291908181526020016000905b8282101561061b5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561060357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116105b05790505b50505050508152505081526020019060010190610544565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b8282101561061b57838290600052602060002001805461066790613f16565b80601f016020809104026020016040519081016040528092919081815260200182805461069390613f16565b80156106e05780601f106106b5576101008083540402835291602001916106e0565b820191906000526020600020905b8154815290600101906020018083116106c357829003601f168201915b505050505081526020019060010190610648565b60606013805480602002602001604051908101604052809291908181526020016000905b8282101561061b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156107d757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116107845790505b50505050508152505081526020019060010190610718565b60006107fa826129e2565b92915050565b60606010805480602002602001604051908101604052809291908181526020016000905b8282101561061b57838290600052602060002001805461084390613f16565b80601f016020809104026020016040519081016040528092919081815260200182805461086f90613f16565b80156108bc5780601f10610891576101008083540402835291602001916108bc565b820191906000526020600020905b81548152906001019060200180831161089f57829003601f168201915b505050505081526020019060010190610824565b60008054610100900460ff16156108f05750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610a0d5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610995917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001613f50565b60408051601f19818403018152908290526109af91613f98565b6000604051808303816000865af19150503d80600081146109ec576040519150601f19603f3d011682016040523d82523d6000602084013e6109f1565b606091505b5091505080806020019051810190610a099190613fb4565b9150505b919050565b6060610a5184848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a3292505050565b949350505050565b601b54601c54610a8a91610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b612aa6565b601b54610abb9060801b6fffffffffffffffffffffffffffffffff19165b601c546001600160a01b031660016127a1565b601b54601c54610aec91610ae791608082811b92600160801b9004901b906001600160a01b0316612a4c565b612aac565b601b54610b1d9060801b6fffffffffffffffffffffffffffffffff19165b601c546001600160a01b031660006127a1565b601b54601c54610b4991610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b601b54610b8890600160801b81046fffffffffffffffffffffffffffffffff1660809190911b6fffffffffffffffffffffffffffffffff191617610aa8565b601b54601c54610bb491610ae791608082811b92600160801b9004901b906001600160a01b0316612a4c565b601b54610bf390600160801b81046fffffffffffffffffffffffffffffffff1660809190911b6fffffffffffffffffffffffffffffffff191617610b0a565b601b54601c5461038091610a8591608082811b92600160801b9004901b906001600160a01b0316612a4c565b606061051785858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250612356915050565b60006107fa82612b20565b6060600c80548060200260200160405190810160405280929190818152602001828054801561040c576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116103ee575050505050905090565b60408051676d756473746f726560c01b602082015265736368656d6160d01b6030820152610d269101604051602081830303815290604052610d0c90613fd6565b610d17605f80610ea6565b610d21601f610f5b565b611add565b610d2e610fd3565b610d36611028565b610d3e611088565b610d466110e5565b60408051600280825260608201909252600091816020015b6060815260200190600190039081610d5e5790505090506040518060400160405280600b81526020017f76616c7565536368656d6100000000000000000000000000000000000000000081525081600081518110610dbe57610dbe614010565b60200260200101819052506040518060400160405280600981526020017f6b6579536368656d61000000000000000000000000000000000000000000000081525081600181518110610e1257610e12614010565b60209081029190910181019190915260408051676d756473746f726560c01b8184015265736368656d6160d01b60308201528151808203909301835281019052610ea390610e5f90613fd6565b60405180604001604052806006815260200165736368656d6160d01b81525083604051602001610e8f9190613d7d565b60405160208183030381529060405261113b565b50565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110610edf57610edf614010565b602002602001019060c5811115610ef857610ef8614026565b908160c5811115610f0b57610f0b614026565b815250508281600181518110610f2357610f23614010565b602002602001019060c5811115610f3c57610f3c614026565b908160c5811115610f4f57610f4f614026565b905250610a5181611888565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610f9457610f94614010565b602002602001019060c5811115610fad57610fad614026565b908160c5811115610fc057610fc0614026565b905250610fcc81611888565b9392505050565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b6030820152610380910160405160208183030381529060405261101390613fd6565b61101b612b2b565b611023612ba3565b61154b565b60408051676d756473746f726560c01b60208201527f53746f72654d65746164617461000000000000000000000000000000000000006030820152610380910160405160208183030381529060405261108090613fd6565b61101b612bdd565b600080611093612c5c565b60408051676d756473746f726560c01b602082015264486f6f6b7360d81b60308201529294509092506110e191015b6040516020818303038152906040526110da90613fd6565b83836115e6565b5050565b6000806110f0612d0c565b60408051676d756473746f726560c01b60208201527f53746f72654d657461646174610000000000000000000000000000000000000060308201529294509092506110e191016110c2565b60006111478383612e27565b6040805160018082528183019092529192506000919060208083019080368337019050509050848160008151811061118157611181614010565b60209081029190910181019190915260408051676d756473746f726560c01b818401527f53746f72654d6574616461746100000000000000000000000000000000000000603082015281518082039093018352810190526111ec906111e590613fd6565b828461163e565b5050505050565b801580156111ff575081155b1561122557604051635318beb960e01b8152600060048201526024015b60405180910390fd5b6000611230836117b7565b60ff169050600e81111561125a57604051635318beb960e01b81526004810182905260240161121c565b6000611265846117c8565b60ff169050601c6112768383614052565b11156112a2576112868282614052565b604051635318beb960e01b815260040161121c91815260200190565b60008060005b6112b28585614052565b81101561137f5760006112de6112c889846117d4565b60c58111156112d9576112d9614026565b611696565b111561132f5783811061131d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826113278161406a565b935050611377565b83811015611369576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816113738161406a565b9250505b6001016112a8565b508282146113a357604051635318beb960e01b81526004810183905260240161121c565b8381146113c657604051635318beb960e01b81526004810182905260240161121c565b505050505050565b6060816040516020016113e391815260200190565b6040516020818303038152906040529050919050565b60408051600180825281830190925260009160208083019080368337019050509050838160008151811061142f5761142f614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b603083015260009161148b91015b60405160208183030381529060405261148590613fd6565b83611f0c565b8481559050611499565b9055565b6114ac6114a7826020614052565b849055565b60408051676d756473746f726560c01b602082015265736368656d6160d01b60308201527f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32910160405160208183030381529060405261150b90613fd6565b83868660408051602081019390935282015260600160408051601f198184030181529082905261153c9392916140bf565b60405180910390a15050505050565b611553612edd565b1561156857611563838383611add565b505050565b6040517fd5933686000000000000000000000000000000000000000000000000000000008152600481018490526024810183905260448101829052339063d5933686906064015b600060405180830381600087803b1580156115c957600080fd5b505af11580156115dd573d6000803e3d6000fd5b50505050505050565b6115ee612edd565b156115fe57611563838383611b4a565b6040517ffe86a89f000000000000000000000000000000000000000000000000000000008152339063fe86a89f906115af908690869086906004016140f4565b611646612edd565b1561165657611563838383611cb7565b6040517f8ed41f2f0000000000000000000000000000000000000000000000000000000081523390638ed41f2f906115af908690869086906004016140bf565b6000808260c58111156116ab576116ab614026565b60ff16905060208110156116c457610fcc816001614052565b60408110156116e45760206116da826001614052565b610fcc919061411f565b60608110156116fa5760406116da826001614052565b60608360c581111561170e5761170e614026565b0361171c5750600192915050565b60618360c581111561173057611730614026565b0361173e5750601492915050565b50600092915050565b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b6008820281811c7fffff00000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b1590565b6000601882901b5b60f81c92915050565b6000601082901b6117bf565b60006117ec836117e5846004614052565b6008021b90565b60f81c60c5811115610fcc57610fcc614026565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061183957611839614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b603083015260009161187b910161146d565b9050610a51815490565b90565b6000601c825111156118b2578151604051635318beb960e01b815260040161121c91815260200190565b60008060008060005b86518110156119d95760006118f48883815181106118db576118db614010565b602002602001015160c58111156112d9576112d9614026565b905061ffff81161561194a578215611938576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8361194281614136565b94505061194f565b600192505b6119598186614155565b94506119ce8661196a846004614052565b8a858151811061197c5761197c614010565b602002602001015160c581111561199557611995614026565b60f81b6008820281811c7fff0000000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b9550506001016118bb565b5060008287516119e9919061417b565b9050600e8160ff161115611a1557604051635318beb960e01b815260ff8216600482015260240161121c565b7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851660f085901b1794507fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167dff000000000000000000000000000000000000000000000000000000000060e885901b161794507fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff85167cff0000000000000000000000000000000000000000000000000000000060e083901b16175b979650505050505050565b611ae88260006111f3565b611af38160016111f3565b611afc83612f4e565b15611b3f5782611b0b846113ce565b6040517f147bbb8c00000000000000000000000000000000000000000000000000000000815260040161121c92919061419e565b6115638383836113f9565b6000611b55846129e2565b9050815160001480611b725750611b6b81611f66565b60ff168251145b611bbe57611b7f81611f66565b82516040517ff2b2755900000000000000000000000000000000000000000000000000000000815260ff9092166004830152602482015260440161121c565b611bd4848484604051602001610e8f9190613d7d565b50505050565b6000806000805b8451811015611c8c57611c5783611bf98360026141b7565b611c04906004614052565b878481518110611c1657611c16614010565b602002602001015160f01b6008820281811c7fffff00000000000000000000000000000000000000000000000000000000000090911c198416179392505050565b9250848181518110611c6b57611c6b614010565b602002602001015161ffff1682611c8291906141d6565b9150600101611be1565b507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff821660e082901b17610a51565b6000611cc2846129e2565b90506000611cd08260f01c90565b905080600080611cdf856117b7565b60ff161115611d0d57506020848301015160e081901c611d00906020614052565b611d0a9083614052565b91505b84518214611d545784516040517f521b3d3300000000000000000000000000000000000000000000000000000000815261121c918491600401918252602082015260400190565b7f912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32878787604051611d87939291906140bf565b60405180910390a16000611d9a88611fce565b905060005b8151811015611e3c576000828281518110611dbc57611dbc614010565b60200260200101519050806001600160a01b03166382b6745f8b8b8b6040518463ffffffff1660e01b8152600401611df6939291906140bf565b600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b50505050508080611e349061406a565b915050611d9f565b506000611e498989611f0c565b905060208701611e5c8260008389612082565b611e67866020614052565b611e719082614052565b9050611e7c876117b7565b60ff16600003611e925750505050505050505050565b6000611e9e8b8b612140565b858155905060008060005b611eb28b6117b7565b60ff168160ff161015611efc57611eca8e8e83612177565b9250611ed98860ff83166121d0565b9150611ee88360008785612082565b611ef28286614052565b9450600101611ea9565b5050505050505050505050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611f43939291906141f5565b60408051601f1981840301815291905280516020909101209392505050565b5490565b6000611f71826117b7565b611f7a836117c8565b6107fa9190614214565b6008820281811c7fffffffff0000000000000000000000000000000000000000000000000000000090911c198416179392505050565b60f01c90565b016020015190565b60e01c90565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061200857612008614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925264486f6f6b7360d81b603083015260009161206591015b60405160208183030381529060405261205d90613fd6565b836000612202565b9050610a5161207782600084516122a8565b612338565b60200190565b60208304840193506020838161209a5761209a614239565b06925082156120f35760208390036000600019600884021c1990506008850281811c91508451811c90508119875416828216178755508183116120de575050611bd4565b6120e9600187614052565b9550509182019190035b6020811061211c578151845561210a600185614052565b935060209190910190601f19016120f3565b8015611bd4576000600019600883021c198554845182169119161785555050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98383604051602001611f439392919061424f565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d98484846040516020016121b094939291906142af565b60408051601f198184030181529190528051602090910120949350505050565b6000806121de8360026141b7565b6121e9906004614052565b90506121f784826008021b90565b60f01c949350505050565b606061220c612edd565b156122235761221c848484612356565b9050610fcc565b6040517fd03edb8c000000000000000000000000000000000000000000000000000000008152339063d03edb8c90612263908790879087906004016142e2565b600060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261221c919081019061430e565b60008183111580156122bb575083518211155b6122f7578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161121c939291906143b0565b602084016123058482614052565b90506000612313858561411f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610fcc8360146000612371565b60001960089091021c1990565b60606000612363856129e2565b905061051785858584612f63565b6060600061237f8560801c90565b90506fffffffffffffffffffffffffffffffff85166000846123b7576123a68660086141b7565b6123b29061010061411f565b6123ba565b60005b905060008683816123cd576123cd614239565b0490506123da87846143d5565b15612467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a65000000606482015260840161121c565b602080820201604051955080860160405250808552600060208601855b838310156124a6578051851c8252600192909201916020909101908901612484565b505050505050509392505050565b60801c90565b6fffffffffffffffffffffffffffffffff1690565b606060006124e08360ff86166117d4565b905060006124f98260c58111156112d9576112d9614026565b905060006125078888611f0c565b905060006125158688612f9a565b9050612522828483612588565b9998505050505050505050565b6060600061253c836117c8565b612546908561417b565b90506000612555878784612177565b905060006125708360ff1661256a8a8a612fd5565b906121d0565b905061257c82826125e8565b98975050505050505050565b60608267ffffffffffffffff8111156125a3576125a3613ffa565b6040519080825280601f01601f1916602001820160405280156125cd576020820181803683370190505b509050602081016125e085858584612fe2565b509392505050565b6060610fcc83836000612588565b60408051600060208201527f5265736f757263654163636573730000000000000000000000000000000000006030820152610380910160405160208183030381529060405261264490613fd6565b61264c613097565b6110236130d1565b60408051600060208201527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015261038091016040516020818303038152906040526126a290613fd6565b6126aa613150565b61102361318a565b60408051600180825281830190925260009160208083019080368337019050509050826fffffffffffffffffffffffffffffffff1916816000815181106126fb576126fb614010565b602090810291909101810191909152604080516000818401527f4e616d6573706163654f776e6572000000000000000000000000000000000000603082015281518082039093018352810190526115639061275590613fd6565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b16602082015283906000906034015b6040516020818303038152906040526131c4565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106127d6576127d6614010565b6020026020010181815250508260601b6bffffffffffffffffffffffff19168160018151811061280857612808614010565b602090810291909101810191909152604080516000818401527f5265736f7572636541636365737300000000000000000000000000000000000060308201528151808203909301835281019052611bd49061286290613fd6565b8260008560405160200161278d91151560f81b815260010190565b6060600061288b8360f01c90565b90508060008061289a866117b7565b60ff16905080156128e5576128af8888612fd5565b915060006128bd8360e01c90565b11156128e5576128cd8260e01c90565b6128d8906020614052565b6128e29084614052565b92505b60008367ffffffffffffffff81111561290057612900613ffa565b6040519080825280601f01601f19166020018201604052801561292a576020820181803683370190505b5090506020810161293d8a8a888461325c565b6129478460e01c90565b60000361295b57509450610fcc9350505050565b6129658682614052565b8481529050612975602082614052565b905060005b838160ff1610156129d35760006129928c8c84612177565b905060006129a38760ff85166121d0565b90506129b28282600087612fe2565b6129bc8185614052565b9350505080806129cb90614136565b91505061297a565b50909998505050505050505050565b60006129ed82611800565b905080610a0d57816129fe836113ce565b6040517fd623a70d00000000000000000000000000000000000000000000000000000000815260040161121c92919061419e565b60606000612a3f846129e2565b9050610a5184848361287d565b6000306001600160a01b0383161480612a7e5750612a7e6fffffffffffffffffffffffffffffffff1985165b8361327d565b80610a515750610a516fffffffffffffffffffffffffffffffff198516608085901c17612a78565b610ea381155b80610ea3577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051612b109060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a1610ea3613343565b60006129ed82613483565b6040805160018082528183019092526000918291906020808301908036833701905050905060c381600081518110612b6557612b65614010565b602002602001019060c5811115612b7e57612b7e614026565b908160c5811115612b9157612b91614026565b905250612b9d81611888565b91505090565b60408051600180825281830190925260009182919060208083019080368337019050509050605f81600081518110612b6557612b65614010565b6040805160028082526060820183526000928392919060208301908036833701905050905060c581600081518110612c1757612c17614010565b602002602001019060c5811115612c3057612c30614026565b908160c5811115612c4357612c43614026565b8152505060c481600181518110612b6557612b65614010565b6040805160018082528183019092526060918291600091816020015b6060815260200190600190039081612c785790505090506040518060400160405280600581526020017f76616c756500000000000000000000000000000000000000000000000000000081525081600081518110612cd857612cd8614010565b60200260200101819052508060405180604001604052806005815260200164486f6f6b7360d81b8152509092509250509091565b60408051600280825260608281019093528291600091816020015b6060815260200190600190039081612d275790505090506040518060400160405280600981526020017f7461626c654e616d65000000000000000000000000000000000000000000000081525081600081518110612d8757612d87614010565b60200260200101819052506040518060400160405280601481526020017f616269456e636f6465644669656c644e616d657300000000000000000000000081525081600181518110612ddb57612ddb614010565b6020026020010181905250806040518060400160405280600d81526020017f53746f72654d65746164617461000000000000000000000000000000000000008152509092509250509091565b60408051600280825260608083018452926000929190602083019080368337019050509050835181600081518110612e6157612e61614010565b602002602001019061ffff16908161ffff1681525050825181600181518110612e8c57612e8c614010565b602002602001019061ffff16908161ffff16815250506000612ead82611bda565b9050808585604051602001612ec4939291906143f7565b6040516020818303038152906040529250505092915050565b6000303b808203612ef057600191505090565b306001600160a01b031663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b158015612f2957600080fd5b505afa925050508015612f3a575060015b612f4657600091505090565b600191505090565b6000612f5c6117b383611800565b1592915050565b6060612f6e826117c8565b60ff168360ff161015612f8e57612f87858585856124cf565b9050610a51565b612f878585858561252f565b600080805b8360ff168110156125e057612fb76112c886836117d4565b612fc19083614052565b915080612fcd8161406a565b915050612f9f565b60008061187b8484612140565b602082048401935060208281612ffa57612ffa614239565b069150811561304b5760208290036000600019600883021c1990508554600885021b811984511682821617845250818511613036575050611bd4565b613041600187614052565b9550509283900392015b602083106130735783548152613062600185614052565b9350601f199092019160200161304b565b8215611bd4576000600019600885021c198251865482169119161782525050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050606081600081518110612b6557612b65614010565b60408051600280825260608201835260009283929190602083019080368337019050509050605f8160008151811061310b5761310b614010565b602002602001019060c581111561312457613124614026565b908160c581111561313757613137614026565b81525050606181600181518110612b6557612b65614010565b60408051600180825281830190925260009182919060208083019080368337019050509050606181600081518110612b6557612b65614010565b60408051600180825281830190925260009182919060208083019080368337019050509050604f81600081518110612b6557612b65614010565b6131cc612edd565b156131e2576131dd8484848461350e565b611bd4565b6040517f114a7266000000000000000000000000000000000000000000000000000000008152339063114a726690613224908790879087908790600401614434565b600060405180830381600087803b15801561323e57600080fd5b505af1158015613252573d6000803e3d6000fd5b5050505050505050565b8115611bd457600061326e8585611f0c565b90506111ec8184600085612fe2565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106132b6576132b6614010565b6020026020010181815250508260601b6bffffffffffffffffffffffff1916816001815181106132e8576132e8614010565b6020908102919091018101919091526040805160009281018390527f5265736f7572636541636365737300000000000000000000000000000000000060308201526133339101612045565b602081015190915060f81c610517565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156134555760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526133f49291602001613f50565b60408051601f198184030181529082905261340e91613f98565b6000604051808303816000865af19150503d806000811461344b576040519150601f19603f3d011682016040523d82523d6000602084013e613450565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134bc576134bc614010565b60209081029190910181019190915260408051676d756473746f726560c01b9281019290925265736368656d6160d01b60308301526000916134fe910161146d565b9050610a51611f62826020614052565b6000613519856129e2565b90507fd01f9f1368f831528fc9fe6442366b2b7d957fbfff3bcf7c24d9ab5fe51f8c46858585856040516135509493929190614434565b60405180910390a1600061356386611fce565b905060005b815181101561360757600082828151811061358557613585614010565b60200260200101519050806001600160a01b031663469b7ee2898989896040518563ffffffff1660e01b81526004016135c19493929190614434565b600060405180830381600087803b1580156135db57600080fd5b505af11580156135ef573d6000803e3d6000fd5b505050505080806135ff9061406a565b915050613568565b50613611826117c8565b60ff168460ff1610156136305761362b86868487876136df565b61363d565b61363d8686848787613785565b60005b81518110156115dd57600082828151811061365d5761365d614010565b60200260200101519050806001600160a01b0316636b3d7d5f898989896040518563ffffffff1660e01b81526004016136999493929190614434565b600060405180830381600087803b1580156136b357600080fd5b505af11580156136c7573d6000803e3d6000fd5b505050505080806136d79061406a565b915050613640565b60006136ee8460ff85166117d4565b905081516137078260c58111156112d9576112d9614026565b1461375e576137218160c58111156112d9576112d9614026565b82516040517f521b3d330000000000000000000000000000000000000000000000000000000081526004810192909252602482015260440161121c565b600061376a8787611f0c565b905060006137788686612f9a565b90506132528282866137c2565b6000613790846117c8565b61379a908461417b565b90506137a986868385516137d7565b60006137b6878784612177565b90506115dd8184613809565b6000602082019050611bd48484838551612082565b60006137e38585612140565b905060006137ef825490565b90506137ff8160ff861685613815565b80835590506113c6565b6110e1826000836137c2565b600083816138238260e01c90565b90506000613834878760ff166121d0565b905080851061385857613847818661411f565b6138519083614052565b915061386f565b613862858261411f565b61386c908361411f565b91505b600061387c8760026141b7565b613887906004614052565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1761257c565b60008083601f8401126138fb57600080fd5b50813567ffffffffffffffff81111561391357600080fd5b6020830191508360208260051b850101111561392e57600080fd5b9250929050565b803560ff81168114610a0d57600080fd5b60008083601f84011261395857600080fd5b50813567ffffffffffffffff81111561397057600080fd5b60208301915083602082850101111561392e57600080fd5b600080600080600080608087890312156139a157600080fd5b86359550602087013567ffffffffffffffff808211156139c057600080fd5b6139cc8a838b016138e9565b90975095508591506139e060408a01613935565b945060608901359150808211156139f657600080fd5b50613a0389828a01613946565b979a9699509497509295939492505050565b6020808252825182820181905260009190848201906040850190845b81811015613a565783516001600160a01b031683529284019291840191600101613a31565b50909695505050505050565b60008060008060608587031215613a7857600080fd5b84359350602085013567ffffffffffffffff811115613a9657600080fd5b613aa2878288016138e9565b9598909750949560400135949350505050565b60005b83811015613ad0578181015183820152602001613ab8565b83811115611bd45750506000910152565b60008151808452613af9816020860160208601613ab5565b601f01601f19169290920160200192915050565b602081526000610fcc6020830184613ae1565b600080600060408486031215613b3557600080fd5b83359250602084013567ffffffffffffffff811115613b5357600080fd5b613b5f868287016138e9565b9497909650939450505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015613c46578984037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613c315783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190613bef565b50978a01979550505091870191600101613b94565b50919998505050505050505050565b60008060408385031215613c6857600080fd5b8235915060208301356001600160a01b0381168114613c8657600080fd5b809150509250929050565b600080600080600080600060a0888a031215613cac57600080fd5b87359650602088013567ffffffffffffffff80821115613ccb57600080fd5b613cd78b838c016138e9565b9098509650869150613ceb60408b01613935565b955060608a0135945060808a0135915080821115613d0857600080fd5b50613d158a828b01613946565b989b979a50959850939692959293505050565b600081518084526020808501808196508360051b8101915082860160005b85811015613d70578284038952613d5e848351613ae1565b98850198935090840190600101613d46565b5091979650505050505050565b602081526000610fcc6020830184613d28565b600080600080600060608688031215613da857600080fd5b85359450602086013567ffffffffffffffff80821115613dc757600080fd5b613dd389838a016138e9565b90965094506040880135915080821115613dec57600080fd5b50613df988828901613946565b969995985093965092949392505050565b600060208284031215613e1c57600080fd5b5035919050565b60008060008060608587031215613e3957600080fd5b84359350602085013567ffffffffffffffff811115613e5757600080fd5b613e63878288016138e9565b9094509250613e76905060408601613935565b905092959194509250565b600080600060608486031215613e9657600080fd5b505081359360208301359350604090920135919050565b600080600080600060608688031215613ec557600080fd5b85359450602086013567ffffffffffffffff80821115613ee457600080fd5b613ef089838a01613946565b90965094506040880135915080821115613f0957600080fd5b50613df9888289016138e9565b600181811c90821680613f2a57607f821691505b602082108103613f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251613f8a816004850160208701613ab5565b919091016004019392505050565b60008251613faa818460208701613ab5565b9190910192915050565b600060208284031215613fc657600080fd5b81518015158114610fcc57600080fd5b80516020808301519190811015613f4a5760001960209190910360031b1b16919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082198211156140655761406561403c565b500190565b6000600019820361407d5761407d61403c565b5060010190565b600081518084526020808501945080840160005b838110156140b457815187529582019590820190600101614098565b509495945050505050565b8381526060602082015260006140d86060830185614084565b82810360408401526140ea8185613ae1565b9695505050505050565b83815260606020820152600061410d6060830185613ae1565b82810360408401526140ea8185613d28565b6000828210156141315761413161403c565b500390565b600060ff821660ff810361414c5761414c61403c565b60010192915050565b600061ffff8083168185168083038211156141725761417261403c565b01949350505050565b600060ff821660ff8416808210156141955761419561403c565b90039392505050565b828152604060208201526000610a516040830184613ae1565b60008160001904831182151516156141d1576141d161403c565b500290565b600063ffffffff8083168185168083038211156141725761417261403c565b8381528260208201526060604082015260006105176060830184614084565b600060ff821660ff84168060ff038211156142315761423161403c565b019392505050565b634e487b7160e01b600052601260045260246000fd5b83815282602082015260806040820152600061426e6080830184614084565b8281036060840152600681527f6c656e6774680000000000000000000000000000000000000000000000000000602082015260408101915050949350505050565b8481528360208201526080604082015260006142ce6080830185614084565b905060ff8316606083015295945050505050565b8381526060602082015260006142fb6060830185614084565b905060ff83166040830152949350505050565b60006020828403121561432057600080fd5b815167ffffffffffffffff8082111561433857600080fd5b818401915084601f83011261434c57600080fd5b81518181111561435e5761435e613ffa565b604051601f8201601f19908116603f0116810190838211818310171561438657614386613ffa565b8160405282815287602084870101111561439f57600080fd5b611ad2836020830160208801613ab5565b6060815260006143c36060830186613ae1565b60208301949094525060400152919050565b6000826143f257634e487b7160e01b600052601260045260246000fd5b500690565b8381526000835161440f816020850160208801613ab5565b80830190508351614427816020840160208801613ab5565b0160200195945050505050565b84815260806020820152600061444d6080830186614084565b60ff851660408401528281036060840152611ad28185613ae156fea264697066735822122031f2385684005e9a5102fc2bf221e66b484e11aa16628416e01b1cbceaaca42464736f6c634300080d003386425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9912af873e852235aae78a1d25ae9bb28b616a67c36898c53a14fd8184504ee32";
|
|
1077
1077
|
|
|
1078
1078
|
type AccessControlTestConstructorParams =
|
|
1079
1079
|
| [signer?: Signer]
|