@oceanprotocol/lib 0.20.2 → 1.0.0-next.0

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 (136) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +1 -1
  3. package/artifacts/ERC721Factory.sol/ERC721Factory.json +1164 -0
  4. package/artifacts/addresses/address.json +21 -0
  5. package/artifacts/communityFee/OPFCommunityFeeCollector.sol/OPFCommunityFeeCollector.json +116 -0
  6. package/artifacts/pools/FactoryRouter.sol/FactoryRouter.json +1086 -0
  7. package/artifacts/pools/balancer/BPool.sol/BPool.json +1744 -0
  8. package/artifacts/pools/dispenser/Dispenser.sol/Dispenser.json +358 -0
  9. package/artifacts/pools/fixedRate/FixedRateExchange.sol/FixedRateExchange.json +917 -0
  10. package/artifacts/pools/ssContracts/SideStaking.sol/SideStaking.json +428 -0
  11. package/artifacts/templates/ERC20Template.sol/ERC20Template.json +1382 -0
  12. package/artifacts/templates/ERC20TemplateEnterprise.sol/ERC20TemplateEnterprise.json +1530 -0
  13. package/artifacts/templates/ERC721Template.sol/ERC721Template.json +1534 -0
  14. package/artifacts/utils/mock/MockERC20.sol/MockERC20.json +302 -0
  15. package/artifacts/utils/mock/MockERC20Decimals.sol/MockERC20Decimals.json +302 -0
  16. package/dist/node/lib.js +1 -1
  17. package/dist/node/lib.js.map +1 -1
  18. package/dist/node/lib.module.js +1 -1
  19. package/dist/node/lib.module.js.map +1 -1
  20. package/dist/node/lib.umd.js +1 -1
  21. package/dist/node/lib.umd.js.map +1 -1
  22. package/dist/node/src/@types/Asset.d.ts +36 -0
  23. package/dist/node/{ocean/interfaces → src/@types}/Compute.d.ts +13 -12
  24. package/dist/node/src/@types/DDO/Credentials.d.ts +8 -0
  25. package/dist/node/src/@types/DDO/DDO.d.ts +15 -0
  26. package/dist/node/src/@types/DDO/Event.d.ts +7 -0
  27. package/dist/node/src/@types/DDO/Metadata.d.ts +38 -0
  28. package/dist/node/src/@types/DDO/Service.d.ts +28 -0
  29. package/dist/node/src/@types/FileMetadata.d.ts +8 -0
  30. package/dist/node/src/@types/Provider.d.ts +15 -0
  31. package/dist/node/src/@types/index.d.ts +8 -0
  32. package/dist/node/src/aquarius/Aquarius.d.ts +10 -0
  33. package/dist/node/src/aquarius/index.d.ts +1 -0
  34. package/dist/node/src/factories/NFTFactory.d.ts +70 -0
  35. package/dist/node/src/factories/index.d.ts +1 -0
  36. package/dist/node/src/index.d.ts +8 -0
  37. package/dist/node/src/interfaces/DispenserInterface.d.ts +7 -0
  38. package/dist/node/src/interfaces/Erc20Interface.d.ts +11 -0
  39. package/dist/node/src/interfaces/FixedRateInterface.d.ts +19 -0
  40. package/dist/node/src/interfaces/PoolInterface.d.ts +36 -0
  41. package/dist/node/src/interfaces/RouterInterface.d.ts +12 -0
  42. package/dist/node/src/interfaces/index.d.ts +5 -0
  43. package/dist/node/{models → src/models}/Config.d.ts +10 -7
  44. package/dist/node/src/models/index.d.ts +1 -0
  45. package/dist/node/src/pools/Router.d.ts +46 -0
  46. package/dist/node/src/pools/balancer/Pool.d.ts +73 -0
  47. package/dist/node/src/pools/balancer/index.d.ts +1 -0
  48. package/dist/node/src/pools/dispenser/Dispenser.d.ts +37 -0
  49. package/dist/node/src/pools/dispenser/index.d.ts +1 -0
  50. package/dist/node/src/pools/fixedRate/FixedRateExchange.d.ts +95 -0
  51. package/dist/node/src/pools/fixedRate/index.d.ts +1 -0
  52. package/dist/node/src/pools/index.d.ts +3 -0
  53. package/dist/node/src/pools/ssContracts/SideStaking.d.ts +28 -0
  54. package/dist/node/src/pools/ssContracts/index.d.ts +1 -0
  55. package/dist/node/src/provider/Provider.d.ts +31 -0
  56. package/dist/node/src/provider/index.d.ts +1 -0
  57. package/dist/node/src/tokens/Datatoken.d.ts +77 -0
  58. package/dist/node/src/tokens/NFT.d.ts +57 -0
  59. package/dist/node/src/tokens/index.d.ts +2 -0
  60. package/dist/node/src/utils/ConfigHelper.d.ts +6 -0
  61. package/dist/node/src/utils/Constants.d.ts +1 -0
  62. package/dist/node/src/utils/ContractParams.d.ts +4 -0
  63. package/dist/node/src/utils/ConversionTypeHelper.d.ts +3 -0
  64. package/dist/node/{utils/Datatokens.d.ts → src/utils/DatatokenName.d.ts} +1 -1
  65. package/dist/node/src/utils/DdoHelpers.d.ts +2 -0
  66. package/dist/node/src/utils/FetchHelper.d.ts +5 -0
  67. package/dist/node/src/utils/GasUtils.d.ts +2 -0
  68. package/dist/node/{utils → src/utils}/Logger.d.ts +0 -0
  69. package/dist/node/src/utils/SignatureUtils.d.ts +8 -0
  70. package/dist/node/src/utils/index.d.ts +9 -0
  71. package/docs/beginners_guide.md +2 -2
  72. package/docs/quickstart_simple.md +2 -2
  73. package/package.json +27 -23
  74. package/dist/node/Instantiable.abstract.d.ts +0 -25
  75. package/dist/node/balancer/OceanPool.d.ts +0 -95
  76. package/dist/node/balancer/Pool.d.ts +0 -56
  77. package/dist/node/balancer/PoolFactory.d.ts +0 -15
  78. package/dist/node/datatokens/ContractEvent.d.ts +0 -19
  79. package/dist/node/datatokens/ContractHandler.d.ts +0 -12
  80. package/dist/node/datatokens/Datatokens.d.ts +0 -44
  81. package/dist/node/datatokens/EventHandler.d.ts +0 -19
  82. package/dist/node/datatokens/Network.d.ts +0 -5
  83. package/dist/node/datatokens/Web3Provider.d.ts +0 -5
  84. package/dist/node/datatokens/contracts/ContractBase.d.ts +0 -27
  85. package/dist/node/ddo/DDO.d.ts +0 -36
  86. package/dist/node/ddo/interfaces/AdditionalInformation.d.ts +0 -16
  87. package/dist/node/ddo/interfaces/Authentication.d.ts +0 -4
  88. package/dist/node/ddo/interfaces/BestPrice.d.ts +0 -10
  89. package/dist/node/ddo/interfaces/Consumable.d.ts +0 -5
  90. package/dist/node/ddo/interfaces/Credentials.d.ts +0 -9
  91. package/dist/node/ddo/interfaces/Curation.d.ts +0 -6
  92. package/dist/node/ddo/interfaces/DataTokenInfo.d.ts +0 -10
  93. package/dist/node/ddo/interfaces/EditableMetadata.d.ts +0 -9
  94. package/dist/node/ddo/interfaces/EditableMetadataLinks.d.ts +0 -5
  95. package/dist/node/ddo/interfaces/Event.d.ts +0 -7
  96. package/dist/node/ddo/interfaces/File.d.ts +0 -13
  97. package/dist/node/ddo/interfaces/Metadata.d.ts +0 -15
  98. package/dist/node/ddo/interfaces/MetadataAlgorithm.d.ts +0 -12
  99. package/dist/node/ddo/interfaces/MetadataMain.d.ts +0 -12
  100. package/dist/node/ddo/interfaces/Proof.d.ts +0 -6
  101. package/dist/node/ddo/interfaces/PublicKey.d.ts +0 -8
  102. package/dist/node/ddo/interfaces/PurgatoryData.d.ts +0 -4
  103. package/dist/node/ddo/interfaces/Service.d.ts +0 -99
  104. package/dist/node/ddo/interfaces/ServicePrices.d.ts +0 -4
  105. package/dist/node/ddo/interfaces/Status.d.ts +0 -5
  106. package/dist/node/ddo/interfaces/index.d.ts +0 -17
  107. package/dist/node/dispenser/Dispenser.d.ts +0 -44
  108. package/dist/node/exchange/FixedRateExchange.d.ts +0 -59
  109. package/dist/node/index.d.ts +0 -1
  110. package/dist/node/lib.d.ts +0 -15
  111. package/dist/node/metadatacache/MetadataCache.d.ts +0 -41
  112. package/dist/node/metadatacache/OnChainMetaData.d.ts +0 -31
  113. package/dist/node/ocean/Account.d.ts +0 -16
  114. package/dist/node/ocean/Accounts.d.ts +0 -9
  115. package/dist/node/ocean/Assets.d.ts +0 -56
  116. package/dist/node/ocean/AssetsCredential.d.ts +0 -6
  117. package/dist/node/ocean/Compute.d.ts +0 -75
  118. package/dist/node/ocean/DID.d.ts +0 -8
  119. package/dist/node/ocean/EventAccessControl.d.ts +0 -9
  120. package/dist/node/ocean/Ocean.d.ts +0 -34
  121. package/dist/node/ocean/OceanAuth.d.ts +0 -15
  122. package/dist/node/ocean/Versions.d.ts +0 -25
  123. package/dist/node/ocean/utils/SignatureUtils.d.ts +0 -13
  124. package/dist/node/ocean/utils/Utils.d.ts +0 -8
  125. package/dist/node/ocean/utils/WebServiceConnector.d.ts +0 -16
  126. package/dist/node/provider/Provider.d.ts +0 -56
  127. package/dist/node/utils/AssetResolverHelper.d.ts +0 -8
  128. package/dist/node/utils/ConfigHelper.d.ts +0 -17
  129. package/dist/node/utils/ContractUtils.d.ts +0 -5
  130. package/dist/node/utils/ConversionTypeHelpers.d.ts +0 -8
  131. package/dist/node/utils/GeneratorHelpers.d.ts +0 -1
  132. package/dist/node/utils/PromiseResolver.d.ts +0 -3
  133. package/dist/node/utils/SubscribableObserver.d.ts +0 -12
  134. package/dist/node/utils/SubscribablePromise.d.ts +0 -14
  135. package/dist/node/utils/Timeout.d.ts +0 -1
  136. package/dist/node/utils/index.d.ts +0 -9
@@ -0,0 +1,428 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "SideStaking",
4
+ "sourceName": "contracts/pools/ssContracts/SideStaking.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_router",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "stateMutability": "nonpayable",
15
+ "type": "constructor"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "address",
21
+ "name": "datatokenAddress",
22
+ "type": "address"
23
+ },
24
+ {
25
+ "internalType": "address",
26
+ "name": "stakeToken",
27
+ "type": "address"
28
+ },
29
+ {
30
+ "internalType": "uint256",
31
+ "name": "amount",
32
+ "type": "uint256"
33
+ }
34
+ ],
35
+ "name": "Stake",
36
+ "outputs": [],
37
+ "stateMutability": "nonpayable",
38
+ "type": "function"
39
+ },
40
+ {
41
+ "inputs": [
42
+ {
43
+ "internalType": "address",
44
+ "name": "datatokenAddress",
45
+ "type": "address"
46
+ },
47
+ {
48
+ "internalType": "address",
49
+ "name": "stakeToken",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "internalType": "uint256",
54
+ "name": "dtAmountIn",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "internalType": "uint256",
59
+ "name": "poolAmountOut",
60
+ "type": "uint256"
61
+ }
62
+ ],
63
+ "name": "UnStake",
64
+ "outputs": [],
65
+ "stateMutability": "nonpayable",
66
+ "type": "function"
67
+ },
68
+ {
69
+ "inputs": [
70
+ {
71
+ "internalType": "address",
72
+ "name": "datatokenAddress",
73
+ "type": "address"
74
+ },
75
+ {
76
+ "internalType": "address",
77
+ "name": "stakeToken",
78
+ "type": "address"
79
+ },
80
+ {
81
+ "internalType": "uint256",
82
+ "name": "amount",
83
+ "type": "uint256"
84
+ }
85
+ ],
86
+ "name": "canStake",
87
+ "outputs": [
88
+ {
89
+ "internalType": "bool",
90
+ "name": "",
91
+ "type": "bool"
92
+ }
93
+ ],
94
+ "stateMutability": "view",
95
+ "type": "function"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "address",
101
+ "name": "datatokenAddress",
102
+ "type": "address"
103
+ },
104
+ {
105
+ "internalType": "address",
106
+ "name": "stakeToken",
107
+ "type": "address"
108
+ },
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "lptIn",
112
+ "type": "uint256"
113
+ }
114
+ ],
115
+ "name": "canUnStake",
116
+ "outputs": [
117
+ {
118
+ "internalType": "bool",
119
+ "name": "",
120
+ "type": "bool"
121
+ }
122
+ ],
123
+ "stateMutability": "view",
124
+ "type": "function"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "address",
130
+ "name": "datatokenAddress",
131
+ "type": "address"
132
+ }
133
+ ],
134
+ "name": "getBaseTokenAddress",
135
+ "outputs": [
136
+ {
137
+ "internalType": "address",
138
+ "name": "",
139
+ "type": "address"
140
+ }
141
+ ],
142
+ "stateMutability": "view",
143
+ "type": "function"
144
+ },
145
+ {
146
+ "inputs": [
147
+ {
148
+ "internalType": "address",
149
+ "name": "datatokenAddress",
150
+ "type": "address"
151
+ }
152
+ ],
153
+ "name": "getBaseTokenBalance",
154
+ "outputs": [
155
+ {
156
+ "internalType": "uint256",
157
+ "name": "",
158
+ "type": "uint256"
159
+ }
160
+ ],
161
+ "stateMutability": "view",
162
+ "type": "function"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "internalType": "address",
168
+ "name": "datatokenAddress",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "getDataTokenBalance",
173
+ "outputs": [
174
+ {
175
+ "internalType": "uint256",
176
+ "name": "",
177
+ "type": "uint256"
178
+ }
179
+ ],
180
+ "stateMutability": "view",
181
+ "type": "function"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "address",
187
+ "name": "datatokenAddress",
188
+ "type": "address"
189
+ }
190
+ ],
191
+ "name": "getDataTokenCirculatingSupply",
192
+ "outputs": [
193
+ {
194
+ "internalType": "uint256",
195
+ "name": "",
196
+ "type": "uint256"
197
+ }
198
+ ],
199
+ "stateMutability": "view",
200
+ "type": "function"
201
+ },
202
+ {
203
+ "inputs": [
204
+ {
205
+ "internalType": "address",
206
+ "name": "datatokenAddress",
207
+ "type": "address"
208
+ }
209
+ ],
210
+ "name": "getDataTokenCurrentCirculatingSupply",
211
+ "outputs": [
212
+ {
213
+ "internalType": "uint256",
214
+ "name": "",
215
+ "type": "uint256"
216
+ }
217
+ ],
218
+ "stateMutability": "view",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [
223
+ {
224
+ "internalType": "address",
225
+ "name": "datatokenAddress",
226
+ "type": "address"
227
+ }
228
+ ],
229
+ "name": "getPoolAddress",
230
+ "outputs": [
231
+ {
232
+ "internalType": "address",
233
+ "name": "",
234
+ "type": "address"
235
+ }
236
+ ],
237
+ "stateMutability": "view",
238
+ "type": "function"
239
+ },
240
+ {
241
+ "inputs": [
242
+ {
243
+ "internalType": "address",
244
+ "name": "datatokenAddress",
245
+ "type": "address"
246
+ }
247
+ ],
248
+ "name": "getPublisherAddress",
249
+ "outputs": [
250
+ {
251
+ "internalType": "address",
252
+ "name": "",
253
+ "type": "address"
254
+ }
255
+ ],
256
+ "stateMutability": "view",
257
+ "type": "function"
258
+ },
259
+ {
260
+ "inputs": [
261
+ {
262
+ "internalType": "address",
263
+ "name": "datatokenAddress",
264
+ "type": "address"
265
+ }
266
+ ],
267
+ "name": "getVesting",
268
+ "outputs": [],
269
+ "stateMutability": "nonpayable",
270
+ "type": "function"
271
+ },
272
+ {
273
+ "inputs": [
274
+ {
275
+ "internalType": "address",
276
+ "name": "datatokenAddress",
277
+ "type": "address"
278
+ }
279
+ ],
280
+ "name": "getvestingAmount",
281
+ "outputs": [
282
+ {
283
+ "internalType": "uint256",
284
+ "name": "",
285
+ "type": "uint256"
286
+ }
287
+ ],
288
+ "stateMutability": "view",
289
+ "type": "function"
290
+ },
291
+ {
292
+ "inputs": [
293
+ {
294
+ "internalType": "address",
295
+ "name": "datatokenAddress",
296
+ "type": "address"
297
+ }
298
+ ],
299
+ "name": "getvestingAmountSoFar",
300
+ "outputs": [
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "",
304
+ "type": "uint256"
305
+ }
306
+ ],
307
+ "stateMutability": "view",
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "internalType": "address",
314
+ "name": "datatokenAddress",
315
+ "type": "address"
316
+ }
317
+ ],
318
+ "name": "getvestingEndBlock",
319
+ "outputs": [
320
+ {
321
+ "internalType": "uint256",
322
+ "name": "",
323
+ "type": "uint256"
324
+ }
325
+ ],
326
+ "stateMutability": "view",
327
+ "type": "function"
328
+ },
329
+ {
330
+ "inputs": [
331
+ {
332
+ "internalType": "address",
333
+ "name": "datatokenAddress",
334
+ "type": "address"
335
+ }
336
+ ],
337
+ "name": "getvestingLastBlock",
338
+ "outputs": [
339
+ {
340
+ "internalType": "uint256",
341
+ "name": "",
342
+ "type": "uint256"
343
+ }
344
+ ],
345
+ "stateMutability": "view",
346
+ "type": "function"
347
+ },
348
+ {
349
+ "inputs": [
350
+ {
351
+ "internalType": "address",
352
+ "name": "datatokenAddress",
353
+ "type": "address"
354
+ },
355
+ {
356
+ "internalType": "address",
357
+ "name": "basetokenAddress",
358
+ "type": "address"
359
+ },
360
+ {
361
+ "internalType": "address",
362
+ "name": "poolAddress",
363
+ "type": "address"
364
+ },
365
+ {
366
+ "internalType": "address",
367
+ "name": "publisherAddress",
368
+ "type": "address"
369
+ },
370
+ {
371
+ "internalType": "uint256[]",
372
+ "name": "ssParams",
373
+ "type": "uint256[]"
374
+ }
375
+ ],
376
+ "name": "newDataTokenCreated",
377
+ "outputs": [
378
+ {
379
+ "internalType": "bool",
380
+ "name": "",
381
+ "type": "bool"
382
+ }
383
+ ],
384
+ "stateMutability": "nonpayable",
385
+ "type": "function"
386
+ },
387
+ {
388
+ "inputs": [],
389
+ "name": "router",
390
+ "outputs": [
391
+ {
392
+ "internalType": "address",
393
+ "name": "",
394
+ "type": "address"
395
+ }
396
+ ],
397
+ "stateMutability": "view",
398
+ "type": "function"
399
+ },
400
+ {
401
+ "inputs": [
402
+ {
403
+ "internalType": "address",
404
+ "name": "datatokenAddress",
405
+ "type": "address"
406
+ },
407
+ {
408
+ "internalType": "address",
409
+ "name": "poolAddress",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "internalType": "uint256",
414
+ "name": "swapFee",
415
+ "type": "uint256"
416
+ }
417
+ ],
418
+ "name": "setPoolSwapFee",
419
+ "outputs": [],
420
+ "stateMutability": "nonpayable",
421
+ "type": "function"
422
+ }
423
+ ],
424
+ "bytecode": "0x60806040523480156200001157600080fd5b5060405162002618380380620026188339810160408190526200003491620000ba565b60016000556001600160a01b038116620000945760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964205f726f757465722061646472657373000000000000000000604482015260640160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055620000ec565b600060208284031215620000cd57600080fd5b81516001600160a01b0381168114620000e557600080fd5b9392505050565b61251c80620000fc6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063bccf74fe116100ad578063f03cd39611610071578063f03cd3961461026d578063f887ea4014610280578063f8932d6114610293578063fa93fd6d146102a6578063ff299f33146102b957600080fd5b8063bccf74fe1461020e578063c1b4904d14610221578063c4be249014610234578063cc49ede714610247578063efd481031461025a57600080fd5b806353f0c3b4116100f457806353f0c3b4146101ad578063799ece85146101c05780637b01ab30146101d357806388afadce146101e857806399039fcf146101fb57600080fd5b80631228cbee146101265780631f16cde6146101565780632686375b1461016957806326b1f01f1461018a575b600080fd5b610139610134366004611fd2565b6102cc565b6040516001600160a01b0390911681526020015b60405180910390f35b610139610164366004611fd2565b610316565b61017c610177366004611fd2565b610360565b60405190815260200161014d565b61019d610198366004611fef565b6103a7565b604051901515815260200161014d565b61019d6101bb366004612077565b61047e565b61017c6101ce366004611fd2565b610df7565b6101e66101e136600461216a565b610e3e565b005b61017c6101f6366004611fd2565b610f1e565b6101e6610209366004611fef565b610f7b565b61017c61021c366004611fd2565b611086565b61017c61022f366004611fd2565b6110cd565b61017c610242366004611fd2565b611115565b6101e6610255366004611fd2565b61115c565b61019d610268366004611fef565b6113a2565b61017c61027b366004611fd2565b6114a6565b600154610139906001600160a01b031681565b61017c6102a1366004611fd2565b6114ed565b6101396102b4366004611fd2565b61156a565b6101e66102c7366004611fef565b6115b6565b6001600160a01b03811660009081526002602052604081205460ff166102f457506000919050565b506001600160a01b039081166000908152600260205260409020600101541690565b6001600160a01b03811660009081526002602052604081205460ff1661033e57506000919050565b506001600160a01b039081166000908152600260205260409020600701541690565b6001600160a01b03811660009081526002602052604081205460ff1661038857506000919050565b506001600160a01b03166000908152600260205260409020600a015490565b6001600160a01b0383811660009081526002602052604081206001015490911633146103ee5760405162461bcd60e51b81526004016103e5906121b0565b60405180910390fd5b6001600160a01b03841660009081526002602052604090205460ff1661041657506000610477565b6001600160a01b0384811660009081526002602052604090205461010090048116908416141561044857506000610477565b6001600160a01b03841660009081526002602081905260409091200154821161047357506001610477565b5060005b9392505050565b6001546000906001600160a01b031633146104c95760405162461bcd60e51b815260206004820152600b60248201526a27a7262c902927aaaa22a960a91b60448201526064016103e5565b600260005414156104ec5760405162461bcd60e51b81526004016103e5906121e7565b60026000556001600160a01b03841661053d5760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6f6c4164647265737360681b60448201526064016103e5565b6000849050306001600160a01b0316816001600160a01b0316633018205f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae919061221e565b6001600160a01b0316146106045760405162461bcd60e51b815260206004820152601e60248201527f576520617265206e6f742074686520706f6f6c20636f6e74726f6c6c6572000060448201526064016103e5565b866001600160a01b0316816001600160a01b03166304ad79546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610670919061221e565b6001600160a01b0316146106c65760405162461bcd60e51b815260206004820152601b60248201527f44617461546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b856001600160a01b0316816001600160a01b0316634df947d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610732919061221e565b6001600160a01b0316146107885760405162461bcd60e51b815260206004820152601b60248201527f42617365546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b604051623d104160e31b815230600482015287906001600160a01b038216906301e88208906024016040805180830381865afa1580156107cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f09190612250565b5161083d5760405162461bcd60e51b815260206004820152601a60248201527f42617365546f6b656e2061646472657373206d69736d6174636800000000000060448201526064016103e5565b806001600160a01b03166340c10f1930836001600160a01b031663355274ea6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108af91906122ab565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b50505050806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f91906122ab565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d791906122ab565b14610a125760405162461bcd60e51b815260206004820152600b60248201526a135a5b9d0819985a5b195960aa1b60448201526064016103e5565b83600281518110610a2557610a256122c4565b6020026020010151610a9a600a836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9491906122ab565b906118c6565b1015610ada5760405162461bcd60e51b815260206004820152600f60248201526e4d61782076657374696e672031302560881b60448201526064016103e5565b604051806101e00160405280600115158152602001886001600160a01b03168152602001876001600160a01b0316815260200160001515815260200185600281518110610b2957610b296122c4565b6020026020010151836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9391906122ab565b610b9d91906122f0565b8152602001826001600160a01b031663355274ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906122ab565b815260200185600481518110610c1c57610c1c6122c4565b602002602001015181526020016000815260200185600081518110610c4357610c436122c4565b60200260200101518152602001866001600160a01b0316815260200143815260200185600381518110610c7857610c786122c4565b602002602001015143610c8b9190612307565b815260200185600281518110610ca357610ca36122c4565b60209081029190910181015182524382820152600060409283018190526001600160a01b038c8116825260028084529184902085518154948701516001600160a81b0319958616911515610100600160a81b031916919091176101009184168202178255948601516001808301805460608a0151938616971696909617600160a01b921515929092029190911790945560808601519281019290925560a0850151600383015560c0850151600483015560e085015160058301559284015160068201556101208401516007820180546001600160a01b031916919094161790925561014083015160088301556101608301516009830155610180830151600a8301556101a0830151600b8301556101c090920151600c909101558451610de3918a918791908110610dd657610dd66122c4565b60200260200101516118d2565b600192505050600160005595945050505050565b6001600160a01b03811660009081526002602052604081205460ff16610e1f57506000919050565b506001600160a01b031660009081526002602052604090206009015490565b60026000541415610e615760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0386168152602091909152604090205460ff16610e8b57610f13565b6001600160a01b03848116600090815260026020526040902060010154163314610ec75760405162461bcd60e51b81526004016103e5906121b0565b6000610ed48585846113a2565b905080610ee15750610f13565b6001600160a01b03851660009081526002602081905260408220018054859290610f0c908490612307565b9091555050505b505060016000555050565b6001600160a01b03811660009081526002602052604081205460ff16610f4657506000919050565b6001600160a01b038216600090815260026020819052604090912090810154600390910154610f7591906122f0565b92915050565b60026000541415610f9e5760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0385168152602091909152604090205460ff16610fc85761107c565b6001600160a01b038381166000908152600260205260409020600101541633146110045760405162461bcd60e51b81526004016103e5906121b0565b60006110118484846103a7565b90508061101e575061107c565b6001600160a01b03808516600081815260026020526040902060010154869261104992911685611c44565b6001600160a01b038516600090815260026020819052604082200180548592906110749084906122f0565b909155505050505b5050600160005550565b6001600160a01b03811660009081526002602052604081205460ff166110ae57506000919050565b506001600160a01b03166000908152600260205260409020600c015490565b6001600160a01b03811660009081526002602052604081205460ff166110f557506000919050565b506001600160a01b03166000908152600260208190526040909120015490565b6001600160a01b03811660009081526002602052604081205460ff1661113d57506000919050565b506001600160a01b031660009081526002602052604090206004015490565b6002600054141561117f5760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0383168152602091909152604090205460ff166111e45760405162461bcd60e51b815260206004820152601560248201527422a9291d24b73b30b634b2103230ba30ba37b5b2b760591b60448201526064016103e5565b6001600160a01b03811660009081526002602052604081206009015443111561123b576001600160a01b0382166000908152600260205260409020600b81015460099091015461123491906122f0565b9050611264565b6001600160a01b0382166000908152600260205260409020600b015461126190436122f0565b90505b6001600160a01b038216600090815260026020526040812060088101546009909101546112b691611294916122f0565b6001600160a01b0385166000908152600260205260409020600a0154906118c6565b9050806112c457505061139a565b60006112d08383611d2f565b90506000811180156112fe57506001600160a01b038416600090815260026020819052604090912001548111155b15611396576001600160a01b03808516600081815260026020526040902043600b82015560070154869261133492911684611d3b565b6001600160a01b0385166000908152600260208190526040822001805484929061135f9084906122f0565b90915550506001600160a01b0385166000908152600260205260408120600c01805484929061138f908490612307565b9091555050505b5050505b506001600055565b6001600160a01b03831660009081526002602052604081205460ff166113ca57506000610477565b6001600160a01b038481166000908152600260205260409020600101541633146114065760405162461bcd60e51b81526004016103e5906121b0565b6001600160a01b0384811660009081526002602052604090205461010090048116908416141561143857506000610477565b6040516370a0823160e01b8152306004820152829033906370a0823190602401602060405180830381865afa158015611475573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149991906122ab565b1061047357506001610477565b6001600160a01b03811660009081526002602052604081205460ff166114ce57506000919050565b506001600160a01b03166000908152600260205260409020600b015490565b6001600160a01b03811660009081526002602052604081205460ff1661151557506000919050565b61151e82611086565b61152783610360565b6001600160a01b03841660009081526002602081905260409091209081015460039091015461155691906122f0565b61156091906122f0565b610f759190612307565b6001600160a01b03811660009081526002602052604081205460ff1661159257506000919050565b506001600160a01b0390811660009081526002602052604090205461010090041690565b600260005414156115d95760405162461bcd60e51b81526004016103e5906121e7565b60026000556001600160a01b03821661162a5760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6f6c4164647265737360681b60448201526064016103e5565b6000829050306001600160a01b0316816001600160a01b0316633018205f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061221e565b6001600160a01b0316146116f15760405162461bcd60e51b815260206004820152601e60248201527f576520617265206e6f742074686520706f6f6c20636f6e74726f6c6c6572000060448201526064016103e5565b836001600160a01b0316816001600160a01b03166304ad79546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175d919061221e565b6001600160a01b0316146117b35760405162461bcd60e51b815260206004820152601b60248201527f44617461546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b6040516396fb3eaf60e01b815233600482015284906001600160a01b038216906396fb3eaf906024016020604051808303816000875af11580156117fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181f919061231f565b6118605760405162461bcd60e51b81526020600482015260126024820152712737ba1022a9219918102232b83637bcb2b960711b60448201526064016103e5565b6040516334e1990760e01b8152600481018490526001600160a01b038316906334e1990790602401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b5050600160005550505050505050565b6000610477828461233a565b6001600160a01b03821660009081526002602052604090205460ff166118f6575050565b6001600160a01b038216600090815260026020526040902060010154600160a01b900460ff1615611925575050565b6001600160a01b0382166000908152600260205260408120600101805460ff60a01b1916600160a01b179055611964670de0b6b3a7640000600561235c565b9050600061197b670de0b6b3a7640000600561235c565b6001600160a01b0385166000908152600260205260408120600401549192506119a58560126122f0565b6119b090600a61245f565b6001600160a01b038716600090815260026020526040902060060154670de0b6b3a764000090869086906119e590879061235c565b6119ef919061235c565b6119f9919061233a565b611a03919061233a565b611a0d919061235c565b6001600160a01b038088166000818152600260205260409020600101549293508892611a3a921684611c44565b6001600160a01b0380881660009081526002602052604090208054600190910154610100909104821691611a719183911686611c44565b6001600160a01b03888116600081815260026020526040908190206001810154905491516309ef3f5b60e01b815260048101939093526024830187905260448301899052610100909104831660648301526084820187905260a482018990529091169081906309ef3f5b9060c401600060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506001600160a01b03891660009081526002602052604081206004018054879290611b3c9084906122f0565b90915550506001600160a01b03891660009081526002602081905260408220018054869290611b6c9084906122f0565b90915550506001600160a01b038981166000908152600260205260408082206001015490516370a0823160e01b815230600482015292169182906370a0823190602401602060405180830381865afa158015611bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf091906122ab565b6001600160a01b03808d16600090815260026020819052604090912060070154929350611c379290911690611c269084906118c6565b6001600160a01b0385169190611d3b565b5050505050505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb991906122ab565b611cc39190612307565b6040516001600160a01b038516602482015260448101829052909150611d2990859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611d70565b50505050565b6000610477828461235c565b6040516001600160a01b038316602482015260448101829052611d6b90849063a9059cbb60e01b90606401611cf2565b505050565b6000611dc5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e429092919063ffffffff16565b805190915015611d6b5780806020019051810190611de3919061231f565b611d6b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103e5565b6060611e518484600085611e59565b949350505050565b606082471015611eba5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103e5565b843b611f085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103e5565b600080866001600160a01b03168587604051611f249190612497565b60006040518083038185875af1925050503d8060008114611f61576040519150601f19603f3d011682016040523d82523d6000602084013e611f66565b606091505b5091509150611f76828286611f81565b979650505050505050565b60608315611f90575081610477565b825115611fa05782518084602001fd5b8160405162461bcd60e51b81526004016103e591906124b3565b6001600160a01b0381168114611fcf57600080fd5b50565b600060208284031215611fe457600080fd5b813561047781611fba565b60008060006060848603121561200457600080fd5b833561200f81611fba565b9250602084013561201f81611fba565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206f5761206f612030565b604052919050565b600080600080600060a0868803121561208f57600080fd5b853561209a81611fba565b94506020868101356120ab81611fba565b945060408701356120bb81611fba565b935060608701356120cb81611fba565b9250608087013567ffffffffffffffff808211156120e857600080fd5b818901915089601f8301126120fc57600080fd5b81358181111561210e5761210e612030565b8060051b915061211f848301612046565b818152918301840191848101908c84111561213957600080fd5b938501935b838510156121575784358252938501939085019061213e565b8096505050505050509295509295909350565b6000806000806080858703121561218057600080fd5b843561218b81611fba565b9350602085013561219b81611fba565b93969395505050506040820135916060013590565b6020808252601c908201527f4552523a204f6e6c7920706f6f6c2063616e2063616c6c207468697300000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006020828403121561223057600080fd5b815161047781611fba565b8051801515811461224b57600080fd5b919050565b60006040828403121561226257600080fd5b6040516040810181811067ffffffffffffffff8211171561228557612285612030565b6040526122918361223b565b815261229f6020840161223b565b60208201529392505050565b6000602082840312156122bd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612302576123026122da565b500390565b6000821982111561231a5761231a6122da565b500190565b60006020828403121561233157600080fd5b6104778261223b565b60008261235757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612376576123766122da565b500290565b600181815b808511156123b657816000190482111561239c5761239c6122da565b808516156123a957918102915b93841c9390800290612380565b509250929050565b6000826123cd57506001610f75565b816123da57506000610f75565b81600181146123f057600281146123fa57612416565b6001915050610f75565b60ff84111561240b5761240b6122da565b50506001821b610f75565b5060208310610133831016604e8410600b8410161715612439575081810a610f75565b612443838361237b565b8060001904821115612457576124576122da565b029392505050565b600061047783836123be565b60005b8381101561248657818101518382015260200161246e565b83811115611d295750506000910152565b600082516124a981846020870161246b565b9190910192915050565b60208152600082518060208401526124d281604085016020870161246b565b601f01601f1916919091016040019291505056fea26469706673582212208de9c72aeb5019cadbaefaf299cffa53888a7d897b4badf2f893319f9f76996564736f6c634300080a0033",
425
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063bccf74fe116100ad578063f03cd39611610071578063f03cd3961461026d578063f887ea4014610280578063f8932d6114610293578063fa93fd6d146102a6578063ff299f33146102b957600080fd5b8063bccf74fe1461020e578063c1b4904d14610221578063c4be249014610234578063cc49ede714610247578063efd481031461025a57600080fd5b806353f0c3b4116100f457806353f0c3b4146101ad578063799ece85146101c05780637b01ab30146101d357806388afadce146101e857806399039fcf146101fb57600080fd5b80631228cbee146101265780631f16cde6146101565780632686375b1461016957806326b1f01f1461018a575b600080fd5b610139610134366004611fd2565b6102cc565b6040516001600160a01b0390911681526020015b60405180910390f35b610139610164366004611fd2565b610316565b61017c610177366004611fd2565b610360565b60405190815260200161014d565b61019d610198366004611fef565b6103a7565b604051901515815260200161014d565b61019d6101bb366004612077565b61047e565b61017c6101ce366004611fd2565b610df7565b6101e66101e136600461216a565b610e3e565b005b61017c6101f6366004611fd2565b610f1e565b6101e6610209366004611fef565b610f7b565b61017c61021c366004611fd2565b611086565b61017c61022f366004611fd2565b6110cd565b61017c610242366004611fd2565b611115565b6101e6610255366004611fd2565b61115c565b61019d610268366004611fef565b6113a2565b61017c61027b366004611fd2565b6114a6565b600154610139906001600160a01b031681565b61017c6102a1366004611fd2565b6114ed565b6101396102b4366004611fd2565b61156a565b6101e66102c7366004611fef565b6115b6565b6001600160a01b03811660009081526002602052604081205460ff166102f457506000919050565b506001600160a01b039081166000908152600260205260409020600101541690565b6001600160a01b03811660009081526002602052604081205460ff1661033e57506000919050565b506001600160a01b039081166000908152600260205260409020600701541690565b6001600160a01b03811660009081526002602052604081205460ff1661038857506000919050565b506001600160a01b03166000908152600260205260409020600a015490565b6001600160a01b0383811660009081526002602052604081206001015490911633146103ee5760405162461bcd60e51b81526004016103e5906121b0565b60405180910390fd5b6001600160a01b03841660009081526002602052604090205460ff1661041657506000610477565b6001600160a01b0384811660009081526002602052604090205461010090048116908416141561044857506000610477565b6001600160a01b03841660009081526002602081905260409091200154821161047357506001610477565b5060005b9392505050565b6001546000906001600160a01b031633146104c95760405162461bcd60e51b815260206004820152600b60248201526a27a7262c902927aaaa22a960a91b60448201526064016103e5565b600260005414156104ec5760405162461bcd60e51b81526004016103e5906121e7565b60026000556001600160a01b03841661053d5760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6f6c4164647265737360681b60448201526064016103e5565b6000849050306001600160a01b0316816001600160a01b0316633018205f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561058a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ae919061221e565b6001600160a01b0316146106045760405162461bcd60e51b815260206004820152601e60248201527f576520617265206e6f742074686520706f6f6c20636f6e74726f6c6c6572000060448201526064016103e5565b866001600160a01b0316816001600160a01b03166304ad79546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610670919061221e565b6001600160a01b0316146106c65760405162461bcd60e51b815260206004820152601b60248201527f44617461546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b856001600160a01b0316816001600160a01b0316634df947d06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610732919061221e565b6001600160a01b0316146107885760405162461bcd60e51b815260206004820152601b60248201527f42617365546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b604051623d104160e31b815230600482015287906001600160a01b038216906301e88208906024016040805180830381865afa1580156107cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f09190612250565b5161083d5760405162461bcd60e51b815260206004820152601a60248201527f42617365546f6b656e2061646472657373206d69736d6174636800000000000060448201526064016103e5565b806001600160a01b03166340c10f1930836001600160a01b031663355274ea6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108af91906122ab565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156108f557600080fd5b505af1158015610909573d6000803e3d6000fd5b50505050806001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061096f91906122ab565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa1580156109b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d791906122ab565b14610a125760405162461bcd60e51b815260206004820152600b60248201526a135a5b9d0819985a5b195960aa1b60448201526064016103e5565b83600281518110610a2557610a256122c4565b6020026020010151610a9a600a836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9491906122ab565b906118c6565b1015610ada5760405162461bcd60e51b815260206004820152600f60248201526e4d61782076657374696e672031302560881b60448201526064016103e5565b604051806101e00160405280600115158152602001886001600160a01b03168152602001876001600160a01b0316815260200160001515815260200185600281518110610b2957610b296122c4565b6020026020010151836001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9391906122ab565b610b9d91906122f0565b8152602001826001600160a01b031663355274ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0491906122ab565b815260200185600481518110610c1c57610c1c6122c4565b602002602001015181526020016000815260200185600081518110610c4357610c436122c4565b60200260200101518152602001866001600160a01b0316815260200143815260200185600381518110610c7857610c786122c4565b602002602001015143610c8b9190612307565b815260200185600281518110610ca357610ca36122c4565b60209081029190910181015182524382820152600060409283018190526001600160a01b038c8116825260028084529184902085518154948701516001600160a81b0319958616911515610100600160a81b031916919091176101009184168202178255948601516001808301805460608a0151938616971696909617600160a01b921515929092029190911790945560808601519281019290925560a0850151600383015560c0850151600483015560e085015160058301559284015160068201556101208401516007820180546001600160a01b031916919094161790925561014083015160088301556101608301516009830155610180830151600a8301556101a0830151600b8301556101c090920151600c909101558451610de3918a918791908110610dd657610dd66122c4565b60200260200101516118d2565b600192505050600160005595945050505050565b6001600160a01b03811660009081526002602052604081205460ff16610e1f57506000919050565b506001600160a01b031660009081526002602052604090206009015490565b60026000541415610e615760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0386168152602091909152604090205460ff16610e8b57610f13565b6001600160a01b03848116600090815260026020526040902060010154163314610ec75760405162461bcd60e51b81526004016103e5906121b0565b6000610ed48585846113a2565b905080610ee15750610f13565b6001600160a01b03851660009081526002602081905260408220018054859290610f0c908490612307565b9091555050505b505060016000555050565b6001600160a01b03811660009081526002602052604081205460ff16610f4657506000919050565b6001600160a01b038216600090815260026020819052604090912090810154600390910154610f7591906122f0565b92915050565b60026000541415610f9e5760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0385168152602091909152604090205460ff16610fc85761107c565b6001600160a01b038381166000908152600260205260409020600101541633146110045760405162461bcd60e51b81526004016103e5906121b0565b60006110118484846103a7565b90508061101e575061107c565b6001600160a01b03808516600081815260026020526040902060010154869261104992911685611c44565b6001600160a01b038516600090815260026020819052604082200180548592906110749084906122f0565b909155505050505b5050600160005550565b6001600160a01b03811660009081526002602052604081205460ff166110ae57506000919050565b506001600160a01b03166000908152600260205260409020600c015490565b6001600160a01b03811660009081526002602052604081205460ff166110f557506000919050565b506001600160a01b03166000908152600260208190526040909120015490565b6001600160a01b03811660009081526002602052604081205460ff1661113d57506000919050565b506001600160a01b031660009081526002602052604090206004015490565b6002600054141561117f5760405162461bcd60e51b81526004016103e5906121e7565b600260008181556001600160a01b0383168152602091909152604090205460ff166111e45760405162461bcd60e51b815260206004820152601560248201527422a9291d24b73b30b634b2103230ba30ba37b5b2b760591b60448201526064016103e5565b6001600160a01b03811660009081526002602052604081206009015443111561123b576001600160a01b0382166000908152600260205260409020600b81015460099091015461123491906122f0565b9050611264565b6001600160a01b0382166000908152600260205260409020600b015461126190436122f0565b90505b6001600160a01b038216600090815260026020526040812060088101546009909101546112b691611294916122f0565b6001600160a01b0385166000908152600260205260409020600a0154906118c6565b9050806112c457505061139a565b60006112d08383611d2f565b90506000811180156112fe57506001600160a01b038416600090815260026020819052604090912001548111155b15611396576001600160a01b03808516600081815260026020526040902043600b82015560070154869261133492911684611d3b565b6001600160a01b0385166000908152600260208190526040822001805484929061135f9084906122f0565b90915550506001600160a01b0385166000908152600260205260408120600c01805484929061138f908490612307565b9091555050505b5050505b506001600055565b6001600160a01b03831660009081526002602052604081205460ff166113ca57506000610477565b6001600160a01b038481166000908152600260205260409020600101541633146114065760405162461bcd60e51b81526004016103e5906121b0565b6001600160a01b0384811660009081526002602052604090205461010090048116908416141561143857506000610477565b6040516370a0823160e01b8152306004820152829033906370a0823190602401602060405180830381865afa158015611475573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149991906122ab565b1061047357506001610477565b6001600160a01b03811660009081526002602052604081205460ff166114ce57506000919050565b506001600160a01b03166000908152600260205260409020600b015490565b6001600160a01b03811660009081526002602052604081205460ff1661151557506000919050565b61151e82611086565b61152783610360565b6001600160a01b03841660009081526002602081905260409091209081015460039091015461155691906122f0565b61156091906122f0565b610f759190612307565b6001600160a01b03811660009081526002602052604081205460ff1661159257506000919050565b506001600160a01b0390811660009081526002602052604090205461010090041690565b600260005414156115d95760405162461bcd60e51b81526004016103e5906121e7565b60026000556001600160a01b03821661162a5760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420706f6f6c4164647265737360681b60448201526064016103e5565b6000829050306001600160a01b0316816001600160a01b0316633018205f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169b919061221e565b6001600160a01b0316146116f15760405162461bcd60e51b815260206004820152601e60248201527f576520617265206e6f742074686520706f6f6c20636f6e74726f6c6c6572000060448201526064016103e5565b836001600160a01b0316816001600160a01b03166304ad79546040518163ffffffff1660e01b8152600401602060405180830381865afa158015611739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175d919061221e565b6001600160a01b0316146117b35760405162461bcd60e51b815260206004820152601b60248201527f44617461546f6b656e2061646472657373206d6973736d61746368000000000060448201526064016103e5565b6040516396fb3eaf60e01b815233600482015284906001600160a01b038216906396fb3eaf906024016020604051808303816000875af11580156117fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181f919061231f565b6118605760405162461bcd60e51b81526020600482015260126024820152712737ba1022a9219918102232b83637bcb2b960711b60448201526064016103e5565b6040516334e1990760e01b8152600481018490526001600160a01b038316906334e1990790602401600060405180830381600087803b1580156118a257600080fd5b505af11580156118b6573d6000803e3d6000fd5b5050600160005550505050505050565b6000610477828461233a565b6001600160a01b03821660009081526002602052604090205460ff166118f6575050565b6001600160a01b038216600090815260026020526040902060010154600160a01b900460ff1615611925575050565b6001600160a01b0382166000908152600260205260408120600101805460ff60a01b1916600160a01b179055611964670de0b6b3a7640000600561235c565b9050600061197b670de0b6b3a7640000600561235c565b6001600160a01b0385166000908152600260205260408120600401549192506119a58560126122f0565b6119b090600a61245f565b6001600160a01b038716600090815260026020526040902060060154670de0b6b3a764000090869086906119e590879061235c565b6119ef919061235c565b6119f9919061233a565b611a03919061233a565b611a0d919061235c565b6001600160a01b038088166000818152600260205260409020600101549293508892611a3a921684611c44565b6001600160a01b0380881660009081526002602052604090208054600190910154610100909104821691611a719183911686611c44565b6001600160a01b03888116600081815260026020526040908190206001810154905491516309ef3f5b60e01b815260048101939093526024830187905260448301899052610100909104831660648301526084820187905260a482018990529091169081906309ef3f5b9060c401600060405180830381600087803b158015611af957600080fd5b505af1158015611b0d573d6000803e3d6000fd5b505050506001600160a01b03891660009081526002602052604081206004018054879290611b3c9084906122f0565b90915550506001600160a01b03891660009081526002602081905260408220018054869290611b6c9084906122f0565b90915550506001600160a01b038981166000908152600260205260408082206001015490516370a0823160e01b815230600482015292169182906370a0823190602401602060405180830381865afa158015611bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf091906122ab565b6001600160a01b03808d16600090815260026020819052604090912060070154929350611c379290911690611c269084906118c6565b6001600160a01b0385169190611d3b565b5050505050505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611c95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb991906122ab565b611cc39190612307565b6040516001600160a01b038516602482015260448101829052909150611d2990859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611d70565b50505050565b6000610477828461235c565b6040516001600160a01b038316602482015260448101829052611d6b90849063a9059cbb60e01b90606401611cf2565b505050565b6000611dc5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e429092919063ffffffff16565b805190915015611d6b5780806020019051810190611de3919061231f565b611d6b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103e5565b6060611e518484600085611e59565b949350505050565b606082471015611eba5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103e5565b843b611f085760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103e5565b600080866001600160a01b03168587604051611f249190612497565b60006040518083038185875af1925050503d8060008114611f61576040519150601f19603f3d011682016040523d82523d6000602084013e611f66565b606091505b5091509150611f76828286611f81565b979650505050505050565b60608315611f90575081610477565b825115611fa05782518084602001fd5b8160405162461bcd60e51b81526004016103e591906124b3565b6001600160a01b0381168114611fcf57600080fd5b50565b600060208284031215611fe457600080fd5b813561047781611fba565b60008060006060848603121561200457600080fd5b833561200f81611fba565b9250602084013561201f81611fba565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561206f5761206f612030565b604052919050565b600080600080600060a0868803121561208f57600080fd5b853561209a81611fba565b94506020868101356120ab81611fba565b945060408701356120bb81611fba565b935060608701356120cb81611fba565b9250608087013567ffffffffffffffff808211156120e857600080fd5b818901915089601f8301126120fc57600080fd5b81358181111561210e5761210e612030565b8060051b915061211f848301612046565b818152918301840191848101908c84111561213957600080fd5b938501935b838510156121575784358252938501939085019061213e565b8096505050505050509295509295909350565b6000806000806080858703121561218057600080fd5b843561218b81611fba565b9350602085013561219b81611fba565b93969395505050506040820135916060013590565b6020808252601c908201527f4552523a204f6e6c7920706f6f6c2063616e2063616c6c207468697300000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60006020828403121561223057600080fd5b815161047781611fba565b8051801515811461224b57600080fd5b919050565b60006040828403121561226257600080fd5b6040516040810181811067ffffffffffffffff8211171561228557612285612030565b6040526122918361223b565b815261229f6020840161223b565b60208201529392505050565b6000602082840312156122bd57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612302576123026122da565b500390565b6000821982111561231a5761231a6122da565b500190565b60006020828403121561233157600080fd5b6104778261223b565b60008261235757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615612376576123766122da565b500290565b600181815b808511156123b657816000190482111561239c5761239c6122da565b808516156123a957918102915b93841c9390800290612380565b509250929050565b6000826123cd57506001610f75565b816123da57506000610f75565b81600181146123f057600281146123fa57612416565b6001915050610f75565b60ff84111561240b5761240b6122da565b50506001821b610f75565b5060208310610133831016604e8410600b8410161715612439575081810a610f75565b612443838361237b565b8060001904821115612457576124576122da565b029392505050565b600061047783836123be565b60005b8381101561248657818101518382015260200161246e565b83811115611d295750506000910152565b600082516124a981846020870161246b565b9190910192915050565b60208152600082518060208401526124d281604085016020870161246b565b601f01601f1916919091016040019291505056fea26469706673582212208de9c72aeb5019cadbaefaf299cffa53888a7d897b4badf2f893319f9f76996564736f6c634300080a0033",
426
+ "linkReferences": {},
427
+ "deployedLinkReferences": {}
428
+ }