@etherisc/gif-next 0.0.2-836a512-798 → 0.0.2-839b2a2-792

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.
Files changed (149) hide show
  1. package/README.md +8 -0
  2. package/artifacts/contracts/components/Component.sol/Component.dbg.json +1 -1
  3. package/artifacts/contracts/components/Component.sol/Component.json +1 -1
  4. package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +1 -1
  5. package/artifacts/contracts/components/Component.sol/InstanceLinked.json +2 -2
  6. package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +1 -1
  7. package/artifacts/contracts/components/IPool.sol/IPoolComponent.json +1 -1
  8. package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +1 -1
  9. package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
  10. package/artifacts/contracts/components/Pool.sol/Pool.json +5 -5
  11. package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
  12. package/artifacts/contracts/components/Product.sol/Product.json +5 -5
  13. package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
  14. package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
  15. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
  16. package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
  17. package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
  18. package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
  19. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
  20. package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
  21. package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
  22. package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
  23. package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
  24. package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
  25. package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
  26. package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
  27. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
  28. package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
  29. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
  30. package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
  31. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
  32. package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
  33. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
  34. package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
  35. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
  36. package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
  37. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
  38. package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
  39. package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
  40. package/artifacts/contracts/instance/IInstance.sol/IInstance.json +137 -21
  41. package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
  42. package/artifacts/contracts/instance/Instance.sol/Instance.json +175 -35
  43. package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +1 -1
  44. package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +1 -1
  45. package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +1 -1
  46. package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +1 -1
  47. package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +1 -1
  48. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +1 -1
  49. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.json +2 -21
  50. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +1 -1
  51. package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +65 -10
  52. package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +1 -1
  53. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +1 -1
  54. package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.json +1 -1
  55. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +1 -1
  56. package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.json +2 -21
  57. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +1 -1
  58. package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +47 -0
  59. package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +1 -1
  60. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +1 -1
  61. package/artifacts/contracts/instance/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +1 -1
  62. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +1 -1
  63. package/artifacts/contracts/instance/lifecycle/LifecycleModule.sol/LifecycleModule.json +2 -2
  64. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +1 -1
  65. package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +1 -1
  66. package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +1 -1
  67. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +1 -1
  68. package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +1 -1
  69. package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +1 -1
  70. package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +1 -1
  71. package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +1 -1
  72. package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +1 -1
  73. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +1 -1
  74. package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +14 -14
  75. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasury.dbg.json +1 -1
  76. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.dbg.json +1 -1
  77. package/artifacts/contracts/instance/treasury/ITreasury.sol/ITreasuryModule.json +135 -0
  78. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.dbg.json +1 -1
  79. package/artifacts/contracts/instance/treasury/TokenHandler.sol/TokenHandler.json +2 -2
  80. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +1 -1
  81. package/artifacts/contracts/instance/treasury/TreasuryModule.sol/TreasuryModule.json +135 -0
  82. package/artifacts/contracts/mock/Dip.sol/DIP.dbg.json +4 -0
  83. package/artifacts/contracts/mock/Dip.sol/DIP.json +338 -0
  84. package/artifacts/contracts/mock/TestPool.sol/TestPool.dbg.json +4 -0
  85. package/artifacts/contracts/mock/TestPool.sol/TestPool.json +294 -0
  86. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.dbg.json +4 -0
  87. package/artifacts/contracts/mock/TestProduct.sol/TestProduct.json +384 -0
  88. package/artifacts/contracts/mock/Usdc.sol/USDC.dbg.json +4 -0
  89. package/artifacts/contracts/mock/Usdc.sol/USDC.json +338 -0
  90. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
  91. package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
  92. package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
  93. package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +1 -1
  94. package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +1 -1
  95. package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
  96. package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +1 -1
  97. package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +1 -1
  98. package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
  99. package/artifacts/contracts/registry/Registry.sol/Registry.json +10 -10
  100. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +1 -1
  101. package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +2 -2
  102. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
  103. package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
  104. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
  105. package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
  106. package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
  107. package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
  108. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
  109. package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
  110. package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
  111. package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
  112. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
  113. package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +2 -2
  114. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
  115. package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +37 -11
  116. package/contracts/components/Component.sol +12 -12
  117. package/contracts/components/IPool.sol +6 -2
  118. package/contracts/components/IProduct.sol +7 -2
  119. package/contracts/components/Pool.sol +14 -7
  120. package/contracts/components/Product.sol +14 -6
  121. package/contracts/experiment/statemachine/Dummy.sol +12 -18
  122. package/contracts/experiment/statemachine/ISM.sol +7 -2
  123. package/contracts/experiment/statemachine/SM.sol +15 -12
  124. package/contracts/experiment/statemachine/SimpleStateMachine.sol +11 -4
  125. package/contracts/instance/IInstance.sol +4 -1
  126. package/contracts/instance/Instance.sol +8 -5
  127. package/contracts/instance/component/ComponentModule.sol +55 -35
  128. package/contracts/instance/component/IComponent.sol +12 -14
  129. package/contracts/instance/lifecycle/ILifecycle.sol +32 -17
  130. package/contracts/instance/lifecycle/LifecycleModule.sol +28 -31
  131. package/contracts/instance/policy/IPolicy.sol +0 -2
  132. package/contracts/instance/policy/PolicyModule.sol +14 -7
  133. package/contracts/instance/pool/IPoolModule.sol +3 -2
  134. package/contracts/instance/pool/PoolModule.sol +11 -12
  135. package/contracts/instance/product/ProductService.sol +30 -12
  136. package/contracts/instance/treasury/ITreasury.sol +43 -25
  137. package/contracts/instance/treasury/TokenHandler.sol +1 -4
  138. package/contracts/instance/treasury/TreasuryModule.sol +82 -45
  139. package/contracts/mock/Dip.sol +26 -0
  140. package/contracts/mock/TestPool.sol +16 -0
  141. package/contracts/mock/TestProduct.sol +39 -0
  142. package/contracts/mock/Usdc.sol +26 -0
  143. package/contracts/registry/IRegistry.sol +0 -2
  144. package/contracts/registry/Registry.sol +7 -2
  145. package/contracts/types/Fee.sol +6 -4
  146. package/contracts/types/ObjectType.sol +77 -20
  147. package/contracts/types/StateId.sol +68 -23
  148. package/contracts/types/UFixed.sol +18 -14
  149. package/package.json +4 -2
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -141,7 +141,7 @@
141
141
  "type": "uint8"
142
142
  },
143
143
  {
144
- "internalType": "contract IERC20",
144
+ "internalType": "contract IERC20Metadata",
145
145
  "name": "token",
146
146
  "type": "address"
147
147
  }
@@ -154,25 +154,6 @@
154
154
  "stateMutability": "view",
155
155
  "type": "function"
156
156
  },
157
- {
158
- "inputs": [
159
- {
160
- "internalType": "NftId",
161
- "name": "nftId",
162
- "type": "uint96"
163
- }
164
- ],
165
- "name": "getComponentOwner",
166
- "outputs": [
167
- {
168
- "internalType": "address",
169
- "name": "owner",
170
- "type": "address"
171
- }
172
- ],
173
- "stateMutability": "view",
174
- "type": "function"
175
- },
176
157
  {
177
158
  "inputs": [],
178
159
  "name": "getComponentOwnerService",
@@ -289,7 +270,7 @@
289
270
  "type": "uint8"
290
271
  },
291
272
  {
292
- "internalType": "contract IERC20",
273
+ "internalType": "contract IERC20Metadata",
293
274
  "name": "token",
294
275
  "type": "address"
295
276
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -84,6 +84,53 @@
84
84
  "stateMutability": "nonpayable",
85
85
  "type": "function"
86
86
  },
87
+ {
88
+ "inputs": [
89
+ {
90
+ "internalType": "contract IComponentContract",
91
+ "name": "product",
92
+ "type": "address"
93
+ },
94
+ {
95
+ "components": [
96
+ {
97
+ "internalType": "UFixed",
98
+ "name": "fractionalFee",
99
+ "type": "uint256"
100
+ },
101
+ {
102
+ "internalType": "uint256",
103
+ "name": "fixedFee",
104
+ "type": "uint256"
105
+ }
106
+ ],
107
+ "internalType": "struct Fee",
108
+ "name": "policyFee",
109
+ "type": "tuple"
110
+ },
111
+ {
112
+ "components": [
113
+ {
114
+ "internalType": "UFixed",
115
+ "name": "fractionalFee",
116
+ "type": "uint256"
117
+ },
118
+ {
119
+ "internalType": "uint256",
120
+ "name": "fixedFee",
121
+ "type": "uint256"
122
+ }
123
+ ],
124
+ "internalType": "struct Fee",
125
+ "name": "processingFee",
126
+ "type": "tuple"
127
+ }
128
+ ],
129
+ "name": "setProductFees",
130
+ "outputs": [],
131
+ "stateMutability": "nonpayable",
132
+ "type": "function"
133
+ },
87
134
  {
88
135
  "inputs": [
89
136
  {
@@ -98,26 +145,30 @@
98
145
  "type": "function"
99
146
  }
100
147
  ],
101
- "bytecode": "0x60806040523480156200001157600080fd5b5060405162001681380380620016818339818101604052810190620000379190620000ea565b80806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200011c565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620000b28262000085565b9050919050565b620000c481620000a5565b8114620000d057600080fd5b50565b600081519050620000e481620000b9565b92915050565b60006020828403121562000103576200010262000080565b5b60006200011384828501620000d3565b91505092915050565b611555806200012c6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632f6c493c146100515780634420e4861461006d5780635ab1bd531461009d578063f435f5a7146100bb575b600080fd5b61006b60048036038101906100669190610dea565b6100d7565b005b61008760048036038101906100829190610dea565b61060c565b6040516100949190610e6a565b60405180910390f35b6100a56107e1565b6040516100b29190610eda565b60405180910390f35b6100d560048036038101906100d09190610dea565b61080a565b005b8060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016101349190610f04565b602060405180830381865afa158015610151573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101759190610f4b565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016101be9190610f87565b602060405180830381865af41580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff9190610fda565b61023e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023590611064565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016102979190610e6a565b602060405180830381865afa1580156102b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d891906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033c90611129565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b69190611187565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104459190610f4b565b6040518263ffffffff1660e01b81526004016104619190610e6a565b606060405180830381865afa15801561047e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a29190611320565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016104ef9190610f87565b602060405180830381865af415801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190610fda565b61056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611399565b60405180910390fd5b610577610d3f565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b81526004016105c1919061145c565b6020604051808303816000875af11580156105e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106049190610f4b565b505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906114c3565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b9190611187565b90508073ffffffffffffffffffffffffffffffffffffffff16636078a3b2846040518263ffffffff1660e01b81526004016107969190611504565b6020604051808303816000875af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190610f4b565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016108679190610f04565b602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190610f4b565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016108f19190610f87565b602060405180830381865af415801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190610fda565b610971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096890611064565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109ca9190610e6a565b602060405180830381865afa1580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b91906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90611129565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae99190611187565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b789190610f4b565b6040518263ffffffff1660e01b8152600401610b949190610e6a565b606060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611320565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401610c229190610f87565b602060405180830381865af4158015610c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c639190610fda565b610ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9990611399565b60405180910390fd5b610caa610d50565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401610cf4919061145c565b6020604051808303816000875af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190610f4b565b505050505050565b6000610d4b6064610d61565b905090565b6000610d5c606e610d61565b905090565b6000819050919050565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610da582610d7a565b9050919050565b6000610db782610d9a565b9050919050565b610dc781610dac565b8114610dd257600080fd5b50565b600081359050610de481610dbe565b92915050565b600060208284031215610e0057610dff610d75565b5b6000610e0e84828501610dd5565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610e54610e4f610e4a84610e17565b610e2f565b610e17565b9050919050565b610e6481610e39565b82525050565b6000602082019050610e7f6000830184610e5b565b92915050565b6000610ea0610e9b610e9684610d7a565b610e2f565b610d7a565b9050919050565b6000610eb282610e85565b9050919050565b6000610ec482610ea7565b9050919050565b610ed481610eb9565b82525050565b6000602082019050610eef6000830184610ecb565b92915050565b610efe81610d9a565b82525050565b6000602082019050610f196000830184610ef5565b92915050565b610f2881610e17565b8114610f3357600080fd5b50565b600081519050610f4581610f1f565b92915050565b600060208284031215610f6157610f60610d75565b5b6000610f6f84828501610f36565b91505092915050565b610f8181610e39565b82525050565b6000602082019050610f9c6000830184610f78565b92915050565b60008115159050919050565b610fb781610fa2565b8114610fc257600080fd5b50565b600081519050610fd481610fae565b92915050565b600060208284031215610ff057610fef610d75565b5b6000610ffe84828501610fc5565b91505092915050565b600082825260208201905092915050565b7f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00600082015250565b600061104e601f83611007565b915061105982611018565b602082019050919050565b6000602082019050818103600083015261107d81611041565b9050919050565b61108d81610d9a565b811461109857600080fd5b50565b6000815190506110aa81611084565b92915050565b6000602082840312156110c6576110c5610d75565b5b60006110d48482850161109b565b91505092915050565b7f4552524f523a434f532d3030323a4e4f545f4f574e4552000000000000000000600082015250565b6000611113601783611007565b915061111e826110dd565b602082019050919050565b6000602082019050818103600083015261114281611106565b9050919050565b600061115482610d9a565b9050919050565b61116481611149565b811461116f57600080fd5b50565b6000815190506111818161115b565b92915050565b60006020828403121561119d5761119c610d75565b5b60006111ab84828501611172565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611202826111b9565b810181811067ffffffffffffffff82111715611221576112206111ca565b5b80604052505050565b6000611234610d6b565b905061124082826111f9565b919050565b600060ff82169050919050565b61125b81611245565b811461126657600080fd5b50565b60008151905061127881611252565b92915050565b600061128982610d9a565b9050919050565b6112998161127e565b81146112a457600080fd5b50565b6000815190506112b681611290565b92915050565b6000606082840312156112d2576112d16111b4565b5b6112dc606061122a565b905060006112ec84828501610f36565b600083015250602061130084828501611269565b6020830152506040611314848285016112a7565b60408301525092915050565b60006060828403121561133657611335610d75565b5b6000611344848285016112bc565b91505092915050565b7f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000600082015250565b6000611383601783611007565b915061138e8261134d565b602082019050919050565b600060208201905081810360008301526113b281611376565b9050919050565b6113c281610e39565b82525050565b60006113e36113de6113d984611245565b610e2f565b611245565b9050919050565b6113f3816113c8565b82525050565b600061140482610ea7565b9050919050565b611414816113f9565b82525050565b60608201600082015161143060008501826113b9565b50602082015161144360208501826113ea565b506040820151611456604085018261140b565b50505050565b6000606082019050611471600083018461141a565b92915050565b7f4552524f523a434f532d3030333a4e4f545f4f574e4552000000000000000000600082015250565b60006114ad601783611007565b91506114b882611477565b602082019050919050565b600060208201905081810360008301526114dc816114a0565b9050919050565b60006114ee82610ea7565b9050919050565b6114fe816114e3565b82525050565b600060208201905061151960008301846114f5565b9291505056fea2646970667358221220e1497cf07a0ecc796871fe6c2c4a9b7842683fcfb1a79a6008f536b6728b439e64736f6c63430008140033",
102
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632f6c493c146100515780634420e4861461006d5780635ab1bd531461009d578063f435f5a7146100bb575b600080fd5b61006b60048036038101906100669190610dea565b6100d7565b005b61008760048036038101906100829190610dea565b61060c565b6040516100949190610e6a565b60405180910390f35b6100a56107e1565b6040516100b29190610eda565b60405180910390f35b6100d560048036038101906100d09190610dea565b61080a565b005b8060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016101349190610f04565b602060405180830381865afa158015610151573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101759190610f4b565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016101be9190610f87565b602060405180830381865af41580156101db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ff9190610fda565b61023e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161023590611064565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016102979190610e6a565b602060405180830381865afa1580156102b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d891906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033c90611129565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b69190611187565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610421573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104459190610f4b565b6040518263ffffffff1660e01b81526004016104619190610e6a565b606060405180830381865afa15801561047e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a29190611320565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016104ef9190610f87565b602060405180830381865af415801561050c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190610fda565b61056f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056690611399565b60405180910390fd5b610577610d3f565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b81526004016105c1919061145c565b6020604051808303816000875af11580156105e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106049190610f4b565b505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff1663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067d91906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e1906114c3565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b9190611187565b90508073ffffffffffffffffffffffffffffffffffffffff16636078a3b2846040518263ffffffff1660e01b81526004016107969190611504565b6020604051808303816000875af11580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190610f4b565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d272ac1e836040518263ffffffff1660e01b81526004016108679190610f04565b602060405180830381865afa158015610884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a89190610f4b565b9050806bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b81526004016108f19190610f87565b602060405180830381865af415801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190610fda565b610971576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096890611064565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663df33330b826040518263ffffffff1660e01b81526004016109ca9190610e6a565b602060405180830381865afa1580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0b91906110b0565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6f90611129565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae99190611187565b905060008173ffffffffffffffffffffffffffffffffffffffff1663f0ea17c38673ffffffffffffffffffffffffffffffffffffffff1663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b789190610f4b565b6040518263ffffffff1660e01b8152600401610b949190610e6a565b606060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611320565b905080600001516bffffffffffffffffffffffff1673__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__6330b8415f90916040518263ffffffff1660e01b8152600401610c229190610f87565b602060405180830381865af4158015610c3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c639190610fda565b610ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9990611399565b60405180910390fd5b610caa610d50565b816020019060ff16908160ff16815250508173ffffffffffffffffffffffffffffffffffffffff1663bd62faf7826040518263ffffffff1660e01b8152600401610cf4919061145c565b6020604051808303816000875af1158015610d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d379190610f4b565b505050505050565b6000610d4b6064610d61565b905090565b6000610d5c606e610d61565b905090565b6000819050919050565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610da582610d7a565b9050919050565b6000610db782610d9a565b9050919050565b610dc781610dac565b8114610dd257600080fd5b50565b600081359050610de481610dbe565b92915050565b600060208284031215610e0057610dff610d75565b5b6000610e0e84828501610dd5565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610e54610e4f610e4a84610e17565b610e2f565b610e17565b9050919050565b610e6481610e39565b82525050565b6000602082019050610e7f6000830184610e5b565b92915050565b6000610ea0610e9b610e9684610d7a565b610e2f565b610d7a565b9050919050565b6000610eb282610e85565b9050919050565b6000610ec482610ea7565b9050919050565b610ed481610eb9565b82525050565b6000602082019050610eef6000830184610ecb565b92915050565b610efe81610d9a565b82525050565b6000602082019050610f196000830184610ef5565b92915050565b610f2881610e17565b8114610f3357600080fd5b50565b600081519050610f4581610f1f565b92915050565b600060208284031215610f6157610f60610d75565b5b6000610f6f84828501610f36565b91505092915050565b610f8181610e39565b82525050565b6000602082019050610f9c6000830184610f78565b92915050565b60008115159050919050565b610fb781610fa2565b8114610fc257600080fd5b50565b600081519050610fd481610fae565b92915050565b600060208284031215610ff057610fef610d75565b5b6000610ffe84828501610fc5565b91505092915050565b600082825260208201905092915050565b7f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00600082015250565b600061104e601f83611007565b915061105982611018565b602082019050919050565b6000602082019050818103600083015261107d81611041565b9050919050565b61108d81610d9a565b811461109857600080fd5b50565b6000815190506110aa81611084565b92915050565b6000602082840312156110c6576110c5610d75565b5b60006110d48482850161109b565b91505092915050565b7f4552524f523a434f532d3030323a4e4f545f4f574e4552000000000000000000600082015250565b6000611113601783611007565b915061111e826110dd565b602082019050919050565b6000602082019050818103600083015261114281611106565b9050919050565b600061115482610d9a565b9050919050565b61116481611149565b811461116f57600080fd5b50565b6000815190506111818161115b565b92915050565b60006020828403121561119d5761119c610d75565b5b60006111ab84828501611172565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611202826111b9565b810181811067ffffffffffffffff82111715611221576112206111ca565b5b80604052505050565b6000611234610d6b565b905061124082826111f9565b919050565b600060ff82169050919050565b61125b81611245565b811461126657600080fd5b50565b60008151905061127881611252565b92915050565b600061128982610d9a565b9050919050565b6112998161127e565b81146112a457600080fd5b50565b6000815190506112b681611290565b92915050565b6000606082840312156112d2576112d16111b4565b5b6112dc606061122a565b905060006112ec84828501610f36565b600083015250602061130084828501611269565b6020830152506040611314848285016112a7565b60408301525092915050565b60006060828403121561133657611335610d75565b5b6000611344848285016112bc565b91505092915050565b7f4552524f525f434f4d504f4e454e545f554e4b4e4f574e000000000000000000600082015250565b6000611383601783611007565b915061138e8261134d565b602082019050919050565b600060208201905081810360008301526113b281611376565b9050919050565b6113c281610e39565b82525050565b60006113e36113de6113d984611245565b610e2f565b611245565b9050919050565b6113f3816113c8565b82525050565b600061140482610ea7565b9050919050565b611414816113f9565b82525050565b60608201600082015161143060008501826113b9565b50602082015161144360208501826113ea565b506040820151611456604085018261140b565b50505050565b6000606082019050611471600083018461141a565b92915050565b7f4552524f523a434f532d3030333a4e4f545f4f574e4552000000000000000000600082015250565b60006114ad601783611007565b91506114b882611477565b602082019050919050565b600060208201905081810360008301526114dc816114a0565b9050919050565b60006114ee82610ea7565b9050919050565b6114fe816114e3565b82525050565b600060208201905061151960008301846114f5565b9291505056fea2646970667358221220e1497cf07a0ecc796871fe6c2c4a9b7842683fcfb1a79a6008f536b6728b439e64736f6c63430008140033",
148
+ "bytecode": "0x608060405234801561001057600080fd5b506040516111aa3803806111aa83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611117806100936000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632f6c493c1461005c5780634420e486146100715780635ab1bd53146100a1578063f435f5a7146100bc578063f7608976146100cf575b600080fd5b61006f61006a366004610e52565b6100e2565b005b61008461007f366004610e52565b610546565b6040516001600160601b0390911681526020015b60405180910390f35b6000546040516001600160a01b039091168152602001610098565b61006f6100ca366004610e52565b6106e5565b61006f6100dd366004610ecc565b610aa5565b60008054604051636939560f60e11b81526001600160a01b038085166004830152849392169063d272ac1e90602401602060405180830381865afa15801561012e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101529190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610f4a565b6101f65760405162461bcd60e51b81526004016101ed90610f6c565b60405180910390fd5b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026b9190610fa3565b6001600160a01b0316336001600160a01b03161461029b5760405162461bcd60e51b81526004016101ed90610fc0565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ff9190610fa3565b90506000816001600160a01b031663f0ea17c3866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610f2f565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401606060405180830381865afa1580156103b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dc9190611006565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561043a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e9190610f4a565b6104a45760405162461bcd60e51b815260206004820152601760248201527622a92927a92fa1a7a6a827a722a72a2faaa725a727aba760491b60448201526064016101ed565b60645b60ff908116602083019081526040805163bd62faf760e01b815284516001600160601b0316600482015291519092166024820152908201516001600160a01b03908116604483015283169063bd62faf7906064016020604051808303816000875af115801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e9190610f2f565b505050505050565b6000816001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610586573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105aa9190610fa3565b6001600160a01b0316336001600160a01b03161461060a5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a434f532d3030333a4e4f545f4f574e455200000000000000000060448201526064016101ed565b6000826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e9190610fa3565b60405163303c51d960e11b81526001600160a01b03858116600483015291925090821690636078a3b2906024016020604051808303816000875af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610f2f565b9392505050565b60008054604051636939560f60e11b81526001600160a01b038085166004830152849392169063d272ac1e90602401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610f4a565b6107f05760405162461bcd60e51b81526004016101ed90610f6c565b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190610fa3565b6001600160a01b0316336001600160a01b0316146108955760405162461bcd60e51b81526004016101ed90610fc0565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190610fa3565b90506000816001600160a01b031663f0ea17c3866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190610f2f565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401606060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190611006565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190610f4a565b610a9e5760405162461bcd60e51b815260206004820152601760248201527622a92927a92fa1a7a6a827a722a72a2faaa725a727aba760491b60448201526064016101ed565b606e6104a7565b60008054604051636939560f60e11b81526001600160a01b038087166004830152869392169063d272ac1e90602401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190610f4a565b610bb05760405162461bcd60e51b81526004016101ed90610f6c565b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c259190610fa3565b6001600160a01b0316336001600160a01b031614610c555760405162461bcd60e51b81526004016101ed90610fc0565b610cc3856001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cba9190611084565b60ff16603c1490565b610d035760405162461bcd60e51b815260206004820152601160248201527011549493d497d393d517d41493d11550d5607a1b60448201526064016101ed565b6000856001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d679190610fa3565b90506000819050806001600160a01b031663dc261c3a886001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190610f2f565b88886040518463ffffffff1660e01b8152600401610dff939291906110a1565b600060405180830381600087803b158015610e1957600080fd5b505af1158015610e2d573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381168114610e4f57600080fd5b50565b600060208284031215610e6457600080fd5b81356106de81610e3a565b600060408284031215610e8157600080fd5b6040516040810181811067ffffffffffffffff82111715610eb257634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080600060a08486031215610ee157600080fd5b8335610eec81610e3a565b9250610efb8560208601610e6f565b9150610f0a8560608601610e6f565b90509250925092565b80516001600160601b0381168114610f2a57600080fd5b919050565b600060208284031215610f4157600080fd5b6106de82610f13565b600060208284031215610f5c57600080fd5b815180151581146106de57600080fd5b6020808252601f908201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604082015260600190565b600060208284031215610fb557600080fd5b81516106de81610e3a565b60208082526017908201527f4552524f523a434f532d3030323a4e4f545f4f574e4552000000000000000000604082015260600190565b60ff81168114610e4f57600080fd5b60006060828403121561101857600080fd5b6040516060810181811067ffffffffffffffff8211171561104957634e487b7160e01b600052604160045260246000fd5b60405261105583610f13565b8152602083015161106581610ff7565b6020820152604083015161107881610e3a565b60408201529392505050565b60006020828403121561109657600080fd5b81516106de81610ff7565b6001600160601b038416815260a081016110c8602083018580518252602090810151910152565b825160608301526020830151608083015294935050505056fea2646970667358221220bf8c9a42fbc5577044dbae8253ab5f04c627e52ccbc115fef49048d99f8b220f64736f6c63430008140033",
149
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632f6c493c1461005c5780634420e486146100715780635ab1bd53146100a1578063f435f5a7146100bc578063f7608976146100cf575b600080fd5b61006f61006a366004610e52565b6100e2565b005b61008461007f366004610e52565b610546565b6040516001600160601b0390911681526020015b60405180910390f35b6000546040516001600160a01b039091168152602001610098565b61006f6100ca366004610e52565b6106e5565b61006f6100dd366004610ecc565b610aa5565b60008054604051636939560f60e11b81526001600160a01b038085166004830152849392169063d272ac1e90602401602060405180830381865afa15801561012e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101529190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610f4a565b6101f65760405162461bcd60e51b81526004016101ed90610f6c565b60405180910390fd5b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026b9190610fa3565b6001600160a01b0316336001600160a01b03161461029b5760405162461bcd60e51b81526004016101ed90610fc0565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ff9190610fa3565b90506000816001600160a01b031663f0ea17c3866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610f2f565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401606060405180830381865afa1580156103b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103dc9190611006565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561043a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045e9190610f4a565b6104a45760405162461bcd60e51b815260206004820152601760248201527622a92927a92fa1a7a6a827a722a72a2faaa725a727aba760491b60448201526064016101ed565b60645b60ff908116602083019081526040805163bd62faf760e01b815284516001600160601b0316600482015291519092166024820152908201516001600160a01b03908116604483015283169063bd62faf7906064016020604051808303816000875af115801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e9190610f2f565b505050505050565b6000816001600160a01b031663fb2cb1016040518163ffffffff1660e01b8152600401602060405180830381865afa158015610586573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105aa9190610fa3565b6001600160a01b0316336001600160a01b03161461060a5760405162461bcd60e51b815260206004820152601760248201527f4552524f523a434f532d3030333a4e4f545f4f574e455200000000000000000060448201526064016101ed565b6000826001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066e9190610fa3565b60405163303c51d960e11b81526001600160a01b03858116600483015291925090821690636078a3b2906024016020604051808303816000875af11580156106ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106de9190610f2f565b9392505050565b60008054604051636939560f60e11b81526001600160a01b038085166004830152849392169063d272ac1e90602401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af41580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610f4a565b6107f05760405162461bcd60e51b81526004016101ed90610f6c565b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190610fa3565b6001600160a01b0316336001600160a01b0316146108955760405162461bcd60e51b81526004016101ed90610fc0565b6000836001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f99190610fa3565b90506000816001600160a01b031663f0ea17c3866001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096e9190610f2f565b6040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401606060405180830381865afa1580156109b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d69190611006565b80516040516330b8415f60e01b81526001600160601b03909116600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190610f4a565b610a9e5760405162461bcd60e51b815260206004820152601760248201527622a92927a92fa1a7a6a827a722a72a2faaa725a727aba760491b60448201526064016101ed565b606e6104a7565b60008054604051636939560f60e11b81526001600160a01b038087166004830152869392169063d272ac1e90602401602060405180830381865afa158015610af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b159190610f2f565b6040516330b8415f60e01b81526001600160601b038216600482015290915073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b949190610f4a565b610bb05760405162461bcd60e51b81526004016101ed90610f6c565b60005460405163df33330b60e01b81526001600160601b03831660048201526001600160a01b039091169063df33330b90602401602060405180830381865afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c259190610fa3565b6001600160a01b0316336001600160a01b031614610c555760405162461bcd60e51b81526004016101ed90610fc0565b610cc3856001600160a01b03166315dae03e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cba9190611084565b60ff16603c1490565b610d035760405162461bcd60e51b815260206004820152601160248201527011549493d497d393d517d41493d11550d5607a1b60448201526064016101ed565b6000856001600160a01b031663de7b5d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d679190610fa3565b90506000819050806001600160a01b031663dc261c3a886001600160a01b031663644c45e06040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190610f2f565b88886040518463ffffffff1660e01b8152600401610dff939291906110a1565b600060405180830381600087803b158015610e1957600080fd5b505af1158015610e2d573d6000803e3d6000fd5b5050505050505050505050565b6001600160a01b0381168114610e4f57600080fd5b50565b600060208284031215610e6457600080fd5b81356106de81610e3a565b600060408284031215610e8157600080fd5b6040516040810181811067ffffffffffffffff82111715610eb257634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080600060a08486031215610ee157600080fd5b8335610eec81610e3a565b9250610efb8560208601610e6f565b9150610f0a8560608601610e6f565b90509250925092565b80516001600160601b0381168114610f2a57600080fd5b919050565b600060208284031215610f4157600080fd5b6106de82610f13565b600060208284031215610f5c57600080fd5b815180151581146106de57600080fd5b6020808252601f908201527f4552524f523a434f532d3030313a434f4d504f4e454e545f554e4b4e4f574e00604082015260600190565b600060208284031215610fb557600080fd5b81516106de81610e3a565b60208082526017908201527f4552524f523a434f532d3030323a4e4f545f4f574e4552000000000000000000604082015260600190565b60ff81168114610e4f57600080fd5b60006060828403121561101857600080fd5b6040516060810181811067ffffffffffffffff8211171561104957634e487b7160e01b600052604160045260246000fd5b60405261105583610f13565b8152602083015161106581610ff7565b6020820152604083015161107881610e3a565b60408201529392505050565b60006020828403121561109657600080fd5b81516106de81610ff7565b6001600160601b038416815260a081016110c8602083018580518252602090810151910152565b825160608301526020830151608083015294935050505056fea2646970667358221220bf8c9a42fbc5577044dbae8253ab5f04c627e52ccbc115fef49048d99f8b220f64736f6c63430008140033",
103
150
  "linkReferences": {
104
151
  "contracts/types/NftId.sol": {
105
152
  "NftIdLib": [
106
153
  {
107
154
  "length": 20,
108
- "start": 692
155
+ "start": 518
156
+ },
157
+ {
158
+ "length": 20,
159
+ "start": 1171
109
160
  },
110
161
  {
111
162
  "length": 20,
112
- "start": 1509
163
+ "start": 2057
113
164
  },
114
165
  {
115
166
  "length": 20,
116
- "start": 2535
167
+ "start": 2701
117
168
  },
118
169
  {
119
170
  "length": 20,
120
- "start": 3352
171
+ "start": 3017
121
172
  }
122
173
  ]
123
174
  }
@@ -127,19 +178,23 @@
127
178
  "NftIdLib": [
128
179
  {
129
180
  "length": 20,
130
- "start": 392
181
+ "start": 371
182
+ },
183
+ {
184
+ "length": 20,
185
+ "start": 1024
131
186
  },
132
187
  {
133
188
  "length": 20,
134
- "start": 1209
189
+ "start": 1910
135
190
  },
136
191
  {
137
192
  "length": 20,
138
- "start": 2235
193
+ "start": 2554
139
194
  },
140
195
  {
141
196
  "length": 20,
142
- "start": 3052
197
+ "start": 2870
143
198
  }
144
199
  ]
145
200
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -124,7 +124,7 @@
124
124
  "name": "getToken",
125
125
  "outputs": [
126
126
  {
127
- "internalType": "contract IERC20",
127
+ "internalType": "contract IERC20Metadata",
128
128
  "name": "token",
129
129
  "type": "address"
130
130
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -102,7 +102,7 @@
102
102
  "type": "uint8"
103
103
  },
104
104
  {
105
- "internalType": "contract IERC20",
105
+ "internalType": "contract IERC20Metadata",
106
106
  "name": "token",
107
107
  "type": "address"
108
108
  }
@@ -115,25 +115,6 @@
115
115
  "stateMutability": "view",
116
116
  "type": "function"
117
117
  },
118
- {
119
- "inputs": [
120
- {
121
- "internalType": "NftId",
122
- "name": "nftId",
123
- "type": "uint96"
124
- }
125
- ],
126
- "name": "getComponentOwner",
127
- "outputs": [
128
- {
129
- "internalType": "address",
130
- "name": "owner",
131
- "type": "address"
132
- }
133
- ],
134
- "stateMutability": "view",
135
- "type": "function"
136
- },
137
118
  {
138
119
  "inputs": [],
139
120
  "name": "getComponentOwnerService",
@@ -207,7 +188,7 @@
207
188
  "type": "uint8"
208
189
  },
209
190
  {
210
- "internalType": "contract IERC20",
191
+ "internalType": "contract IERC20Metadata",
211
192
  "name": "token",
212
193
  "type": "address"
213
194
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -73,6 +73,53 @@
73
73
  "stateMutability": "nonpayable",
74
74
  "type": "function"
75
75
  },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "contract IComponentContract",
80
+ "name": "product",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "components": [
85
+ {
86
+ "internalType": "UFixed",
87
+ "name": "fractionalFee",
88
+ "type": "uint256"
89
+ },
90
+ {
91
+ "internalType": "uint256",
92
+ "name": "fixedFee",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "internalType": "struct Fee",
97
+ "name": "policyFee",
98
+ "type": "tuple"
99
+ },
100
+ {
101
+ "components": [
102
+ {
103
+ "internalType": "UFixed",
104
+ "name": "fractionalFee",
105
+ "type": "uint256"
106
+ },
107
+ {
108
+ "internalType": "uint256",
109
+ "name": "fixedFee",
110
+ "type": "uint256"
111
+ }
112
+ ],
113
+ "internalType": "struct Fee",
114
+ "name": "processingFee",
115
+ "type": "tuple"
116
+ }
117
+ ],
118
+ "name": "setProductFees",
119
+ "outputs": [],
120
+ "stateMutability": "nonpayable",
121
+ "type": "function"
122
+ },
76
123
  {
77
124
  "inputs": [
78
125
  {
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -214,8 +214,8 @@
214
214
  "type": "function"
215
215
  }
216
216
  ],
217
- "bytecode": "0x60806040523480156200001157600080fd5b5062000032620000266200009860201b60201c565b620000b160201b60201c565b62000052620000466200026b60201b60201c565b620000b160201b60201c565b62000072620000666200028460201b60201c565b620000b160201b60201c565b620000826200029d60201b60201c565b620000926200049260201b60201c565b62000808565b6000620000ac603c6200071360201b60201c565b905090565b620000c16200071d60201b60201c565b6000808360ff1660ff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060018060008360ff1660ff16815260200190815260200160002060006200011d6200071d60201b60201c565b60ff1660ff1681526020019081526020016000206000620001436200073660201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060008360ff1660ff16815260200190815260200160002060006200019a6200073660201b60201c565b60ff1660ff1681526020019081526020016000206000620001c06200071d60201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060008360ff1660ff1681526020019081526020016000206000620002176200073660201b60201c565b60ff1660ff16815260200190815260200160002060006200023d6200074f60201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006200027f60466200071360201b60201c565b905090565b60006200029860506200071360201b60201c565b905090565b620002ad6200071d60201b60201c565b600080620002c06200076860201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506001806000620003016200076860201b60201c565b60ff1660ff1681526020019081526020016000206000620003276200071d60201b60201c565b60ff1660ff16815260200190815260200160002060006200034d6200073660201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060006200038d6200076860201b60201c565b60ff1660ff1681526020019081526020016000206000620003b36200073660201b60201c565b60ff1660ff1681526020019081526020016000206000620003d96200071d60201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000620004196200076860201b60201c565b60ff1660ff16815260200190815260200160002060006200043f6200073660201b60201c565b60ff1660ff1681526020019081526020016000206000620004656200078160201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b620004a26200079a60201b60201c565b600080620004b5620007b360201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506001806000620004f6620007b360201b60201c565b60ff1660ff16815260200190815260200160002060006200051c6200079a60201b60201c565b60ff1660ff168152602001908152602001600020600062000542620007cc60201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600062000582620007b360201b60201c565b60ff1660ff1681526020019081526020016000206000620005a86200079a60201b60201c565b60ff1660ff1681526020019081526020016000206000620005ce620007e560201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060006200060e620007b360201b60201c565b60ff1660ff1681526020019081526020016000206000620006346200079a60201b60201c565b60ff1660ff16815260200190815260200160002060006200065a6200071d60201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060006200069a620007b360201b60201c565b60ff1660ff1681526020019081526020016000206000620006c06200071d60201b60201c565b60ff1660ff1681526020019081526020016000206000620006e66200078160201b60201c565b60ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b6000819050919050565b6000620007316064620007fe60201b60201c565b905090565b60006200074a606e620007fe60201b60201c565b905090565b60006200076360d2620007fe60201b60201c565b905090565b60006200077c60516200071360201b60201c565b905090565b60006200079560c8620007fe60201b60201c565b905090565b6000620007ae600a620007fe60201b60201c565b905090565b6000620007c7605a6200071360201b60201c565b905090565b6000620007e06014620007fe60201b60201c565b905090565b6000620007f9601e620007fe60201b60201c565b905090565b6000819050919050565b61073180620008186000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630d35818114610046578063a7f3669b14610076578063e9e96c70146100a6575b600080fd5b610060600480360381019061005b9190610433565b6100d6565b60405161006d919061049b565b60405180910390f35b610090600480360381019061008b9190610526565b610105565b60405161009d919061049b565b60405180910390f35b6100c060048036038101906100bb919061058d565b610323565b6040516100cd91906105fb565b60405180910390f35b60008060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008560ff1660ff16815260200190815260200160002060008460ff1660ff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff166101a357848484846040517f33760ddc00000000000000000000000000000000000000000000000000000000815260040161019a9493929190610656565b60405180910390fd5b6101b4846101af610383565b610394565b156101f9577f3453c320908f5844705a0f2acbb230412df911a60544eca9236d16f5f9f1f6f68584846040516101ec9392919061069b565b60405180910390a1610318565b61020a846102056103a7565b610394565b1561024f577f92e25bf636cb4bfa6edf8b4fa57c0d64b6d959e3c6376d17c9bcc168fe36be198584846040516102429392919061069b565b60405180910390a1610317565b6102608461025b6103b8565b610394565b806102785750610277846102726103c9565b610394565b5b80610290575061028f8461028a6103da565b610394565b5b156102d7577fcc75054af33cdb7ef0c6dd9d4cb6f22e1dc2d22204db49d769d5da19579fb84e858585856040516102ca9493929190610656565b60405180910390a1610316565b84846040517f092b31d400000000000000000000000000000000000000000000000000000000815260040161030d9291906106d2565b60405180910390fd5b5b5b819050949350505050565b6000600160008560ff1660ff16815260200190815260200160002060008460ff1660ff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1690509392505050565b600061038f605a6103eb565b905090565b60008160ff168360ff1614905092915050565b60006103b360516103eb565b905090565b60006103c4603c6103eb565b905090565b60006103d560466103eb565b905090565b60006103e660506103eb565b905090565b6000819050919050565b600080fd5b600060ff82169050919050565b610410816103fa565b811461041b57600080fd5b50565b60008135905061042d81610407565b92915050565b600060208284031215610449576104486103f5565b5b60006104578482850161041e565b91505092915050565b6000819050919050565b600061048561048061047b846103fa565b610460565b6103fa565b9050919050565b6104958161046a565b82525050565b60006020820190506104b0600083018461048c565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6104d7816104b6565b81146104e257600080fd5b50565b6000813590506104f4816104ce565b92915050565b610503816103fa565b811461050e57600080fd5b50565b600081359050610520816104fa565b92915050565b600080600080608085870312156105405761053f6103f5565b5b600061054e878288016104e5565b945050602061055f8782880161041e565b935050604061057087828801610511565b925050606061058187828801610511565b91505092959194509250565b6000806000606084860312156105a6576105a56103f5565b5b60006105b48682870161041e565b93505060206105c586828701610511565b92505060406105d686828701610511565b9150509250925092565b60008115159050919050565b6105f5816105e0565b82525050565b600060208201905061061060008301846105ec565b92915050565b600061063161062c610627846104b6565b610460565b6104b6565b9050919050565b61064181610616565b82525050565b6106508161046a565b82525050565b600060808201905061066b6000830187610638565b6106786020830186610647565b610685604083018561048c565b610692606083018461048c565b95945050505050565b60006060820190506106b06000830186610638565b6106bd602083018561048c565b6106ca604083018461048c565b949350505050565b60006040820190506106e76000830185610638565b6106f46020830184610647565b939250505056fea26469706673582212202b47877987cf2c52ffbc896cd7fbfddb6cbfa79a4d5c18de40b1431775a0f28164736f6c63430008140033",
218
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630d35818114610046578063a7f3669b14610076578063e9e96c70146100a6575b600080fd5b610060600480360381019061005b9190610433565b6100d6565b60405161006d919061049b565b60405180910390f35b610090600480360381019061008b9190610526565b610105565b60405161009d919061049b565b60405180910390f35b6100c060048036038101906100bb919061058d565b610323565b6040516100cd91906105fb565b60405180910390f35b60008060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008560ff1660ff16815260200190815260200160002060008460ff1660ff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff166101a357848484846040517f33760ddc00000000000000000000000000000000000000000000000000000000815260040161019a9493929190610656565b60405180910390fd5b6101b4846101af610383565b610394565b156101f9577f3453c320908f5844705a0f2acbb230412df911a60544eca9236d16f5f9f1f6f68584846040516101ec9392919061069b565b60405180910390a1610318565b61020a846102056103a7565b610394565b1561024f577f92e25bf636cb4bfa6edf8b4fa57c0d64b6d959e3c6376d17c9bcc168fe36be198584846040516102429392919061069b565b60405180910390a1610317565b6102608461025b6103b8565b610394565b806102785750610277846102726103c9565b610394565b5b80610290575061028f8461028a6103da565b610394565b5b156102d7577fcc75054af33cdb7ef0c6dd9d4cb6f22e1dc2d22204db49d769d5da19579fb84e858585856040516102ca9493929190610656565b60405180910390a1610316565b84846040517f092b31d400000000000000000000000000000000000000000000000000000000815260040161030d9291906106d2565b60405180910390fd5b5b5b819050949350505050565b6000600160008560ff1660ff16815260200190815260200160002060008460ff1660ff16815260200190815260200160002060008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1690509392505050565b600061038f605a6103eb565b905090565b60008160ff168360ff1614905092915050565b60006103b360516103eb565b905090565b60006103c4603c6103eb565b905090565b60006103d560466103eb565b905090565b60006103e660506103eb565b905090565b6000819050919050565b600080fd5b600060ff82169050919050565b610410816103fa565b811461041b57600080fd5b50565b60008135905061042d81610407565b92915050565b600060208284031215610449576104486103f5565b5b60006104578482850161041e565b91505092915050565b6000819050919050565b600061048561048061047b846103fa565b610460565b6103fa565b9050919050565b6104958161046a565b82525050565b60006020820190506104b0600083018461048c565b92915050565b60006bffffffffffffffffffffffff82169050919050565b6104d7816104b6565b81146104e257600080fd5b50565b6000813590506104f4816104ce565b92915050565b610503816103fa565b811461050e57600080fd5b50565b600081359050610520816104fa565b92915050565b600080600080608085870312156105405761053f6103f5565b5b600061054e878288016104e5565b945050602061055f8782880161041e565b935050604061057087828801610511565b925050606061058187828801610511565b91505092959194509250565b6000806000606084860312156105a6576105a56103f5565b5b60006105b48682870161041e565b93505060206105c586828701610511565b92505060406105d686828701610511565b9150509250925092565b60008115159050919050565b6105f5816105e0565b82525050565b600060208201905061061060008301846105ec565b92915050565b600061063161062c610627846104b6565b610460565b6104b6565b9050919050565b61064181610616565b82525050565b6106508161046a565b82525050565b600060808201905061066b6000830187610638565b6106786020830186610647565b610685604083018561048c565b610692606083018461048c565b95945050505050565b60006060820190506106b06000830186610638565b6106bd602083018561048c565b6106ca604083018461048c565b949350505050565b60006040820190506106e76000830185610638565b6106f46020830184610647565b939250505056fea26469706673582212202b47877987cf2c52ffbc896cd7fbfddb6cbfa79a4d5c18de40b1431775a0f28164736f6c63430008140033",
217
+ "bytecode": "0x608060405234801561001057600080fd5b5061001b603c610044565b6100256046610044565b61002f6050610044565b61003761016b565b61003f610310565b61050a565b60ff8116600090815260208181526040808320805460ff19166064908117909155600180845282852091855292528220909161007e606e90565b60ff908116825260208083019390935260409182016000908120805460ff19169515159590951790945584168352600191829052822090916100be606e90565b60ff1660ff16815260200190815260200160002060006100e26104e760201b60201c565b60ff908116825260208083019390935260409182016000908120805460ff1916951515959095179094558416835260019182905282209091610122606e90565b60ff1660ff16815260200190815260200160002060006101466104f160201b60201c565b60ff1681526020810191909152604001600020805460ff191691151591909117905550565b6051600090815260208190527fecf130467c3ca6d7c047f2161ca24c032bbc3d4b2a77446d9e0dac48aff2d09a805460ff1916606417905560019081906101b0605190565b60ff1660ff16815260200190815260200160002060006101d46104e760201b60201c565b60ff1660ff16815260200190815260200160002060006101f86104ec60201b60201c565b60ff16815260208101919091526040016000908120805460ff191692151592909217909155600190819061022a605190565b60ff1660ff168152602001908152602001600020600061024e6104ec60201b60201c565b60ff1660ff16815260200190815260200160002060006102726104e760201b60201c565b60ff16815260208101919091526040016000908120805460ff19169215159290921790915560019081906102a4605190565b60ff1660ff16815260200190815260200160002060006102c86104ec60201b60201c565b60ff1660ff16815260200190815260200160002060006102ec6104f660201b60201c565b60ff1681526020810191909152604001600020805460ff1916911515919091179055565b605a600090815260208190527f72c829b6ff1176aa52fa1b14a601e30df23c347f3efcd72b6af910346dd8917d805460ff1916600a1790556001908190610355605a90565b60ff1660ff16815260200190815260200160002060006103796104fb60201b60201c565b60ff1660ff168152602001908152602001600020600061039d61050060201b60201c565b60ff16815260208101919091526040016000908120805460ff19169215159290921790915560019081906103cf605a90565b60ff1660ff16815260200190815260200160002060006103f36104fb60201b60201c565b60ff1660ff168152602001908152602001600020600061041761050560201b60201c565b60ff16815260208101919091526040016000908120805460ff1916921515929092179091556001908190610449605a90565b60ff1660ff168152602001908152602001600020600061046d6104fb60201b60201c565b60ff1660ff16815260200190815260200160002060006104916104e760201b60201c565b60ff16815260208101919091526040016000908120805460ff19169215159290921790915560019081906104c3605a90565b60ff1660ff16815260200190815260200160002060006102c86104e760201b60201c565b606490565b606e90565b60d290565b60c890565b600a90565b601490565b601e90565b6103fe806105196000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630d35818114610046578063a7f3669b14610083578063e9e96c7014610096575b600080fd5b61006c6100543660046102f1565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b61006c610091366004610315565b6100e4565b6100d46100a436600461037d565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161007a565b60ff808416600090815260016020908152604080832086851684528252808320858516845290915281205490911661015857604051630cdd837760e21b81526001600160601b038616600482015260ff80861660248301528085166044830152831660648201526084015b60405180910390fd5b61016a84605a5b60ff90811691161490565b156101c557604080516001600160601b038716815260ff80861660208301528416918101919091527f3453c320908f5844705a0f2acbb230412df911a60544eca9236d16f5f9f1f6f6906060015b60405180910390a16102d7565b6101d084605161015f565b1561022257604080516001600160601b038716815260ff80861660208301528416918101919091527f92e25bf636cb4bfa6edf8b4fa57c0d64b6d959e3c6376d17c9bcc168fe36be19906060016101b8565b61022d84603c61015f565b8061023e575061023e84604661015f565b8061024f575061024f84605061015f565b156102aa57604080516001600160601b038716815260ff80871660208301528086169282019290925290831660608201527fcc75054af33cdb7ef0c6dd9d4cb6f22e1dc2d22204db49d769d5da19579fb84e906080016101b8565b60405163024acc7560e21b81526001600160601b038616600482015260ff8516602482015260440161014f565b509392505050565b60ff811681146102ee57600080fd5b50565b60006020828403121561030357600080fd5b813561030e816102df565b9392505050565b6000806000806080858703121561032b57600080fd5b84356001600160601b038116811461034257600080fd5b93506020850135610352816102df565b92506040850135610362816102df565b91506060850135610372816102df565b939692955090935050565b60008060006060848603121561039257600080fd5b833561039d816102df565b925060208401356103ad816102df565b915060408401356103bd816102df565b80915050925092509256fea26469706673582212209f2ca65533ebdfbd0d726e31473acfd6921b9971865b3090095edbd42f3695c864736f6c63430008140033",
218
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630d35818114610046578063a7f3669b14610083578063e9e96c7014610096575b600080fd5b61006c6100543660046102f1565b60ff9081166000908152602081905260409020541690565b60405160ff90911681526020015b60405180910390f35b61006c610091366004610315565b6100e4565b6100d46100a436600461037d565b60ff9283166000908152600160209081526040808320948616835293815283822092851682529190915220541690565b604051901515815260200161007a565b60ff808416600090815260016020908152604080832086851684528252808320858516845290915281205490911661015857604051630cdd837760e21b81526001600160601b038616600482015260ff80861660248301528085166044830152831660648201526084015b60405180910390fd5b61016a84605a5b60ff90811691161490565b156101c557604080516001600160601b038716815260ff80861660208301528416918101919091527f3453c320908f5844705a0f2acbb230412df911a60544eca9236d16f5f9f1f6f6906060015b60405180910390a16102d7565b6101d084605161015f565b1561022257604080516001600160601b038716815260ff80861660208301528416918101919091527f92e25bf636cb4bfa6edf8b4fa57c0d64b6d959e3c6376d17c9bcc168fe36be19906060016101b8565b61022d84603c61015f565b8061023e575061023e84604661015f565b8061024f575061024f84605061015f565b156102aa57604080516001600160601b038716815260ff80871660208301528086169282019290925290831660608201527fcc75054af33cdb7ef0c6dd9d4cb6f22e1dc2d22204db49d769d5da19579fb84e906080016101b8565b60405163024acc7560e21b81526001600160601b038616600482015260ff8516602482015260440161014f565b509392505050565b60ff811681146102ee57600080fd5b50565b60006020828403121561030357600080fd5b813561030e816102df565b9392505050565b6000806000806080858703121561032b57600080fd5b84356001600160601b038116811461034257600080fd5b93506020850135610352816102df565b92506040850135610362816102df565b91506060850135610372816102df565b939692955090935050565b60008060006060848603121561039257600080fd5b833561039d816102df565b925060208401356103ad816102df565b915060408401356103bd816102df565b80915050925092509256fea26469706673582212209f2ca65533ebdfbd0d726e31473acfd6921b9971865b3090095edbd42f3695c864736f6c63430008140033",
219
219
  "linkReferences": {},
220
220
  "deployedLinkReferences": {}
221
221
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/cf2d2e1c79c39858c3089f23d02154a8.json"
3
+ "buildInfo": "../../../../build-info/371956c35f778b248bb1774ada1ed516.json"
4
4
  }