@artblocks/contracts 0.0.1 → 1.0.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 (113) hide show
  1. package/README.md +27 -2
  2. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Address.json +10 -0
  3. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Counters.json +10 -0
  4. package/artifacts/contracts/archive/GenArt721CoreV0.sol/CustomERC721Metadata.json +425 -0
  5. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC165.json +38 -0
  6. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721.json +322 -0
  7. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721Enumerable.json +384 -0
  8. package/artifacts/contracts/archive/GenArt721CoreV0.sol/ERC721ReceiverMock.json +101 -0
  9. package/artifacts/contracts/archive/GenArt721CoreV0.sol/GenArt721.json +1528 -0
  10. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC165.json +32 -0
  11. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721.json +316 -0
  12. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Enumerable.json +378 -0
  13. package/artifacts/contracts/archive/GenArt721CoreV0.sol/IERC721Receiver.json +47 -0
  14. package/artifacts/contracts/archive/GenArt721CoreV0.sol/SafeMath.json +10 -0
  15. package/artifacts/contracts/archive/GenArt721CoreV0.sol/Strings.json +10 -0
  16. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Address.json +10 -0
  17. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Counters.json +10 -0
  18. package/artifacts/contracts/archive/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
  19. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC165.json +38 -0
  20. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721.json +322 -0
  21. package/artifacts/contracts/archive/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
  22. package/artifacts/contracts/archive/GenArt721CoreV1.sol/GenArt721Core.json +1773 -0
  23. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC165.json +32 -0
  24. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721.json +316 -0
  25. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
  26. package/artifacts/contracts/archive/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
  27. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Randomizer.json +26 -0
  28. package/artifacts/contracts/archive/GenArt721CoreV1.sol/SafeMath.json +10 -0
  29. package/artifacts/contracts/archive/GenArt721CoreV1.sol/Strings.json +10 -0
  30. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol/MinterDAExpV0.json +575 -0
  31. package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol/MinterDAExpV1.json +463 -0
  32. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +3 -3
  33. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +3 -3
  34. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +15 -15
  35. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol/MinterDALinV0.json +551 -0
  36. package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol/MinterDALinV1.json +439 -0
  37. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +3 -3
  38. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +3 -3
  39. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol/MinterHolderV0.json +622 -0
  40. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +719 -0
  41. package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
  42. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +3 -3
  43. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol/MinterMerkleV0.json +873 -0
  44. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +932 -0
  45. package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +984 -0
  46. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +3 -3
  47. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +3 -3
  48. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol/MinterSetPriceV0.json +400 -0
  49. package/artifacts/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol/MinterSetPriceV1.json +3 -3
  50. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +3 -3
  51. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +3 -3
  52. package/artifacts/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +3 -3
  53. package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol/MinterSetPriceERC20V1.json +349 -0
  54. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +3 -3
  55. package/artifacts/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +3 -3
  56. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +12 -12
  57. package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol/IFilteredMinterDAExpSettlement_Mixin.json +161 -0
  58. package/artifacts/contracts/interfaces/0.8.x/IMinterBaseV0.sol/IMinterBaseV0.json +24 -0
  59. package/artifacts/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol/IMintingAPICoreV0.json +185 -0
  60. package/artifacts/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol/IMintingAPIMinterV0.json +88 -0
  61. package/artifacts/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol/MinterBase.json +24 -0
  62. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +1066 -0
  63. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +869 -0
  64. package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +845 -0
  65. package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +1113 -0
  66. package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +1052 -0
  67. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +755 -0
  68. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +684 -0
  69. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +1817 -0
  70. package/contracts/archive/GenArt721CoreV0.sol +1621 -0
  71. package/contracts/archive/GenArt721CoreV1.sol +1577 -0
  72. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV0.sol +503 -0
  73. package/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV1.sol +442 -0
  74. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV2.sol +3 -3
  75. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExp/MinterDAExpV3.sol +3 -3
  76. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +3 -3
  77. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV0.sol +450 -0
  78. package/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV1.sol +406 -0
  79. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV2.sol +3 -3
  80. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterDALin/MinterDALinV3.sol +3 -3
  81. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV0.sol +540 -0
  82. package/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol +648 -0
  83. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV2.sol +6 -6
  84. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterHolder/MinterHolderV3.sol +4 -4
  85. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV0.sol +523 -0
  86. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol +602 -0
  87. package/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol +679 -0
  88. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV3.sol +4 -4
  89. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterMerkle/MinterMerkleV4.sol +4 -4
  90. package/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV0.sol +333 -0
  91. package/contracts/{minter-suite/Minters/MinterSetPrice/deprecated → archive/minter-suite/Minters/MinterSetPrice}/MinterSetPriceV1.sol +0 -0
  92. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV2.sol +3 -3
  93. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPrice/MinterSetPriceV3.sol +3 -3
  94. package/contracts/{minter-suite/Minters/MinterSetPriceERC20/deprecated → archive/minter-suite/Minters/MinterSetPriceERC20}/MinterSetPriceERC20V0.sol +0 -0
  95. package/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V1.sol +411 -0
  96. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +3 -3
  97. package/contracts/{minter-suite → archive/minter-suite}/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +3 -3
  98. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +4 -53
  99. package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlement_Mixin.sol +62 -0
  100. package/contracts/interfaces/0.8.x/IMinterBaseV0.sol +20 -0
  101. package/contracts/interfaces/0.8.x/IMintingAPICoreV0.sol +62 -0
  102. package/contracts/interfaces/0.8.x/IMintingAPIMinterV0.sol +31 -0
  103. package/contracts/minter-suite/Minters/MinterBase_v0_1_1.sol +293 -0
  104. package/contracts/minter-suite/Minters/MinterDAExpSettlementV1.sol +1026 -0
  105. package/contracts/minter-suite/Minters/MinterDAExpV4.sol +572 -0
  106. package/contracts/minter-suite/Minters/MinterDALinV4.sol +525 -0
  107. package/contracts/minter-suite/Minters/MinterHolderV4.sol +752 -0
  108. package/contracts/minter-suite/Minters/MinterMerkleV5.sol +688 -0
  109. package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +451 -0
  110. package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +352 -0
  111. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +1979 -0
  112. package/package.json +1 -1
  113. package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +0 -794
@@ -0,0 +1,1817 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "GenArt721CoreV3_Engine_IncorrectCoreType",
4
+ "sourceName": "contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "string",
10
+ "name": "_tokenName",
11
+ "type": "string"
12
+ },
13
+ {
14
+ "internalType": "string",
15
+ "name": "_tokenSymbol",
16
+ "type": "string"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_renderProviderAddress",
21
+ "type": "address"
22
+ },
23
+ {
24
+ "internalType": "address",
25
+ "name": "_platformProviderAddress",
26
+ "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "_randomizerContract",
31
+ "type": "address"
32
+ },
33
+ {
34
+ "internalType": "address",
35
+ "name": "_adminACLContract",
36
+ "type": "address"
37
+ },
38
+ {
39
+ "internalType": "uint248",
40
+ "name": "_startingProjectId",
41
+ "type": "uint248"
42
+ },
43
+ {
44
+ "internalType": "bool",
45
+ "name": "_autoApproveArtistSplitProposals",
46
+ "type": "bool"
47
+ },
48
+ {
49
+ "internalType": "address",
50
+ "name": "_engineRegistryContract",
51
+ "type": "address"
52
+ }
53
+ ],
54
+ "stateMutability": "nonpayable",
55
+ "type": "constructor"
56
+ },
57
+ {
58
+ "anonymous": false,
59
+ "inputs": [
60
+ {
61
+ "indexed": true,
62
+ "internalType": "address",
63
+ "name": "owner",
64
+ "type": "address"
65
+ },
66
+ {
67
+ "indexed": true,
68
+ "internalType": "address",
69
+ "name": "approved",
70
+ "type": "address"
71
+ },
72
+ {
73
+ "indexed": true,
74
+ "internalType": "uint256",
75
+ "name": "tokenId",
76
+ "type": "uint256"
77
+ }
78
+ ],
79
+ "name": "Approval",
80
+ "type": "event"
81
+ },
82
+ {
83
+ "anonymous": false,
84
+ "inputs": [
85
+ {
86
+ "indexed": true,
87
+ "internalType": "address",
88
+ "name": "owner",
89
+ "type": "address"
90
+ },
91
+ {
92
+ "indexed": true,
93
+ "internalType": "address",
94
+ "name": "operator",
95
+ "type": "address"
96
+ },
97
+ {
98
+ "indexed": false,
99
+ "internalType": "bool",
100
+ "name": "approved",
101
+ "type": "bool"
102
+ }
103
+ ],
104
+ "name": "ApprovalForAll",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": true,
112
+ "internalType": "address",
113
+ "name": "previousOwner",
114
+ "type": "address"
115
+ },
116
+ {
117
+ "indexed": true,
118
+ "internalType": "address",
119
+ "name": "newOwner",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "OwnershipTransferred",
124
+ "type": "event"
125
+ },
126
+ {
127
+ "anonymous": false,
128
+ "inputs": [
129
+ {
130
+ "indexed": true,
131
+ "internalType": "address",
132
+ "name": "from",
133
+ "type": "address"
134
+ },
135
+ {
136
+ "indexed": true,
137
+ "internalType": "address",
138
+ "name": "to",
139
+ "type": "address"
140
+ },
141
+ {
142
+ "indexed": true,
143
+ "internalType": "uint256",
144
+ "name": "tokenId",
145
+ "type": "uint256"
146
+ }
147
+ ],
148
+ "name": "Transfer",
149
+ "type": "event"
150
+ },
151
+ {
152
+ "inputs": [
153
+ {
154
+ "internalType": "string",
155
+ "name": "_projectName",
156
+ "type": "string"
157
+ },
158
+ {
159
+ "internalType": "address payable",
160
+ "name": "_artistAddress",
161
+ "type": "address"
162
+ }
163
+ ],
164
+ "name": "addProject",
165
+ "outputs": [],
166
+ "stateMutability": "nonpayable",
167
+ "type": "function"
168
+ },
169
+ {
170
+ "inputs": [
171
+ {
172
+ "internalType": "uint256",
173
+ "name": "_projectId",
174
+ "type": "uint256"
175
+ },
176
+ {
177
+ "internalType": "string",
178
+ "name": "_script",
179
+ "type": "string"
180
+ }
181
+ ],
182
+ "name": "addProjectScript",
183
+ "outputs": [],
184
+ "stateMutability": "nonpayable",
185
+ "type": "function"
186
+ },
187
+ {
188
+ "inputs": [],
189
+ "name": "admin",
190
+ "outputs": [
191
+ {
192
+ "internalType": "address",
193
+ "name": "",
194
+ "type": "address"
195
+ }
196
+ ],
197
+ "stateMutability": "view",
198
+ "type": "function"
199
+ },
200
+ {
201
+ "inputs": [
202
+ {
203
+ "internalType": "address",
204
+ "name": "_sender",
205
+ "type": "address"
206
+ },
207
+ {
208
+ "internalType": "address",
209
+ "name": "_contract",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "internalType": "bytes4",
214
+ "name": "_selector",
215
+ "type": "bytes4"
216
+ }
217
+ ],
218
+ "name": "adminACLAllowed",
219
+ "outputs": [
220
+ {
221
+ "internalType": "bool",
222
+ "name": "",
223
+ "type": "bool"
224
+ }
225
+ ],
226
+ "stateMutability": "nonpayable",
227
+ "type": "function"
228
+ },
229
+ {
230
+ "inputs": [],
231
+ "name": "adminACLContract",
232
+ "outputs": [
233
+ {
234
+ "internalType": "contract IAdminACLV0",
235
+ "name": "",
236
+ "type": "address"
237
+ }
238
+ ],
239
+ "stateMutability": "view",
240
+ "type": "function"
241
+ },
242
+ {
243
+ "inputs": [
244
+ {
245
+ "internalType": "uint256",
246
+ "name": "_projectId",
247
+ "type": "uint256"
248
+ },
249
+ {
250
+ "internalType": "address payable",
251
+ "name": "_artistAddress",
252
+ "type": "address"
253
+ },
254
+ {
255
+ "internalType": "address payable",
256
+ "name": "_additionalPayeePrimarySales",
257
+ "type": "address"
258
+ },
259
+ {
260
+ "internalType": "uint256",
261
+ "name": "_additionalPayeePrimarySalesPercentage",
262
+ "type": "uint256"
263
+ },
264
+ {
265
+ "internalType": "address payable",
266
+ "name": "_additionalPayeeSecondarySales",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "internalType": "uint256",
271
+ "name": "_additionalPayeeSecondarySalesPercentage",
272
+ "type": "uint256"
273
+ }
274
+ ],
275
+ "name": "adminAcceptArtistAddressesAndSplits",
276
+ "outputs": [],
277
+ "stateMutability": "nonpayable",
278
+ "type": "function"
279
+ },
280
+ {
281
+ "inputs": [
282
+ {
283
+ "internalType": "address",
284
+ "name": "to",
285
+ "type": "address"
286
+ },
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "tokenId",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "name": "approve",
294
+ "outputs": [],
295
+ "stateMutability": "nonpayable",
296
+ "type": "function"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "artblocksDependencyRegistryAddress",
301
+ "outputs": [
302
+ {
303
+ "internalType": "address",
304
+ "name": "",
305
+ "type": "address"
306
+ }
307
+ ],
308
+ "stateMutability": "view",
309
+ "type": "function"
310
+ },
311
+ {
312
+ "inputs": [],
313
+ "name": "autoApproveArtistSplitProposals",
314
+ "outputs": [
315
+ {
316
+ "internalType": "bool",
317
+ "name": "",
318
+ "type": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "view",
322
+ "type": "function"
323
+ },
324
+ {
325
+ "inputs": [
326
+ {
327
+ "internalType": "address",
328
+ "name": "owner",
329
+ "type": "address"
330
+ }
331
+ ],
332
+ "name": "balanceOf",
333
+ "outputs": [
334
+ {
335
+ "internalType": "uint256",
336
+ "name": "",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "stateMutability": "view",
341
+ "type": "function"
342
+ },
343
+ {
344
+ "inputs": [],
345
+ "name": "coreType",
346
+ "outputs": [
347
+ {
348
+ "internalType": "string",
349
+ "name": "",
350
+ "type": "string"
351
+ }
352
+ ],
353
+ "stateMutability": "pure",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [],
358
+ "name": "coreVersion",
359
+ "outputs": [
360
+ {
361
+ "internalType": "string",
362
+ "name": "",
363
+ "type": "string"
364
+ }
365
+ ],
366
+ "stateMutability": "pure",
367
+ "type": "function"
368
+ },
369
+ {
370
+ "inputs": [],
371
+ "name": "defaultBaseURI",
372
+ "outputs": [
373
+ {
374
+ "internalType": "string",
375
+ "name": "",
376
+ "type": "string"
377
+ }
378
+ ],
379
+ "stateMutability": "view",
380
+ "type": "function"
381
+ },
382
+ {
383
+ "inputs": [],
384
+ "name": "forbidNewProjects",
385
+ "outputs": [],
386
+ "stateMutability": "nonpayable",
387
+ "type": "function"
388
+ },
389
+ {
390
+ "inputs": [
391
+ {
392
+ "internalType": "uint256",
393
+ "name": "tokenId",
394
+ "type": "uint256"
395
+ }
396
+ ],
397
+ "name": "getApproved",
398
+ "outputs": [
399
+ {
400
+ "internalType": "address",
401
+ "name": "",
402
+ "type": "address"
403
+ }
404
+ ],
405
+ "stateMutability": "view",
406
+ "type": "function"
407
+ },
408
+ {
409
+ "inputs": [
410
+ {
411
+ "internalType": "uint256",
412
+ "name": "_index",
413
+ "type": "uint256"
414
+ }
415
+ ],
416
+ "name": "getHistoricalRandomizerAt",
417
+ "outputs": [
418
+ {
419
+ "internalType": "address",
420
+ "name": "",
421
+ "type": "address"
422
+ }
423
+ ],
424
+ "stateMutability": "view",
425
+ "type": "function"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "_projectId",
432
+ "type": "uint256"
433
+ },
434
+ {
435
+ "internalType": "uint256",
436
+ "name": "_price",
437
+ "type": "uint256"
438
+ }
439
+ ],
440
+ "name": "getPrimaryRevenueSplits",
441
+ "outputs": [
442
+ {
443
+ "internalType": "uint256",
444
+ "name": "renderProviderRevenue_",
445
+ "type": "uint256"
446
+ },
447
+ {
448
+ "internalType": "address payable",
449
+ "name": "renderProviderAddress_",
450
+ "type": "address"
451
+ },
452
+ {
453
+ "internalType": "uint256",
454
+ "name": "platformProviderRevenue_",
455
+ "type": "uint256"
456
+ },
457
+ {
458
+ "internalType": "address payable",
459
+ "name": "platformProviderAddress_",
460
+ "type": "address"
461
+ },
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "artistRevenue_",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "address payable",
469
+ "name": "artistAddress_",
470
+ "type": "address"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "additionalPayeePrimaryRevenue_",
475
+ "type": "uint256"
476
+ }
477
+ ],
478
+ "stateMutability": "view",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [
483
+ {
484
+ "internalType": "uint256",
485
+ "name": "_tokenId",
486
+ "type": "uint256"
487
+ }
488
+ ],
489
+ "name": "getRoyalties",
490
+ "outputs": [
491
+ {
492
+ "internalType": "address payable[]",
493
+ "name": "recipients",
494
+ "type": "address[]"
495
+ },
496
+ {
497
+ "internalType": "uint256[]",
498
+ "name": "bps",
499
+ "type": "uint256[]"
500
+ }
501
+ ],
502
+ "stateMutability": "view",
503
+ "type": "function"
504
+ },
505
+ {
506
+ "inputs": [
507
+ {
508
+ "internalType": "address",
509
+ "name": "owner",
510
+ "type": "address"
511
+ },
512
+ {
513
+ "internalType": "address",
514
+ "name": "operator",
515
+ "type": "address"
516
+ }
517
+ ],
518
+ "name": "isApprovedForAll",
519
+ "outputs": [
520
+ {
521
+ "internalType": "bool",
522
+ "name": "",
523
+ "type": "bool"
524
+ }
525
+ ],
526
+ "stateMutability": "view",
527
+ "type": "function"
528
+ },
529
+ {
530
+ "inputs": [
531
+ {
532
+ "internalType": "address",
533
+ "name": "_minter",
534
+ "type": "address"
535
+ }
536
+ ],
537
+ "name": "isMintWhitelisted",
538
+ "outputs": [
539
+ {
540
+ "internalType": "bool",
541
+ "name": "",
542
+ "type": "bool"
543
+ }
544
+ ],
545
+ "stateMutability": "view",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [
550
+ {
551
+ "internalType": "address",
552
+ "name": "_to",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "uint256",
557
+ "name": "_projectId",
558
+ "type": "uint256"
559
+ },
560
+ {
561
+ "internalType": "address",
562
+ "name": "_by",
563
+ "type": "address"
564
+ }
565
+ ],
566
+ "name": "mint_Ecf",
567
+ "outputs": [
568
+ {
569
+ "internalType": "uint256",
570
+ "name": "_tokenId",
571
+ "type": "uint256"
572
+ }
573
+ ],
574
+ "stateMutability": "nonpayable",
575
+ "type": "function"
576
+ },
577
+ {
578
+ "inputs": [],
579
+ "name": "minterContract",
580
+ "outputs": [
581
+ {
582
+ "internalType": "address",
583
+ "name": "",
584
+ "type": "address"
585
+ }
586
+ ],
587
+ "stateMutability": "view",
588
+ "type": "function"
589
+ },
590
+ {
591
+ "inputs": [],
592
+ "name": "name",
593
+ "outputs": [
594
+ {
595
+ "internalType": "string",
596
+ "name": "",
597
+ "type": "string"
598
+ }
599
+ ],
600
+ "stateMutability": "view",
601
+ "type": "function"
602
+ },
603
+ {
604
+ "inputs": [],
605
+ "name": "newProjectsForbidden",
606
+ "outputs": [
607
+ {
608
+ "internalType": "bool",
609
+ "name": "",
610
+ "type": "bool"
611
+ }
612
+ ],
613
+ "stateMutability": "view",
614
+ "type": "function"
615
+ },
616
+ {
617
+ "inputs": [],
618
+ "name": "nextProjectId",
619
+ "outputs": [
620
+ {
621
+ "internalType": "uint256",
622
+ "name": "",
623
+ "type": "uint256"
624
+ }
625
+ ],
626
+ "stateMutability": "view",
627
+ "type": "function"
628
+ },
629
+ {
630
+ "inputs": [],
631
+ "name": "numHistoricalRandomizers",
632
+ "outputs": [
633
+ {
634
+ "internalType": "uint256",
635
+ "name": "",
636
+ "type": "uint256"
637
+ }
638
+ ],
639
+ "stateMutability": "view",
640
+ "type": "function"
641
+ },
642
+ {
643
+ "inputs": [],
644
+ "name": "owner",
645
+ "outputs": [
646
+ {
647
+ "internalType": "address",
648
+ "name": "",
649
+ "type": "address"
650
+ }
651
+ ],
652
+ "stateMutability": "view",
653
+ "type": "function"
654
+ },
655
+ {
656
+ "inputs": [
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "tokenId",
660
+ "type": "uint256"
661
+ }
662
+ ],
663
+ "name": "ownerOf",
664
+ "outputs": [
665
+ {
666
+ "internalType": "address",
667
+ "name": "",
668
+ "type": "address"
669
+ }
670
+ ],
671
+ "stateMutability": "view",
672
+ "type": "function"
673
+ },
674
+ {
675
+ "inputs": [],
676
+ "name": "platformProviderPrimarySalesAddress",
677
+ "outputs": [
678
+ {
679
+ "internalType": "address payable",
680
+ "name": "",
681
+ "type": "address"
682
+ }
683
+ ],
684
+ "stateMutability": "view",
685
+ "type": "function"
686
+ },
687
+ {
688
+ "inputs": [],
689
+ "name": "platformProviderPrimarySalesPercentage",
690
+ "outputs": [
691
+ {
692
+ "internalType": "uint256",
693
+ "name": "",
694
+ "type": "uint256"
695
+ }
696
+ ],
697
+ "stateMutability": "view",
698
+ "type": "function"
699
+ },
700
+ {
701
+ "inputs": [],
702
+ "name": "platformProviderSecondarySalesAddress",
703
+ "outputs": [
704
+ {
705
+ "internalType": "address payable",
706
+ "name": "",
707
+ "type": "address"
708
+ }
709
+ ],
710
+ "stateMutability": "view",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [],
715
+ "name": "platformProviderSecondarySalesBPS",
716
+ "outputs": [
717
+ {
718
+ "internalType": "uint256",
719
+ "name": "",
720
+ "type": "uint256"
721
+ }
722
+ ],
723
+ "stateMutability": "view",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "_projectId",
731
+ "type": "uint256"
732
+ }
733
+ ],
734
+ "name": "projectArtistPaymentInfo",
735
+ "outputs": [
736
+ {
737
+ "internalType": "address",
738
+ "name": "artistAddress",
739
+ "type": "address"
740
+ },
741
+ {
742
+ "internalType": "address",
743
+ "name": "additionalPayeePrimarySales",
744
+ "type": "address"
745
+ },
746
+ {
747
+ "internalType": "uint256",
748
+ "name": "additionalPayeePrimarySalesPercentage",
749
+ "type": "uint256"
750
+ },
751
+ {
752
+ "internalType": "address",
753
+ "name": "additionalPayeeSecondarySales",
754
+ "type": "address"
755
+ },
756
+ {
757
+ "internalType": "uint256",
758
+ "name": "additionalPayeeSecondarySalesPercentage",
759
+ "type": "uint256"
760
+ },
761
+ {
762
+ "internalType": "uint256",
763
+ "name": "secondaryMarketRoyaltyPercentage",
764
+ "type": "uint256"
765
+ }
766
+ ],
767
+ "stateMutability": "view",
768
+ "type": "function"
769
+ },
770
+ {
771
+ "inputs": [
772
+ {
773
+ "internalType": "uint256",
774
+ "name": "_projectId",
775
+ "type": "uint256"
776
+ }
777
+ ],
778
+ "name": "projectDetails",
779
+ "outputs": [
780
+ {
781
+ "internalType": "string",
782
+ "name": "projectName",
783
+ "type": "string"
784
+ },
785
+ {
786
+ "internalType": "string",
787
+ "name": "artist",
788
+ "type": "string"
789
+ },
790
+ {
791
+ "internalType": "string",
792
+ "name": "description",
793
+ "type": "string"
794
+ },
795
+ {
796
+ "internalType": "string",
797
+ "name": "website",
798
+ "type": "string"
799
+ },
800
+ {
801
+ "internalType": "string",
802
+ "name": "license",
803
+ "type": "string"
804
+ }
805
+ ],
806
+ "stateMutability": "view",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "uint256",
813
+ "name": "_projectId",
814
+ "type": "uint256"
815
+ }
816
+ ],
817
+ "name": "projectIdToAdditionalPayeePrimarySales",
818
+ "outputs": [
819
+ {
820
+ "internalType": "address payable",
821
+ "name": "",
822
+ "type": "address"
823
+ }
824
+ ],
825
+ "stateMutability": "view",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [
830
+ {
831
+ "internalType": "uint256",
832
+ "name": "_projectId",
833
+ "type": "uint256"
834
+ }
835
+ ],
836
+ "name": "projectIdToAdditionalPayeePrimarySalesPercentage",
837
+ "outputs": [
838
+ {
839
+ "internalType": "uint256",
840
+ "name": "",
841
+ "type": "uint256"
842
+ }
843
+ ],
844
+ "stateMutability": "view",
845
+ "type": "function"
846
+ },
847
+ {
848
+ "inputs": [
849
+ {
850
+ "internalType": "uint256",
851
+ "name": "_projectId",
852
+ "type": "uint256"
853
+ }
854
+ ],
855
+ "name": "projectIdToAdditionalPayeeSecondarySales",
856
+ "outputs": [
857
+ {
858
+ "internalType": "address payable",
859
+ "name": "",
860
+ "type": "address"
861
+ }
862
+ ],
863
+ "stateMutability": "view",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "_projectId",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "name": "projectIdToAdditionalPayeeSecondarySalesPercentage",
875
+ "outputs": [
876
+ {
877
+ "internalType": "uint256",
878
+ "name": "",
879
+ "type": "uint256"
880
+ }
881
+ ],
882
+ "stateMutability": "view",
883
+ "type": "function"
884
+ },
885
+ {
886
+ "inputs": [
887
+ {
888
+ "internalType": "uint256",
889
+ "name": "_projectId",
890
+ "type": "uint256"
891
+ }
892
+ ],
893
+ "name": "projectIdToArtistAddress",
894
+ "outputs": [
895
+ {
896
+ "internalType": "address payable",
897
+ "name": "",
898
+ "type": "address"
899
+ }
900
+ ],
901
+ "stateMutability": "view",
902
+ "type": "function"
903
+ },
904
+ {
905
+ "inputs": [
906
+ {
907
+ "internalType": "uint256",
908
+ "name": "_projectId",
909
+ "type": "uint256"
910
+ }
911
+ ],
912
+ "name": "projectIdToSecondaryMarketRoyaltyPercentage",
913
+ "outputs": [
914
+ {
915
+ "internalType": "uint256",
916
+ "name": "",
917
+ "type": "uint256"
918
+ }
919
+ ],
920
+ "stateMutability": "view",
921
+ "type": "function"
922
+ },
923
+ {
924
+ "inputs": [
925
+ {
926
+ "internalType": "uint256",
927
+ "name": "_projectId",
928
+ "type": "uint256"
929
+ },
930
+ {
931
+ "internalType": "uint256",
932
+ "name": "_index",
933
+ "type": "uint256"
934
+ }
935
+ ],
936
+ "name": "projectScriptByIndex",
937
+ "outputs": [
938
+ {
939
+ "internalType": "string",
940
+ "name": "",
941
+ "type": "string"
942
+ }
943
+ ],
944
+ "stateMutability": "view",
945
+ "type": "function"
946
+ },
947
+ {
948
+ "inputs": [
949
+ {
950
+ "internalType": "uint256",
951
+ "name": "_projectId",
952
+ "type": "uint256"
953
+ },
954
+ {
955
+ "internalType": "uint256",
956
+ "name": "_index",
957
+ "type": "uint256"
958
+ }
959
+ ],
960
+ "name": "projectScriptBytecodeAddressByIndex",
961
+ "outputs": [
962
+ {
963
+ "internalType": "address",
964
+ "name": "",
965
+ "type": "address"
966
+ }
967
+ ],
968
+ "stateMutability": "view",
969
+ "type": "function"
970
+ },
971
+ {
972
+ "inputs": [
973
+ {
974
+ "internalType": "uint256",
975
+ "name": "_projectId",
976
+ "type": "uint256"
977
+ }
978
+ ],
979
+ "name": "projectScriptDetails",
980
+ "outputs": [
981
+ {
982
+ "internalType": "string",
983
+ "name": "scriptTypeAndVersion",
984
+ "type": "string"
985
+ },
986
+ {
987
+ "internalType": "string",
988
+ "name": "aspectRatio",
989
+ "type": "string"
990
+ },
991
+ {
992
+ "internalType": "uint256",
993
+ "name": "scriptCount",
994
+ "type": "uint256"
995
+ }
996
+ ],
997
+ "stateMutability": "view",
998
+ "type": "function"
999
+ },
1000
+ {
1001
+ "inputs": [
1002
+ {
1003
+ "internalType": "uint256",
1004
+ "name": "_projectId",
1005
+ "type": "uint256"
1006
+ }
1007
+ ],
1008
+ "name": "projectStateData",
1009
+ "outputs": [
1010
+ {
1011
+ "internalType": "uint256",
1012
+ "name": "invocations",
1013
+ "type": "uint256"
1014
+ },
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "maxInvocations",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "internalType": "bool",
1022
+ "name": "active",
1023
+ "type": "bool"
1024
+ },
1025
+ {
1026
+ "internalType": "bool",
1027
+ "name": "paused",
1028
+ "type": "bool"
1029
+ },
1030
+ {
1031
+ "internalType": "uint256",
1032
+ "name": "completedTimestamp",
1033
+ "type": "uint256"
1034
+ },
1035
+ {
1036
+ "internalType": "bool",
1037
+ "name": "locked",
1038
+ "type": "bool"
1039
+ }
1040
+ ],
1041
+ "stateMutability": "view",
1042
+ "type": "function"
1043
+ },
1044
+ {
1045
+ "inputs": [
1046
+ {
1047
+ "internalType": "uint256",
1048
+ "name": "_projectId",
1049
+ "type": "uint256"
1050
+ }
1051
+ ],
1052
+ "name": "projectURIInfo",
1053
+ "outputs": [
1054
+ {
1055
+ "internalType": "string",
1056
+ "name": "projectBaseURI",
1057
+ "type": "string"
1058
+ }
1059
+ ],
1060
+ "stateMutability": "view",
1061
+ "type": "function"
1062
+ },
1063
+ {
1064
+ "inputs": [
1065
+ {
1066
+ "internalType": "uint256",
1067
+ "name": "_projectId",
1068
+ "type": "uint256"
1069
+ },
1070
+ {
1071
+ "internalType": "address payable",
1072
+ "name": "_artistAddress",
1073
+ "type": "address"
1074
+ },
1075
+ {
1076
+ "internalType": "address payable",
1077
+ "name": "_additionalPayeePrimarySales",
1078
+ "type": "address"
1079
+ },
1080
+ {
1081
+ "internalType": "uint256",
1082
+ "name": "_additionalPayeePrimarySalesPercentage",
1083
+ "type": "uint256"
1084
+ },
1085
+ {
1086
+ "internalType": "address payable",
1087
+ "name": "_additionalPayeeSecondarySales",
1088
+ "type": "address"
1089
+ },
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "_additionalPayeeSecondarySalesPercentage",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "name": "proposeArtistPaymentAddressesAndSplits",
1097
+ "outputs": [],
1098
+ "stateMutability": "nonpayable",
1099
+ "type": "function"
1100
+ },
1101
+ {
1102
+ "inputs": [
1103
+ {
1104
+ "internalType": "uint256",
1105
+ "name": "",
1106
+ "type": "uint256"
1107
+ }
1108
+ ],
1109
+ "name": "proposedArtistAddressesAndSplitsHash",
1110
+ "outputs": [
1111
+ {
1112
+ "internalType": "bytes32",
1113
+ "name": "",
1114
+ "type": "bytes32"
1115
+ }
1116
+ ],
1117
+ "stateMutability": "view",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [],
1122
+ "name": "randomizerContract",
1123
+ "outputs": [
1124
+ {
1125
+ "internalType": "contract IRandomizerV2",
1126
+ "name": "",
1127
+ "type": "address"
1128
+ }
1129
+ ],
1130
+ "stateMutability": "view",
1131
+ "type": "function"
1132
+ },
1133
+ {
1134
+ "inputs": [
1135
+ {
1136
+ "internalType": "uint256",
1137
+ "name": "_projectId",
1138
+ "type": "uint256"
1139
+ }
1140
+ ],
1141
+ "name": "removeProjectLastScript",
1142
+ "outputs": [],
1143
+ "stateMutability": "nonpayable",
1144
+ "type": "function"
1145
+ },
1146
+ {
1147
+ "inputs": [],
1148
+ "name": "renderProviderPrimarySalesAddress",
1149
+ "outputs": [
1150
+ {
1151
+ "internalType": "address payable",
1152
+ "name": "",
1153
+ "type": "address"
1154
+ }
1155
+ ],
1156
+ "stateMutability": "view",
1157
+ "type": "function"
1158
+ },
1159
+ {
1160
+ "inputs": [],
1161
+ "name": "renderProviderPrimarySalesPercentage",
1162
+ "outputs": [
1163
+ {
1164
+ "internalType": "uint256",
1165
+ "name": "",
1166
+ "type": "uint256"
1167
+ }
1168
+ ],
1169
+ "stateMutability": "view",
1170
+ "type": "function"
1171
+ },
1172
+ {
1173
+ "inputs": [],
1174
+ "name": "renderProviderSecondarySalesAddress",
1175
+ "outputs": [
1176
+ {
1177
+ "internalType": "address payable",
1178
+ "name": "",
1179
+ "type": "address"
1180
+ }
1181
+ ],
1182
+ "stateMutability": "view",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "renderProviderSecondarySalesBPS",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "uint256",
1191
+ "name": "",
1192
+ "type": "uint256"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [],
1200
+ "name": "renounceOwnership",
1201
+ "outputs": [],
1202
+ "stateMutability": "nonpayable",
1203
+ "type": "function"
1204
+ },
1205
+ {
1206
+ "inputs": [
1207
+ {
1208
+ "internalType": "address",
1209
+ "name": "from",
1210
+ "type": "address"
1211
+ },
1212
+ {
1213
+ "internalType": "address",
1214
+ "name": "to",
1215
+ "type": "address"
1216
+ },
1217
+ {
1218
+ "internalType": "uint256",
1219
+ "name": "tokenId",
1220
+ "type": "uint256"
1221
+ }
1222
+ ],
1223
+ "name": "safeTransferFrom",
1224
+ "outputs": [],
1225
+ "stateMutability": "nonpayable",
1226
+ "type": "function"
1227
+ },
1228
+ {
1229
+ "inputs": [
1230
+ {
1231
+ "internalType": "address",
1232
+ "name": "from",
1233
+ "type": "address"
1234
+ },
1235
+ {
1236
+ "internalType": "address",
1237
+ "name": "to",
1238
+ "type": "address"
1239
+ },
1240
+ {
1241
+ "internalType": "uint256",
1242
+ "name": "tokenId",
1243
+ "type": "uint256"
1244
+ },
1245
+ {
1246
+ "internalType": "bytes",
1247
+ "name": "data",
1248
+ "type": "bytes"
1249
+ }
1250
+ ],
1251
+ "name": "safeTransferFrom",
1252
+ "outputs": [],
1253
+ "stateMutability": "nonpayable",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [
1258
+ {
1259
+ "internalType": "address",
1260
+ "name": "operator",
1261
+ "type": "address"
1262
+ },
1263
+ {
1264
+ "internalType": "bool",
1265
+ "name": "approved",
1266
+ "type": "bool"
1267
+ }
1268
+ ],
1269
+ "name": "setApprovalForAll",
1270
+ "outputs": [],
1271
+ "stateMutability": "nonpayable",
1272
+ "type": "function"
1273
+ },
1274
+ {
1275
+ "inputs": [
1276
+ {
1277
+ "internalType": "uint256",
1278
+ "name": "_tokenId",
1279
+ "type": "uint256"
1280
+ },
1281
+ {
1282
+ "internalType": "bytes32",
1283
+ "name": "_hashSeed",
1284
+ "type": "bytes32"
1285
+ }
1286
+ ],
1287
+ "name": "setTokenHash_8PT",
1288
+ "outputs": [],
1289
+ "stateMutability": "nonpayable",
1290
+ "type": "function"
1291
+ },
1292
+ {
1293
+ "inputs": [],
1294
+ "name": "startingProjectId",
1295
+ "outputs": [
1296
+ {
1297
+ "internalType": "uint256",
1298
+ "name": "",
1299
+ "type": "uint256"
1300
+ }
1301
+ ],
1302
+ "stateMutability": "view",
1303
+ "type": "function"
1304
+ },
1305
+ {
1306
+ "inputs": [
1307
+ {
1308
+ "internalType": "bytes4",
1309
+ "name": "interfaceId",
1310
+ "type": "bytes4"
1311
+ }
1312
+ ],
1313
+ "name": "supportsInterface",
1314
+ "outputs": [
1315
+ {
1316
+ "internalType": "bool",
1317
+ "name": "",
1318
+ "type": "bool"
1319
+ }
1320
+ ],
1321
+ "stateMutability": "view",
1322
+ "type": "function"
1323
+ },
1324
+ {
1325
+ "inputs": [],
1326
+ "name": "symbol",
1327
+ "outputs": [
1328
+ {
1329
+ "internalType": "string",
1330
+ "name": "",
1331
+ "type": "string"
1332
+ }
1333
+ ],
1334
+ "stateMutability": "view",
1335
+ "type": "function"
1336
+ },
1337
+ {
1338
+ "inputs": [
1339
+ {
1340
+ "internalType": "uint256",
1341
+ "name": "_projectId",
1342
+ "type": "uint256"
1343
+ }
1344
+ ],
1345
+ "name": "toggleProjectIsActive",
1346
+ "outputs": [],
1347
+ "stateMutability": "nonpayable",
1348
+ "type": "function"
1349
+ },
1350
+ {
1351
+ "inputs": [
1352
+ {
1353
+ "internalType": "uint256",
1354
+ "name": "_projectId",
1355
+ "type": "uint256"
1356
+ }
1357
+ ],
1358
+ "name": "toggleProjectIsPaused",
1359
+ "outputs": [],
1360
+ "stateMutability": "nonpayable",
1361
+ "type": "function"
1362
+ },
1363
+ {
1364
+ "inputs": [
1365
+ {
1366
+ "internalType": "uint256",
1367
+ "name": "_tokenId",
1368
+ "type": "uint256"
1369
+ }
1370
+ ],
1371
+ "name": "tokenIdToHash",
1372
+ "outputs": [
1373
+ {
1374
+ "internalType": "bytes32",
1375
+ "name": "",
1376
+ "type": "bytes32"
1377
+ }
1378
+ ],
1379
+ "stateMutability": "view",
1380
+ "type": "function"
1381
+ },
1382
+ {
1383
+ "inputs": [
1384
+ {
1385
+ "internalType": "uint256",
1386
+ "name": "_tokenId",
1387
+ "type": "uint256"
1388
+ }
1389
+ ],
1390
+ "name": "tokenIdToHashSeed",
1391
+ "outputs": [
1392
+ {
1393
+ "internalType": "bytes12",
1394
+ "name": "",
1395
+ "type": "bytes12"
1396
+ }
1397
+ ],
1398
+ "stateMutability": "view",
1399
+ "type": "function"
1400
+ },
1401
+ {
1402
+ "inputs": [
1403
+ {
1404
+ "internalType": "uint256",
1405
+ "name": "_tokenId",
1406
+ "type": "uint256"
1407
+ }
1408
+ ],
1409
+ "name": "tokenIdToProjectId",
1410
+ "outputs": [
1411
+ {
1412
+ "internalType": "uint256",
1413
+ "name": "_projectId",
1414
+ "type": "uint256"
1415
+ }
1416
+ ],
1417
+ "stateMutability": "pure",
1418
+ "type": "function"
1419
+ },
1420
+ {
1421
+ "inputs": [
1422
+ {
1423
+ "internalType": "uint256",
1424
+ "name": "_tokenId",
1425
+ "type": "uint256"
1426
+ }
1427
+ ],
1428
+ "name": "tokenURI",
1429
+ "outputs": [
1430
+ {
1431
+ "internalType": "string",
1432
+ "name": "",
1433
+ "type": "string"
1434
+ }
1435
+ ],
1436
+ "stateMutability": "view",
1437
+ "type": "function"
1438
+ },
1439
+ {
1440
+ "inputs": [
1441
+ {
1442
+ "internalType": "address",
1443
+ "name": "from",
1444
+ "type": "address"
1445
+ },
1446
+ {
1447
+ "internalType": "address",
1448
+ "name": "to",
1449
+ "type": "address"
1450
+ },
1451
+ {
1452
+ "internalType": "uint256",
1453
+ "name": "tokenId",
1454
+ "type": "uint256"
1455
+ }
1456
+ ],
1457
+ "name": "transferFrom",
1458
+ "outputs": [],
1459
+ "stateMutability": "nonpayable",
1460
+ "type": "function"
1461
+ },
1462
+ {
1463
+ "inputs": [
1464
+ {
1465
+ "internalType": "address",
1466
+ "name": "newOwner",
1467
+ "type": "address"
1468
+ }
1469
+ ],
1470
+ "name": "transferOwnership",
1471
+ "outputs": [],
1472
+ "stateMutability": "nonpayable",
1473
+ "type": "function"
1474
+ },
1475
+ {
1476
+ "inputs": [
1477
+ {
1478
+ "internalType": "address",
1479
+ "name": "_artblocksDependencyRegistryAddress",
1480
+ "type": "address"
1481
+ }
1482
+ ],
1483
+ "name": "updateArtblocksDependencyRegistryAddress",
1484
+ "outputs": [],
1485
+ "stateMutability": "nonpayable",
1486
+ "type": "function"
1487
+ },
1488
+ {
1489
+ "inputs": [
1490
+ {
1491
+ "internalType": "string",
1492
+ "name": "_defaultBaseURI",
1493
+ "type": "string"
1494
+ }
1495
+ ],
1496
+ "name": "updateDefaultBaseURI",
1497
+ "outputs": [],
1498
+ "stateMutability": "nonpayable",
1499
+ "type": "function"
1500
+ },
1501
+ {
1502
+ "inputs": [
1503
+ {
1504
+ "internalType": "address",
1505
+ "name": "_address",
1506
+ "type": "address"
1507
+ }
1508
+ ],
1509
+ "name": "updateMinterContract",
1510
+ "outputs": [],
1511
+ "stateMutability": "nonpayable",
1512
+ "type": "function"
1513
+ },
1514
+ {
1515
+ "inputs": [
1516
+ {
1517
+ "internalType": "uint256",
1518
+ "name": "_projectId",
1519
+ "type": "uint256"
1520
+ },
1521
+ {
1522
+ "internalType": "address payable",
1523
+ "name": "_artistAddress",
1524
+ "type": "address"
1525
+ }
1526
+ ],
1527
+ "name": "updateProjectArtistAddress",
1528
+ "outputs": [],
1529
+ "stateMutability": "nonpayable",
1530
+ "type": "function"
1531
+ },
1532
+ {
1533
+ "inputs": [
1534
+ {
1535
+ "internalType": "uint256",
1536
+ "name": "_projectId",
1537
+ "type": "uint256"
1538
+ },
1539
+ {
1540
+ "internalType": "string",
1541
+ "name": "_projectArtistName",
1542
+ "type": "string"
1543
+ }
1544
+ ],
1545
+ "name": "updateProjectArtistName",
1546
+ "outputs": [],
1547
+ "stateMutability": "nonpayable",
1548
+ "type": "function"
1549
+ },
1550
+ {
1551
+ "inputs": [
1552
+ {
1553
+ "internalType": "uint256",
1554
+ "name": "_projectId",
1555
+ "type": "uint256"
1556
+ },
1557
+ {
1558
+ "internalType": "string",
1559
+ "name": "_aspectRatio",
1560
+ "type": "string"
1561
+ }
1562
+ ],
1563
+ "name": "updateProjectAspectRatio",
1564
+ "outputs": [],
1565
+ "stateMutability": "nonpayable",
1566
+ "type": "function"
1567
+ },
1568
+ {
1569
+ "inputs": [
1570
+ {
1571
+ "internalType": "uint256",
1572
+ "name": "_projectId",
1573
+ "type": "uint256"
1574
+ },
1575
+ {
1576
+ "internalType": "string",
1577
+ "name": "_newBaseURI",
1578
+ "type": "string"
1579
+ }
1580
+ ],
1581
+ "name": "updateProjectBaseURI",
1582
+ "outputs": [],
1583
+ "stateMutability": "nonpayable",
1584
+ "type": "function"
1585
+ },
1586
+ {
1587
+ "inputs": [
1588
+ {
1589
+ "internalType": "uint256",
1590
+ "name": "_projectId",
1591
+ "type": "uint256"
1592
+ },
1593
+ {
1594
+ "internalType": "string",
1595
+ "name": "_projectDescription",
1596
+ "type": "string"
1597
+ }
1598
+ ],
1599
+ "name": "updateProjectDescription",
1600
+ "outputs": [],
1601
+ "stateMutability": "nonpayable",
1602
+ "type": "function"
1603
+ },
1604
+ {
1605
+ "inputs": [
1606
+ {
1607
+ "internalType": "uint256",
1608
+ "name": "_projectId",
1609
+ "type": "uint256"
1610
+ },
1611
+ {
1612
+ "internalType": "string",
1613
+ "name": "_projectLicense",
1614
+ "type": "string"
1615
+ }
1616
+ ],
1617
+ "name": "updateProjectLicense",
1618
+ "outputs": [],
1619
+ "stateMutability": "nonpayable",
1620
+ "type": "function"
1621
+ },
1622
+ {
1623
+ "inputs": [
1624
+ {
1625
+ "internalType": "uint256",
1626
+ "name": "_projectId",
1627
+ "type": "uint256"
1628
+ },
1629
+ {
1630
+ "internalType": "uint24",
1631
+ "name": "_maxInvocations",
1632
+ "type": "uint24"
1633
+ }
1634
+ ],
1635
+ "name": "updateProjectMaxInvocations",
1636
+ "outputs": [],
1637
+ "stateMutability": "nonpayable",
1638
+ "type": "function"
1639
+ },
1640
+ {
1641
+ "inputs": [
1642
+ {
1643
+ "internalType": "uint256",
1644
+ "name": "_projectId",
1645
+ "type": "uint256"
1646
+ },
1647
+ {
1648
+ "internalType": "string",
1649
+ "name": "_projectName",
1650
+ "type": "string"
1651
+ }
1652
+ ],
1653
+ "name": "updateProjectName",
1654
+ "outputs": [],
1655
+ "stateMutability": "nonpayable",
1656
+ "type": "function"
1657
+ },
1658
+ {
1659
+ "inputs": [
1660
+ {
1661
+ "internalType": "uint256",
1662
+ "name": "_projectId",
1663
+ "type": "uint256"
1664
+ },
1665
+ {
1666
+ "internalType": "uint256",
1667
+ "name": "_scriptId",
1668
+ "type": "uint256"
1669
+ },
1670
+ {
1671
+ "internalType": "string",
1672
+ "name": "_script",
1673
+ "type": "string"
1674
+ }
1675
+ ],
1676
+ "name": "updateProjectScript",
1677
+ "outputs": [],
1678
+ "stateMutability": "nonpayable",
1679
+ "type": "function"
1680
+ },
1681
+ {
1682
+ "inputs": [
1683
+ {
1684
+ "internalType": "uint256",
1685
+ "name": "_projectId",
1686
+ "type": "uint256"
1687
+ },
1688
+ {
1689
+ "internalType": "bytes32",
1690
+ "name": "_scriptTypeAndVersion",
1691
+ "type": "bytes32"
1692
+ }
1693
+ ],
1694
+ "name": "updateProjectScriptType",
1695
+ "outputs": [],
1696
+ "stateMutability": "nonpayable",
1697
+ "type": "function"
1698
+ },
1699
+ {
1700
+ "inputs": [
1701
+ {
1702
+ "internalType": "uint256",
1703
+ "name": "_projectId",
1704
+ "type": "uint256"
1705
+ },
1706
+ {
1707
+ "internalType": "uint256",
1708
+ "name": "_secondMarketRoyalty",
1709
+ "type": "uint256"
1710
+ }
1711
+ ],
1712
+ "name": "updateProjectSecondaryMarketRoyaltyPercentage",
1713
+ "outputs": [],
1714
+ "stateMutability": "nonpayable",
1715
+ "type": "function"
1716
+ },
1717
+ {
1718
+ "inputs": [
1719
+ {
1720
+ "internalType": "uint256",
1721
+ "name": "_projectId",
1722
+ "type": "uint256"
1723
+ },
1724
+ {
1725
+ "internalType": "string",
1726
+ "name": "_projectWebsite",
1727
+ "type": "string"
1728
+ }
1729
+ ],
1730
+ "name": "updateProjectWebsite",
1731
+ "outputs": [],
1732
+ "stateMutability": "nonpayable",
1733
+ "type": "function"
1734
+ },
1735
+ {
1736
+ "inputs": [
1737
+ {
1738
+ "internalType": "uint256",
1739
+ "name": "renderProviderPrimarySalesPercentage_",
1740
+ "type": "uint256"
1741
+ },
1742
+ {
1743
+ "internalType": "uint256",
1744
+ "name": "platformProviderPrimarySalesPercentage_",
1745
+ "type": "uint256"
1746
+ }
1747
+ ],
1748
+ "name": "updateProviderPrimarySalesPercentages",
1749
+ "outputs": [],
1750
+ "stateMutability": "nonpayable",
1751
+ "type": "function"
1752
+ },
1753
+ {
1754
+ "inputs": [
1755
+ {
1756
+ "internalType": "address payable",
1757
+ "name": "_renderProviderPrimarySalesAddress",
1758
+ "type": "address"
1759
+ },
1760
+ {
1761
+ "internalType": "address payable",
1762
+ "name": "_renderProviderSecondarySalesAddress",
1763
+ "type": "address"
1764
+ },
1765
+ {
1766
+ "internalType": "address payable",
1767
+ "name": "_platformProviderPrimarySalesAddress",
1768
+ "type": "address"
1769
+ },
1770
+ {
1771
+ "internalType": "address payable",
1772
+ "name": "_platformProviderSecondarySalesAddress",
1773
+ "type": "address"
1774
+ }
1775
+ ],
1776
+ "name": "updateProviderSalesAddresses",
1777
+ "outputs": [],
1778
+ "stateMutability": "nonpayable",
1779
+ "type": "function"
1780
+ },
1781
+ {
1782
+ "inputs": [
1783
+ {
1784
+ "internalType": "uint256",
1785
+ "name": "_renderProviderSecondarySalesBPS",
1786
+ "type": "uint256"
1787
+ },
1788
+ {
1789
+ "internalType": "uint256",
1790
+ "name": "_platformProviderSecondarySalesBPS",
1791
+ "type": "uint256"
1792
+ }
1793
+ ],
1794
+ "name": "updateProviderSecondarySalesBPS",
1795
+ "outputs": [],
1796
+ "stateMutability": "nonpayable",
1797
+ "type": "function"
1798
+ },
1799
+ {
1800
+ "inputs": [
1801
+ {
1802
+ "internalType": "address",
1803
+ "name": "_randomizerAddress",
1804
+ "type": "address"
1805
+ }
1806
+ ],
1807
+ "name": "updateRandomizerAddress",
1808
+ "outputs": [],
1809
+ "stateMutability": "nonpayable",
1810
+ "type": "function"
1811
+ }
1812
+ ],
1813
+ "bytecode": "0x60c0604052600e8054600560a11b60ff60a01b199182168117909255600f8054909116909117905560fa60118190556013553480156200003e57600080fd5b506040516200638e3803806200638e8339810160408190526200006191620006fb565b8888600062000071838262000885565b50600162000080828262000885565b5050506200009d620000976200038260201b60201c565b62000386565b866001600160a01b038116620000e95760405162461bcd60e51b815260206004820152601b60248201526000805160206200636e83398151915260448201526064015b60405180910390fd5b866001600160a01b038116620001315760405162461bcd60e51b815260206004820152601b60248201526000805160206200636e8339815191526044820152606401620000e0565b866001600160a01b038116620001795760405162461bcd60e51b815260206004820152601b60248201526000805160206200636e8339815191526044820152606401620000e0565b866001600160a01b038116620001c15760405162461bcd60e51b815260206004820152601b60248201526000805160206200636e8339815191526044820152606401620000e0565b85151560a0526001600160f81b038716608052600f80546001600160a01b03199081166001600160a01b038d81169182179093556012805483169091179055600e805482168e84169081179091556010805483169091179055600880548216928c169283179055600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af01805490911690911790556200026f8862000386565b620002ba62000292306001600160a01b0316620003be60201b62003c8b1760201c565b604051602001620002a4919062000951565b60408051601f19818403018152919052620003dc565b601580547fff00000000000000000000000000000000000000000000000000000000000000166001600160f81b03891617905560405163f889b3ed60e01b81523060048201526576332e312e3160d01b60248201526e47656e417274373231436f7265563360881b60448201526001600160a01b0386169063f889b3ed90606401600060405180830381600087803b1580156200035657600080fd5b505af11580156200036b573d6000803e3d6000fd5b505050505050505050505050505050505062000a19565b3390565b6200039c81620003ee60201b62003ca11760201c565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060620003d66001600160a01b038316601462000440565b92915050565b6016620003ea828262000885565b5050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6060600062000451836002620009b9565b6200045e906002620009d3565b6001600160401b0381111562000478576200047862000600565b6040519080825280601f01601f191660200182016040528015620004a3576020820181803683370190505b509050600360fc1b81600081518110620004c157620004c1620009e9565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620004f357620004f3620009e9565b60200101906001600160f81b031916908160001a905350600062000519846002620009b9565b62000526906001620009d3565b90505b6001811115620005a8576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200055e576200055e620009e9565b1a60f81b828281518110620005775762000577620009e9565b60200101906001600160f81b031916908160001a90535060049490941c93620005a081620009ff565b905062000529565b508315620005f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620000e0565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200063357818101518382015260200162000619565b50506000910152565b600082601f8301126200064e57600080fd5b81516001600160401b03808211156200066b576200066b62000600565b604051601f8301601f19908116603f0116810190828211818310171562000696576200069662000600565b81604052838152866020858801011115620006b057600080fd5b620006c384602083016020890162000616565b9695505050505050565b80516001600160a01b0381168114620006e557600080fd5b919050565b80518015158114620006e557600080fd5b60008060008060008060008060006101208a8c0312156200071b57600080fd5b89516001600160401b03808211156200073357600080fd5b620007418d838e016200063c565b9a5060208c01519150808211156200075857600080fd5b50620007678c828d016200063c565b9850506200077860408b01620006cd565b96506200078860608b01620006cd565b95506200079860808b01620006cd565b9450620007a860a08b01620006cd565b60c08b01519094506001600160f81b0381168114620007c657600080fd5b9250620007d660e08b01620006ea565b9150620007e76101008b01620006cd565b90509295985092959850929598565b600181811c908216806200080b57607f821691505b6020821081036200082c57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200088057600081815260208120601f850160051c810160208610156200085b5750805b601f850160051c820191505b818110156200087c5782815560010162000867565b5050505b505050565b81516001600160401b03811115620008a157620008a162000600565b620008b981620008b28454620007f6565b8462000832565b602080601f831160018114620008f15760008415620008d85750858301515b600019600386901b1c1916600185901b1785556200087c565b600085815260208120601f198616915b82811015620009225788860151825594840194600190910190840162000901565b5085821015620009415787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b7f68747470733a2f2f746f6b656e2e617274626c6f636b732e696f2f00000000008152600082516200098b81601b85016020870162000616565b602f60f81b601b939091019283015250601c01919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620003d657620003d6620009a3565b80820180821115620003d657620003d6620009a3565b634e487b7160e01b600052603260045260246000fd5b60008162000a115762000a11620009a3565b506000190190565b60805160a05161590562000a6960003960008181610b430152611e19015260008181610c8b01528181611c450152818161229c01528181612514015281816138440152613e7a01526159056000f3fe608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a44578063b7b04fae14610a57578063b88d4fde14610a6a578063b971136814610a7d578063bb3bafd614610a85578063bd3d10e714610aa6578063c34a03b514610ab9578063c6c7c5bf14610acc578063c87b56dd14610adf578063cc90e72514610af2578063d03c390c14610b05578063db21a84614610b18578063db2ff86114610b2b578063e6032df214610b3e578063e935b7b114610b65578063e985e9c514610b76578063eb9cd5d414610b89578063ed8abfda14610bab578063f2fde38b14610bd5578063f313d73314610be8578063f851a44014610c7e578063f893c07b14610c8657600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd146108845780638da5cb5b146108975780638dd91a561461089f57806392f00233146108c357806395d89b41146108d65780639a02e4fa146108de578063a11ec70a14610915578063a22cb46514610928578063a3b2cca61461093b578063a47d29cb1461094e578063abcbb7b41461097a578063ac11fa1c14610982578063acad0124146109a2578063acd4c66f146109b5578063ad0305ce146109c7578063ad2cdfc4146109e9578063ae45ad9814610a16578063b1656ba314610a1e578063b168762214610a3157600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614a04565b610cad565b005b61044161043c366004614a3b565b610dff565b6040519081526020015b60405180910390f35b61042c610462366004614a7d565b61106e565b61042c610475366004614a04565b6111c6565b61048d610488366004614acb565b6112b4565b604051901515815260200161044b565b61042c6112df565b6104ad611367565b60405161044b9190614b38565b6104cd6104c8366004614b4b565b6113f9565b6040516001600160a01b03909116815260200161044b565b61042c6104f3366004614b64565b611420565b61042c610506366004614c3b565b611535565b61042c610519366004614c3b565b6115f6565b61053161052c366004614b4b565b611847565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004614b4b565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004614b4b565b6118aa565b61042c6105d8366004614c81565b6118b9565b600a546104cd906001600160a01b031681565b61042c6105fe366004614cdd565b6119d9565b61048d610611366004614d11565b611a33565b61042c610624366004614d51565b611adf565b61042c610637366004614c3b565b611b10565b61044161064a366004614b4b565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c610677366004614d92565b611bc8565b61042c61068a366004614daf565b611c42565b61044160135481565b6104ad6106a6366004614b4b565b611fdb565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004614c3b565b612080565b6104cd6106f1366004614b4b565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004614c3b565b6120dc565b6010546104cd906001600160a01b031681565b61042c61074c366004614d51565b612154565b61042c61075f366004614d92565b61216f565b6104ad6121e9565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614a04565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004614b4b565b612202565b6104cd6107d9366004614b4b565b612264565b61042c6107ec366004614e16565b612299565b61042c6107ff366004614d92565b6123bb565b610441610812366004614d92565b612471565b61042c6124f7565b61042c61082d366004614daf565b612511565b610845610840366004614a04565b612708565b604080519788526001600160a01b0396871660208901528701949094529184166060860152608085015290911660a083015260c082015260e00161044b565b6104ad610892366004614a04565b6127f9565b6104cd612858565b6108b26108ad366004614b4b565b61286c565b60405161044b959493929190614e3b565b6014546104cd906001600160a01b031681565b6104ad612b60565b6109086108ec366004614b4b565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190614ea8565b61042c610923366004614b4b565b612b6f565b61042c610936366004614ecb565b612bd8565b61042c610949366004614c3b565b612be7565b6104cd61095c366004614b4b565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad612ca5565b610441610990366004614b4b565b600d6020526000908152604090205481565b61042c6109b0366004614c3b565b612d33565b600e54600160a01b900460ff16610441565b61048d6109d5366004614d92565b6014546001600160a01b0390811691161490565b6104416109f7366004614b4b565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad612e5f565b61042c610a2c366004614ef9565b612e7c565b6104cd610a3f366004614b4b565b612fe0565b600e546104cd906001600160a01b031681565b61042c610a65366004614c3b565b613058565b61042c610a78366004614f48565b613110565b600954610441565b610a98610a93366004614b4b565b613142565b60405161044b929190614fc7565b61042c610ab4366004614a04565b6133f4565b61042c610ac7366004614a04565b6134a9565b6012546104cd906001600160a01b031681565b6104ad610aed366004614b4b565b613582565b61042c610b0036600461504b565b613689565b61042c610b13366004614b4b565b613812565b61042c610b26366004614a04565b6138c7565b61042c610b39366004614b4b565b613975565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b84366004615091565b613b11565b610b9c610b97366004614b4b565b613b3f565b60405161044b939291906150bf565b610441610bb9366004614b4b565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610be3366004614d92565b613c0b565b610c40610bf6366004614b4b565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd613c81565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b81610cb781613cf3565b610cdc5760405162461bcd60e51b8152600401610cd3906150f5565b60405180910390fd5b60008381526002602052604090206008546001600160a01b03163314610d3e5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b6044820152606401610cd3565b8054600160a01b900460a01b6001600160a01b03191615610d9a5760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610cd3565b82610ddb5760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610cd3565b805460a09390931c600160a01b026001600160a01b03909316929092179091555050565b6014546000906001600160a01b03163314610e5c5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610cd3565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610ed15760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610cd3565b8354600160881b900460ff1680610f0457506000878152600c60205260409020600201546001600160a01b038781169116145b610f505760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610cd3565b8354600160901b900460ff161580610f8457506000878152600c60205260409020600201546001600160a01b038781169116145b610fc85760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610cd3565b835462ffffff191662ffffff8381169182178655848116620f42408a0201919083169003610ff957610ff988613d10565b6110038982613d43565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b50929b9a5050505050505050505050565b6000828152600c602052604090206002015482906001600160a01b031633146110a95760405162461bcd60e51b8152600401610cd390615126565b6000838152600b60205260409020805462ffffff80821691630100000090048116908516106111265760405162461bcd60e51b8152602060048201526024808201527f6d6178496e766f636174696f6e73206d6179206f6e6c79206265206465637265604482015263185cd95960e21b6064820152608401610cd3565b808462ffffff1610156111905760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c79206d617820696e766f636174696f6e73206774652063757272656e7460448201526b20696e766f636174696f6e7360a01b6064820152608401610cd3565b815465ffffff0000001916630100000062ffffff86169081029190911783558190036111bf576111bf85613d10565b5050505050565b816111d081613e75565b6111ec5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c6020526040902060020154839062615bf560e21b906001600160a01b03163314806112245750611224333083611a33565b6112405760405162461bcd60e51b8152600401610cd390615175565b6000858152600b6020526040908190209061125e9086906001613f0f565b6112a75760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610cd3565b6007019390935550505050565b60006001600160e01b03198216635d9dd7eb60e11b14806112d957506112d982613f82565b92915050565b6301050e9760e21b6112f2333083611a33565b61130e5760405162461bcd60e51b8152600401610cd3906151aa565b601554600160f81b900460ff161561135c5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610cd3565b611364613fd2565b50565b606060008054611376906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546113a2906151da565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b5050505050905090565b600061140482613ffa565b506000908152600460205260409020546001600160a01b031690565b600061142b82612264565b9050806001600160a01b0316836001600160a01b0316036114985760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610cd3565b336001600160a01b03821614806114b457506114b48133613b11565b6115265760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610cd3565b611530838361401f565b505050565b8161153f81613e75565b61155b5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390630d17067360e01b906001600160a01b03163314806115945750611594333083611a33565b6115b05760405162461bcd60e51b8152600401610cd390615175565b8380516000036115d25760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206001016115ed86826152a6565b50505050505050565b8161160081613e75565b61161c5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c602052604090206002015483906301cf392560e31b906001600160a01b03163314806116555750611655333083611a33565b6116715760405162461bcd60e51b8152600401610cd390615175565b8380516000036116935760405162461bcd60e51b8152600401610cd39061520e565b84518590600b8111156116e75760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610cd3565b60008060005b838110156117d35760008582815181106117095761170961535f565b01602001516001600160f81b0319169050600360fc1b811080159061173c5750603960f81b6001600160f81b0319821611155b1561174b5760019250506117c1565b6001600160f81b03198116601760f91b0361176f578361176f5760019350506117c1565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610cd3565b806117cb8161538b565b9150506116ed565b508061181f5760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610cd3565b60008a8152600b6020526040902060080161183a8a826152a6565b5050505050505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161189d88613e75565b1591505091939550919395565b60006112d9620f4240836153ba565b631c05cad760e01b6118cc333083611a33565b6118e85760405162461bcd60e51b8152600401610cd3906151aa565b846001600160a01b03811661190f5760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b0381166119365760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b03811661195d5760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b0381166119845760405162461bcd60e51b8152600401610cd3906153ce565b600f80546001600160a01b03199081166001600160a01b03808b1691909117909255601280548216838a16179055600e80548216838d1617905560108054909116918a16919091179055505050505050505050565b63118165ed60e11b6119ec333083611a33565b611a085760405162461bcd60e51b8152600401610cd3906151aa565b818051600003611a2a5760405162461bcd60e51b8152600401610cd39061520e565b6115308361408d565b600080611a3e612858565b6001600160a01b031614158015611ad75750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af1158015611ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad79190615403565b949350505050565b611ae93382614099565b611b055760405162461bcd60e51b8152600401610cd390615420565b6115308383836140f7565b81611b1a81613e75565b611b365760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c602052604090206002015483906304b6ebad60e31b906001600160a01b0316331480611b6f5750611b6f333083611a33565b611b8b5760405162461bcd60e51b8152600401610cd390615175565b838051600003611bad5760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206005016115ed86826152a6565b631593a0b360e11b611bdb333083611a33565b611bf75760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b038116611c1e5760405162461bcd60e51b8152600401610cd3906153ce565b5050600780546001600160a01b0319166001600160a01b0392909216919091179055565b857f00000000000000000000000000000000000000000000000000000000000000008110158015611c7d57506015546001600160f81b031681105b611c995760405162461bcd60e51b8152600401610cd39061546e565b6000878152600c602052604090206002015487906001600160a01b03163314611cd45760405162461bcd60e51b8152600401610cd390615126565b866001600160a01b038116611cfb5760405162461bcd60e51b8152600401610cd3906153ce565b6000898152600c6020526040902060648711801590611d1b575060648511155b611d555760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610cd3565b861580611d6a57506001600160a01b03881615155b611db65760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610cd3565b841580611dcb57506001600160a01b03861615155b611e175760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610cd3565b7f000000000000000000000000000000000000000000000000000000000000000080611eb557600282015482546001600160a01b039182168c831614916000918116908c161480611e6f57506001600160a01b038b16155b60018501549091506000906001600160a01b038b811691161480611e9a57506001600160a01b038a16155b9050828015611ea65750815b8015611eaf5750805b93505050505b8015611f90576000801b600d60008d815260200190815260200160002081905550898260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878260020160146101000a81548160ff021916908360ff160217905550868260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260010160146101000a81548160ff021916908360ff16021790555061183a565b8989898989604051602001611fa99594939291906154a1565b60408051601f19818403018152918152815160209283012060008e8152600d9093529120555050505050505050505050565b6000818152600b60205260409020600601805460609190611ffb906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612027906151da565b80156120745780601f1061204957610100808354040283529160200191612074565b820191906000526020600020905b81548152906001019060200180831161205757829003601f168201915b50505050509050919050565b6000828152600c602052604090206002015482906001600160a01b031633146120bb5760405162461bcd60e51b8152600401610cd390615126565b6000838152600b602052604090206004016120d683826152a6565b50505050565b6000828152600c602052604090206002015482906001600160a01b031633146121175760405162461bcd60e51b8152600401610cd390615126565b8180516000036121395760405162461bcd60e51b8152600401610cd39061520e565b6000848152600b602052604090206006016111bf84826152a6565b61153083838360405180602001604052806000815250613110565b632419b94160e11b612182333083611a33565b61219e5760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b0381166121c55760405162461bcd60e51b8152600401610cd3906153ce565b5050601480546001600160a01b0319166001600160a01b0392909216919091179055565b60606121fd6576332e312e3160d01b614293565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b0319811682036122355750600092915050565b806040516020016122469190614ea8565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806112d95760405162461bcd60e51b8152600401610cd3906154d4565b817f000000000000000000000000000000000000000000000000000000000000000081101580156122d457506015546001600160f81b031681105b6122f05760405162461bcd60e51b8152600401610cd39061546e565b826369d14faf60e01b612304333083611a33565b8061234357506000612314612858565b6001600160a01b031614801561234357506000828152600c60205260409020600201546001600160a01b031633145b61235f5760405162461bcd60e51b8152600401610cd390615506565b836001600160a01b0381166123865760405162461bcd60e51b8152600401610cd3906153ce565b505050600092835250600c602052604090912060020180546001600160a01b0319166001600160a01b03909216919091179055565b636c907b7f60e01b6123ce333083611a33565b6123ea5760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b0381166124115760405162461bcd60e51b8152600401610cd3906153ce565b61153083600880546001600160a01b039092166001600160a01b03199283168117909155600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018054909216179055565b60006001600160a01b0382166124db5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610cd3565b506001600160a01b031660009081526003602052604090205490565b6124ff6142fe565b612507613fd2565b61250f61435d565b565b857f0000000000000000000000000000000000000000000000000000000000000000811015801561254c57506015546001600160f81b031681105b6125685760405162461bcd60e51b8152600401610cd39061546e565b866376ee6fab60e01b61257c333083611a33565b806125bb5750600061258c612858565b6001600160a01b03161480156125bb57506000828152600c60205260409020600201546001600160a01b031633145b6125d75760405162461bcd60e51b8152600401610cd390615506565b876001600160a01b0381166125fe5760405162461bcd60e51b8152600401610cd3906153ce565b88888888886040516020016126179594939291906154a1565b60408051601f19818403018152918152815160209283012060008d8152600d909352912054146126865760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610cd3565b505050600096875250600c6020908152604080882060028101805482546001600160a01b0319166001600160a01b03998a161783559888166001600160a81b0319998a1617600160a01b60ff988916810291909117909155600190910180549590971694909716939093179190931690940293909317909155600d9052812055565b6000828152600c60205260408120600e54829182918291829182918291899060649061273e90600160a01b900460ff168361555e565b61274891906153ba565b98506127548982615575565b600f5490915060649061277190600160a01b900460ff168c61555e565b61277b91906153ba565b96506127878782615575565b60028301549091506064906127a690600160a01b900460ff168361555e565b6127b091906153ba565b92506127bc8382615575565b600e54600f546001600160a01b039182169a50169650945084156127eb5760028201546001600160a01b031693505b505092959891949750929550565b6000828152600b60205260409020805460609190600160301b900462ffffff1683106128355750506040805160208101909152600081526112d9565b6000838152600982016020526040902054611ad7906001600160a01b031661436f565b60006121fd6006546001600160a01b031690565b60608060608060606000600b6000888152602001908152602001600020905080600101805461289a906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546128c6906151da565b80156129135780601f106128e857610100808354040283529160200191612913565b820191906000526020600020905b8154815290600101906020018083116128f657829003601f168201915b50505050509550806002018054612929906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612955906151da565b80156129a25780601f10612977576101008083540402835291602001916129a2565b820191906000526020600020905b81548152906001019060200180831161298557829003601f168201915b505050505094508060030180546129b8906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546129e4906151da565b8015612a315780601f10612a0657610100808354040283529160200191612a31565b820191906000526020600020905b815481529060010190602001808311612a1457829003601f168201915b50505050509350806004018054612a47906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612a73906151da565b8015612ac05780601f10612a9557610100808354040283529160200191612ac0565b820191906000526020600020905b815481529060010190602001808311612aa357829003601f168201915b50505050509250806005018054612ad6906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612b02906151da565b8015612b4f5780601f10612b2457610100808354040283529160200191612b4f565b820191906000526020600020905b815481529060010190602001808311612b3257829003601f168201915b505050505091505091939590929450565b606060018054611376906151da565b6000818152600c602052604090206002015481906001600160a01b03163314612baa5760405162461bcd60e51b8152600401610cd390615126565b506000908152600b60205260409020805460ff60901b198116600160901b9182900460ff1615909102179055565b612be33383836143fa565b5050565b612bf082613e75565b612c0b57612c0633306351d9665360e11b611a33565b612c29565b6000828152600c60205260409020600201546001600160a01b031633145b612c8a5760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610cd3565b6000828152600b6020526040902060030161153082826152a6565b60168054612cb2906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612cde906151da565b8015612d2b5780601f10612d0057610100808354040283529160200191612d2b565b820191906000526020600020905b815481529060010190602001808311612d0e57829003601f168201915b505050505081565b81612d3d81613e75565b612d595760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390632b2b404960e21b906001600160a01b0316331480612d925750612d92333083611a33565b612dae5760405162461bcd60e51b8152600401610cd390615175565b838051600003612dd05760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b60205260409020612de7866144c4565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612e3992919004166001615588565b815462ffffff91909116600160301b0262ffffff60301b19909116179055505050505050565b60606121fd6e47656e417274373231436f7265563360881b614293565b82612e8681613e75565b612ea25760405162461bcd60e51b8152600401610cd39061514b565b6000848152600c6020526040902060020154849063b1656ba360e01b906001600160a01b0316331480612edb5750612edb333083611a33565b612ef75760405162461bcd60e51b8152600401610cd390615175565b838051600003612f195760405162461bcd60e51b8152600401610cd39061520e565b6000878152600b602052604090208054600160301b900462ffffff168710612f7b5760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610cd3565b6000878152600982016020526040902054612f9e906001600160a01b031661454c565b612fa7866144c4565b6000978852600991909101602052604090962080546001600160a01b0319166001600160a01b0390971696909617909555505050505050565b600954600090821061302a5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610cd3565b6009828154811061303d5761303d61535f565b6000918252602090912001546001600160a01b031692915050565b8161306281613e75565b61307e5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390635bd827d760e11b906001600160a01b03163314806130b757506130b7333083611a33565b6130d35760405162461bcd60e51b8152600401610cd390615175565b8380516000036130f55760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206002016115ed86826152a6565b61311a3383614099565b6131365760405162461bcd60e51b8152600401610cd390615420565b6120d684848484614603565b6060808261314f81613cf3565b61316b5760405162461bcd60e51b8152600401610cd3906150f5565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a0820190925292955090506020820160808036833701905050915060006131b8856118aa565b6000818152600c6020526040812080546001820154939450909260ff600160a01b92839004811693929091041690826131f2836064615575565b6131fc919061555e565b9050600061320a848461555e565b60115460135491925090600084156132845760028801548c516001600160a01b03909116908d90839081106132415761324161535f565b6001600160a01b0390921660209283029190910190910152848b826132658161538b565b9350815181106132775761327761535f565b6020026020010181815250505b83156132f25760018801548c516001600160a01b03909116908d90839081106132af576132af61535f565b6001600160a01b0390921660209283029190910190910152838b826132d38161538b565b9350815181106132e5576132e561535f565b6020026020010181815250505b821561335e576010548c516001600160a01b03909116908d908390811061331b5761331b61535f565b6001600160a01b0390921660209283029190910190910152828b8261333f8161538b565b9350815181106133515761335161535f565b6020026020010181815250505b81156133ca576012548c516001600160a01b03909116908d90839081106133875761338761535f565b6001600160a01b0390921660209283029190910190910152818b826133ab8161538b565b9350815181106133bd576133bd61535f565b6020026020010181815250505b80600411156133e55780600403808d51038d52808c51038c52505b50505050505050505050915091565b63bd3d10e760e01b613407333083611a33565b6134235760405162461bcd60e51b8152600401610cd3906151aa565b606461342f83856155ab565b11156134785760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610cd3565b50600e805460ff938416600160a01b90810260ff60a01b1992831617909255600f8054939094169091029116179055565b6000828152600c602052604090206002015482906001600160a01b031633146134e45760405162461bcd60e51b8152600401610cd390615126565b605f8211156135545760405162461bcd60e51b815260206004820152603660248201527f4d6178206f66204152544953545f4d41585f5345434f4e444152595f524f594160448201527513151657d4115490d153951051d1481c195c98d95b9d60521b6064820152608401610cd3565b506000918252600c6020526040909120805460ff909216600160a01b0260ff60a01b19909216919091179055565b60608161358e81613cf3565b6135aa5760405162461bcd60e51b8152600401610cd3906150f5565b6000600b60006135b9866118aa565b815260200190815260200160002060060180546135d5906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054613601906151da565b801561364e5780601f106136235761010080835404028352916020019161364e565b820191906000526020600020905b81548152906001019060200180831161363157829003601f168201915b505050505090508061365f85614636565b6040516020016136709291906155da565b6040516020818303038152906040529250505b50919050565b63cc90e72560e01b61369c333083611a33565b6136b85760405162461bcd60e51b8152600401610cd3906151aa565b8280516000036136da5760405162461bcd60e51b8152600401610cd39061520e565b826001600160a01b0381166137015760405162461bcd60e51b8152600401610cd3906153ce565b601554600160f81b900460ff16156137545760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610cd3565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038a16179055600b90915290206001016137a187826152a6565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016137de601682615609565b506137ea8160016156d5565b601580546001600160f81b0319166001600160f81b0392909216919091179055505050505050565b63340f0e4360e21b613825333083611a33565b6138415760405162461bcd60e51b8152600401610cd3906151aa565b817f0000000000000000000000000000000000000000000000000000000000000000811015801561387c57506015546001600160f81b031681105b6138985760405162461bcd60e51b8152600401610cd39061546e565b50506000908152600b60205260409020805460ff60881b198116600160881b9182900460ff1615909102179055565b636d90d42360e11b6138da333083611a33565b6138f65760405162461bcd60e51b8152600401610cd3906151aa565b61271061390383856155ab565b11156139695760405162461bcd60e51b815260206004820152602f60248201527f4d61782073756d206f66204d41585f50524f56494445525f5345434f4e44415260448201526e595f53414c45535f4250532042505360881b6064820152608401610cd3565b50601191909155601355565b8061397f81613e75565b61399b5760405162461bcd60e51b8152600401610cd39061514b565b6000828152600c6020526040902060020154829063db2ff86160e01b906001600160a01b03163314806139d457506139d4333083611a33565b6139f05760405162461bcd60e51b8152600401610cd390615175565b6000848152600b602052604090208054600160301b900462ffffff16613a585760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610cd3565b8054613aa2906009830190600090613a7e90600190600160301b900462ffffff166156f5565b62ffffff1681526020810191909152604001600020546001600160a01b031661454c565b80546009820190600090613ac490600190600160301b900462ffffff166156f5565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b918290048316600019019092160217905550505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b60205260408120600781015460609283929091613b6290614293565b9350806008018054613b73906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054613b9f906151da565b8015613bec5780601f10613bc157610100808354040283529160200191613bec565b820191906000526020600020905b815481529060010190602001808311613bcf57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b613c136142fe565b6001600160a01b038116613c785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cd3565b61136481614736565b60006121fd612858565b60606112d96001600160a01b0383166014614761565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000908152600260205260409020546001600160a01b0316151590565b6000908152600b60205260409020805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055565b6001600160a01b038216613d995760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610cd3565b613da281613cf3565b15613dee5760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610cd3565b6001600160a01b0382166000908152600360205260408120805460019290613e179084906155ab565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000817f00000000000000000000000000000000000000000000000000000000000000008110158015613eb257506015546001600160f81b031681105b613ece5760405162461bcd60e51b8152600401610cd39061546e565b6000838152600b6020526040902054600160481b90046001600160401b031680158080613f0657506224ea00613f048342615575565b105b95945050505050565b600080805b60208160ff161015613f6e576000868260ff1660208110613f3757613f3761535f565b1a90508015801590613f4c575060808160ff16105b15613f65578560ff168160ff1603613f65578260010192505b50600101613f14565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b1480613fb357506001600160e01b03198216635b5e139f60e01b145b806112d957506301ffc9a760e01b6001600160e01b03198316146112d9565b601554600160f81b900460ff1661250f57601580546001600160f81b0316600160f81b179055565b61400381613cf3565b6113645760405162461bcd60e51b8152600401610cd3906154d4565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061405482612264565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6016612be382826152a6565b6000806140a583612264565b9050806001600160a01b0316846001600160a01b031614806140cc57506140cc8185613b11565b80611ad75750836001600160a01b03166140e5846113f9565b6001600160a01b031614949350505050565b826001600160a01b031661410a82612264565b6001600160a01b03161461416e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610cd3565b6001600160a01b0382166141d05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610cd3565b6141db60008261401f565b6001600160a01b0383166000908152600360205260408120805460019290614204908490615575565b90915550506001600160a01b03821660009081526003602052604081208054600192906142329084906155ab565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b606060005b828160ff16602081106142ad576142ad61535f565b1a60f81b6001600160f81b031916158015906142cc575060208160ff16105b156142e357806142db81615711565b915050614298565b60405191506040820160405280825282602083015250919050565b33614307612858565b6001600160a01b03161461250f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cd3565b6143656142fe565b61250f6000614736565b6060813b6068811080614380575080155b156143cd5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610cd3565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b0316036144575760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610cd3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008030836040516020016144da929190615730565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166136835760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610cd3565b6000816001600160a01b0316604051614570906001600160f81b0319815260010190565b6000604051808303816000865af19150503d80600081146145ad576040519150601f19603f3d011682016040523d82523d6000602084013e6145b2565b606091505b5050905080612be35760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f72006044820152606401610cd3565b61460e8484846140f7565b61461a84848484614903565b6120d65760405162461bcd60e51b8152600401610cd3906157f8565b60608160000361465d5750506040805180820190915260018152600360fc1b602082015290565b8160005b811561468757806146718161538b565b91506146809050600a836153ba565b9150614661565b6000816001600160401b038111156146a1576146a1614b90565b6040519080825280601f01601f1916602001820160405280156146cb576020820181803683370190505b5090505b8415611ad7576146e0600183615575565b91506146ed600a8661584a565b6146f89060306155ab565b60f81b81838151811061470d5761470d61535f565b60200101906001600160f81b031916908160001a90535061472f600a866153ba565b94506146cf565b61473f81613ca1565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600061477083600261555e565b61477b9060026155ab565b6001600160401b0381111561479257614792614b90565b6040519080825280601f01601f1916602001820160405280156147bc576020820181803683370190505b509050600360fc1b816000815181106147d7576147d761535f565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106148065761480661535f565b60200101906001600160f81b031916908160001a905350600061482a84600261555e565b6148359060016155ab565b90505b60018111156148ad576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106148695761486961535f565b1a60f81b82828151811061487f5761487f61535f565b60200101906001600160f81b031916908160001a90535060049490941c936148a68161585e565b9050614838565b5083156148fc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610cd3565b9392505050565b60006001600160a01b0384163b156149f957604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614947903390899088908890600401615875565b6020604051808303816000875af1925050508015614982575060408051601f3d908101601f1916820190925261497f918101906158b2565b60015b6149df573d8080156149b0576040519150601f19603f3d011682016040523d82523d6000602084013e6149b5565b606091505b5080516000036149d75760405162461bcd60e51b8152600401610cd3906157f8565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611ad7565b506001949350505050565b60008060408385031215614a1757600080fd5b50508035926020909101359150565b6001600160a01b038116811461136457600080fd5b600080600060608486031215614a5057600080fd5b8335614a5b81614a26565b9250602084013591506040840135614a7281614a26565b809150509250925092565b60008060408385031215614a9057600080fd5b82359150602083013562ffffff81168114614aaa57600080fd5b809150509250929050565b6001600160e01b03198116811461136457600080fd5b600060208284031215614add57600080fd5b81356148fc81614ab5565b60005b83811015614b03578181015183820152602001614aeb565b50506000910152565b60008151808452614b24816020860160208601614ae8565b601f01601f19169290920160200192915050565b6020815260006148fc6020830184614b0c565b600060208284031215614b5d57600080fd5b5035919050565b60008060408385031215614b7757600080fd5b8235614b8281614a26565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115614bc057614bc0614b90565b604051601f8501601f19908116603f01168101908282118183101715614be857614be8614b90565b81604052809350858152868686011115614c0157600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112614c2c57600080fd5b6148fc83833560208501614ba6565b60008060408385031215614c4e57600080fd5b8235915060208301356001600160401b03811115614c6b57600080fd5b614c7785828601614c1b565b9150509250929050565b60008060008060808587031215614c9757600080fd5b8435614ca281614a26565b93506020850135614cb281614a26565b92506040850135614cc281614a26565b91506060850135614cd281614a26565b939692955090935050565b600060208284031215614cef57600080fd5b81356001600160401b03811115614d0557600080fd5b611ad784828501614c1b565b600080600060608486031215614d2657600080fd5b8335614d3181614a26565b92506020840135614d4181614a26565b91506040840135614a7281614ab5565b600080600060608486031215614d6657600080fd5b8335614d7181614a26565b92506020840135614d8181614a26565b929592945050506040919091013590565b600060208284031215614da457600080fd5b81356148fc81614a26565b60008060008060008060c08789031215614dc857600080fd5b863595506020870135614dda81614a26565b94506040870135614dea81614a26565b9350606087013592506080870135614e0181614a26565b8092505060a087013590509295509295509295565b60008060408385031215614e2957600080fd5b823591506020830135614aaa81614a26565b60a081526000614e4e60a0830188614b0c565b8281036020840152614e608188614b0c565b90508281036040840152614e748187614b0c565b90508281036060840152614e888186614b0c565b90508281036080840152614e9c8185614b0c565b98975050505050505050565b6001600160a01b031991909116815260200190565b801515811461136457600080fd5b60008060408385031215614ede57600080fd5b8235614ee981614a26565b91506020830135614aaa81614ebd565b600080600060608486031215614f0e57600080fd5b833592506020840135915060408401356001600160401b03811115614f3257600080fd5b614f3e86828701614c1b565b9150509250925092565b60008060008060808587031215614f5e57600080fd5b8435614f6981614a26565b93506020850135614f7981614a26565b92506040850135915060608501356001600160401b03811115614f9b57600080fd5b8501601f81018713614fac57600080fd5b614fbb87823560208401614ba6565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156150095781516001600160a01b031684529284019290840190600101614fe4565b5050508381038285015284518082528583019183019060005b8181101561503e57835183529284019291840191600101615022565b5090979650505050505050565b6000806040838503121561505e57600080fd5b82356001600160401b0381111561507457600080fd5b61508085828601614c1b565b9250506020830135614aaa81614a26565b600080604083850312156150a457600080fd5b82356150af81614a26565b91506020830135614aaa81614a26565b6060815260006150d26060830186614b0c565b82810360208401526150e48186614b0c565b915050826040830152949350505050565b602080825260179082015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b604082015260600190565b6020808252600b908201526a13db9b1e48185c9d1a5cdd60aa1b604082015260600190565b60208082526010908201526f13db9b1e481a59881d5b9b1bd8dad95960821b604082015260600190565b6020808252818101527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f776564604082015260600190565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b600181811c908216806151ee57607f821691505b60208210810361368357634e487b7160e01b600052602260045260246000fd5b6020808252601b908201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604082015260600190565b601f82111561153057600081815260208120601f850160051c8101602086101561526a5750805b601f850160051c820191505b8181101561528957828155600101615276565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156152bf576152bf614b90565b6152d3816152cd84546151da565b84615243565b602080601f83116001811461530257600084156152f05750858301515b6152fa8582615291565b865550615289565b600085815260208120601f198616915b8281101561533157888601518255948401946001909101908401615312565b508582101561534f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161539d5761539d615375565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826153c9576153c96153a4565b500490565b6020808252601b908201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604082015260600190565b60006020828403121561541557600080fd5b81516148fc81614ebd565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b602080825260199082015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b604082015260600190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b60208082526038908201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736040820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b606082015260800190565b80820281158282048414176112d9576112d9615375565b818103818111156112d9576112d9615375565b62ffffff8181168382160190808211156155a4576155a4615375565b5092915050565b808201808211156112d9576112d9615375565b600081516155d0818560208601614ae8565b9290920192915050565b600083516155ec818460208801614ae8565b835190830190615600818360208801614ae8565b01949350505050565b818103615614575050565b61561e82546151da565b6001600160401b0381111561563557615635614b90565b615643816152cd84546151da565b6000601f821160018114615671576000831561565f5750848201545b6156698482615291565b8555506111bf565b600085815260209020601f19841690600086815260209020845b838110156156ab578286015482556001958601959091019060200161568b565b508583101561534f5793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b038181168382160190808211156155a4576155a4615375565b62ffffff8281168282160390808211156155a4576155a4615375565b600060ff821660ff810361572757615727615375565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526157d56053830160008152600c0190565b6157eb818660601b6001600160601b0319169052565b613f0660148201856155be565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615859576158596153a4565b500690565b60008161586d5761586d615375565b506000190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906158a890830184614b0c565b9695505050505050565b6000602082840312156158c457600080fd5b81516148fc81614ab556fea2646970667358221220fa2cdc970c1491c9c4eab4d8fb4e95ec0517caf30feb930955bc40838f3171d164736f6c634300081100334d75737420696e707574206e6f6e2d7a65726f20616464726573730000000000",
1814
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106104145760003560e01c8063715018a611610223578063b75395e01161012c578063b75395e014610a44578063b7b04fae14610a57578063b88d4fde14610a6a578063b971136814610a7d578063bb3bafd614610a85578063bd3d10e714610aa6578063c34a03b514610ab9578063c6c7c5bf14610acc578063c87b56dd14610adf578063cc90e72514610af2578063d03c390c14610b05578063db21a84614610b18578063db2ff86114610b2b578063e6032df214610b3e578063e935b7b114610b65578063e985e9c514610b76578063eb9cd5d414610b89578063ed8abfda14610bab578063f2fde38b14610bd5578063f313d73314610be8578063f851a44014610c7e578063f893c07b14610c8657600080fd5b8063715018a61461081757806376ee6fab1461081f5780638639415b146108325780638c3c9cdd146108845780638da5cb5b146108975780638dd91a561461089f57806392f00233146108c357806395d89b41146108d65780639a02e4fa146108de578063a11ec70a14610915578063a22cb46514610928578063a3b2cca61461093b578063a47d29cb1461094e578063abcbb7b41461097a578063ac11fa1c14610982578063acad0124146109a2578063acd4c66f146109b5578063ad0305ce146109c7578063ad2cdfc4146109e9578063ae45ad9814610a16578063b1656ba314610a1e578063b168762214610a3157600080fd5b806328ec8f501161032557806328ec8f501461063c5780632b274166146106695780632b65e67d1461067c5780632b8258c51461068f5780632d9c02051461069857806330ef4c5f146106ab57806336c7c12c146106bd57806337859963146106d057806338c8e468146106e35780633bb225531461070f5780633e48e8481461071857806341814cd31461072b57806342842e0e1461073e57806348337282146107515780634e1d64af146107645780635508fd521461076c57806358b9a5a914610780578063621a1f74146107b85780636352211e146107cb57806369d14faf146107de5780636c907b7f146107f157806370a082311461080457600080fd5b80611e3c146104195780615de51461042e5780630132c6971461045457806301856fd41461046757806301ffc9a71461047a57806304143a5c1461049d57806306fdde03146104a5578063081812fc146104ba578063095ea7b3146104e55780630d170673146104f85780630e79c9281461050b5780630ea5613f1461051e5780630ebeb0ee1461056857806317df5366146105915780631ab6014c146105a45780631b689c0b146105b75780631c05cad7146105ca5780631e9bef46146105dd5780632302cbda146105f0578063230448b11461060357806323b872dd1461061657806325b75d6814610629575b600080fd5b61042c610427366004614a04565b610cad565b005b61044161043c366004614a3b565b610dff565b6040519081526020015b60405180910390f35b61042c610462366004614a7d565b61106e565b61042c610475366004614a04565b6111c6565b61048d610488366004614acb565b6112b4565b604051901515815260200161044b565b61042c6112df565b6104ad611367565b60405161044b9190614b38565b6104cd6104c8366004614b4b565b6113f9565b6040516001600160a01b03909116815260200161044b565b61042c6104f3366004614b64565b611420565b61042c610506366004614c3b565b611535565b61042c610519366004614c3b565b6115f6565b61053161052c366004614b4b565b611847565b60408051968752602087019590955292151593850193909352151560608401526080830191909152151560a082015260c00161044b565b6104cd610576366004614b4b565b6000908152600c60205260409020546001600160a01b031690565b6007546104cd906001600160a01b031681565b600f546104cd906001600160a01b031681565b6104416105c5366004614b4b565b6118aa565b61042c6105d8366004614c81565b6118b9565b600a546104cd906001600160a01b031681565b61042c6105fe366004614cdd565b6119d9565b61048d610611366004614d11565b611a33565b61042c610624366004614d51565b611adf565b61042c610637366004614c3b565b611b10565b61044161064a366004614b4b565b6000908152600c6020526040902060010154600160a01b900460ff1690565b61042c610677366004614d92565b611bc8565b61042c61068a366004614daf565b611c42565b61044160135481565b6104ad6106a6366004614b4b565b611fdb565b600f54600160a01b900460ff16610441565b6008546104cd906001600160a01b031681565b61042c6106de366004614c3b565b612080565b6104cd6106f1366004614b4b565b6000908152600c60205260409020600101546001600160a01b031690565b61044160115481565b61042c610726366004614c3b565b6120dc565b6010546104cd906001600160a01b031681565b61042c61074c366004614d51565b612154565b61042c61075f366004614d92565b61216f565b6104ad6121e9565b60155461048d90600160f81b900460ff1681565b6104cd61078e366004614a04565b6000918252600b60209081526040808420928452600990920190529020546001600160a01b031690565b6104416107c6366004614b4b565b612202565b6104cd6107d9366004614b4b565b612264565b61042c6107ec366004614e16565b612299565b61042c6107ff366004614d92565b6123bb565b610441610812366004614d92565b612471565b61042c6124f7565b61042c61082d366004614daf565b612511565b610845610840366004614a04565b612708565b604080519788526001600160a01b0396871660208901528701949094529184166060860152608085015290911660a083015260c082015260e00161044b565b6104ad610892366004614a04565b6127f9565b6104cd612858565b6108b26108ad366004614b4b565b61286c565b60405161044b959493929190614e3b565b6014546104cd906001600160a01b031681565b6104ad612b60565b6109086108ec366004614b4b565b600090815260026020526040902054600160a01b900460a01b90565b60405161044b9190614ea8565b61042c610923366004614b4b565b612b6f565b61042c610936366004614ecb565b612bd8565b61042c610949366004614c3b565b612be7565b6104cd61095c366004614b4b565b6000908152600c60205260409020600201546001600160a01b031690565b6104ad612ca5565b610441610990366004614b4b565b600d6020526000908152604090205481565b61042c6109b0366004614c3b565b612d33565b600e54600160a01b900460ff16610441565b61048d6109d5366004614d92565b6014546001600160a01b0390811691161490565b6104416109f7366004614b4b565b6000908152600c6020526040902060020154600160a01b900460ff1690565b6104ad612e5f565b61042c610a2c366004614ef9565b612e7c565b6104cd610a3f366004614b4b565b612fe0565b600e546104cd906001600160a01b031681565b61042c610a65366004614c3b565b613058565b61042c610a78366004614f48565b613110565b600954610441565b610a98610a93366004614b4b565b613142565b60405161044b929190614fc7565b61042c610ab4366004614a04565b6133f4565b61042c610ac7366004614a04565b6134a9565b6012546104cd906001600160a01b031681565b6104ad610aed366004614b4b565b613582565b61042c610b0036600461504b565b613689565b61042c610b13366004614b4b565b613812565b61042c610b26366004614a04565b6138c7565b61042c610b39366004614b4b565b613975565b61048d7f000000000000000000000000000000000000000000000000000000000000000081565b6015546001600160f81b0316610441565b61048d610b84366004615091565b613b11565b610b9c610b97366004614b4b565b613b3f565b60405161044b939291906150bf565b610441610bb9366004614b4b565b6000908152600c6020526040902054600160a01b900460ff1690565b61042c610be3366004614d92565b613c0b565b610c40610bf6366004614b4b565b6000908152600c60205260409020600281015481546001909201546001600160a01b03808316948482169460ff600160a01b95869004811695938516948490048116939091041690565b604080516001600160a01b039788168152958716602087015285019390935293166060830152608082019290925260a081019190915260c00161044b565b6104cd613c81565b6104417f000000000000000000000000000000000000000000000000000000000000000081565b81610cb781613cf3565b610cdc5760405162461bcd60e51b8152600401610cd3906150f5565b60405180910390fd5b60008381526002602052604090206008546001600160a01b03163314610d3e5760405162461bcd60e51b815260206004820152601760248201527613db9b1e481c985b991bdb5a5e995c881b585e481cd95d604a1b6044820152606401610cd3565b8054600160a01b900460a01b6001600160a01b03191615610d9a5760405162461bcd60e51b8152602060048201526016602482015275151bdad95b881a185cda08185b1c9958591e481cd95d60521b6044820152606401610cd3565b82610ddb5760405162461bcd60e51b8152602060048201526011602482015270139bc81e995c9bc81a185cda081cd95959607a1b6044820152606401610cd3565b805460a09390931c600160a01b026001600160a01b03909316929092179091555050565b6014546000906001600160a01b03163314610e5c5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206d696e742066726f6d206d696e74657220636f6e747261637400006044820152606401610cd3565b6000838152600b60205260409020805462ffffff808216916001830191630100000090910416808310610ed15760405162461bcd60e51b815260206004820152601f60248201527f4d757374206e6f7420657863656564206d617820696e766f636174696f6e73006044820152606401610cd3565b8354600160881b900460ff1680610f0457506000878152600c60205260409020600201546001600160a01b038781169116145b610f505760405162461bcd60e51b815260206004820181905260248201527f50726f6a656374206d75737420657869737420616e64206265206163746976656044820152606401610cd3565b8354600160901b900460ff161580610f8457506000878152600c60205260409020600201546001600160a01b038781169116145b610fc85760405162461bcd60e51b8152602060048201526015602482015274283ab931b430b9b2b99030b932903830bab9b2b21760591b6044820152606401610cd3565b835462ffffff191662ffffff8381169182178655848116620f42408a0201919083169003610ff957610ff988613d10565b6110038982613d43565b600854604051635b140b8d60e11b8152600481018390526001600160a01b039091169063b628171a90602401600060405180830381600087803b15801561104957600080fd5b505af115801561105d573d6000803e3d6000fd5b50929b9a5050505050505050505050565b6000828152600c602052604090206002015482906001600160a01b031633146110a95760405162461bcd60e51b8152600401610cd390615126565b6000838152600b60205260409020805462ffffff80821691630100000090048116908516106111265760405162461bcd60e51b8152602060048201526024808201527f6d6178496e766f636174696f6e73206d6179206f6e6c79206265206465637265604482015263185cd95960e21b6064820152608401610cd3565b808462ffffff1610156111905760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c79206d617820696e766f636174696f6e73206774652063757272656e7460448201526b20696e766f636174696f6e7360a01b6064820152608401610cd3565b815465ffffff0000001916630100000062ffffff86169081029190911783558190036111bf576111bf85613d10565b5050505050565b816111d081613e75565b6111ec5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c6020526040902060020154839062615bf560e21b906001600160a01b03163314806112245750611224333083611a33565b6112405760405162461bcd60e51b8152600401610cd390615175565b6000858152600b6020526040908190209061125e9086906001613f0f565b6112a75760405162461bcd60e51b815260206004820152601a60248201527901b5d5cdd0818dbdb9d185a5b88195e1858dd1b1e481bdb9948160361b6044820152606401610cd3565b6007019390935550505050565b60006001600160e01b03198216635d9dd7eb60e11b14806112d957506112d982613f82565b92915050565b6301050e9760e21b6112f2333083611a33565b61130e5760405162461bcd60e51b8152600401610cd3906151aa565b601554600160f81b900460ff161561135c5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903337b93134b23232b760791b6044820152606401610cd3565b611364613fd2565b50565b606060008054611376906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546113a2906151da565b80156113ef5780601f106113c4576101008083540402835291602001916113ef565b820191906000526020600020905b8154815290600101906020018083116113d257829003601f168201915b5050505050905090565b600061140482613ffa565b506000908152600460205260409020546001600160a01b031690565b600061142b82612264565b9050806001600160a01b0316836001600160a01b0316036114985760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610cd3565b336001600160a01b03821614806114b457506114b48133613b11565b6115265760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610cd3565b611530838361401f565b505050565b8161153f81613e75565b61155b5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390630d17067360e01b906001600160a01b03163314806115945750611594333083611a33565b6115b05760405162461bcd60e51b8152600401610cd390615175565b8380516000036115d25760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206001016115ed86826152a6565b50505050505050565b8161160081613e75565b61161c5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c602052604090206002015483906301cf392560e31b906001600160a01b03163314806116555750611655333083611a33565b6116715760405162461bcd60e51b8152600401610cd390615175565b8380516000036116935760405162461bcd60e51b8152600401610cd39061520e565b84518590600b8111156116e75760405162461bcd60e51b815260206004820152601c60248201527b41737065637420726174696f20666f726d617420746f6f206c6f6e6760201b6044820152606401610cd3565b60008060005b838110156117d35760008582815181106117095761170961535f565b01602001516001600160f81b0319169050600360fc1b811080159061173c5750603960f81b6001600160f81b0319821611155b1561174b5760019250506117c1565b6001600160f81b03198116601760f91b0361176f578361176f5760019350506117c1565b60405162461bcd60e51b815260206004820152602160248201527f496d70726f7065726c7920666f726d61747465642061737065637420726174696044820152606f60f81b6064820152608401610cd3565b806117cb8161538b565b9150506116ed565b508061181f5760405162461bcd60e51b815260206004820152601b60248201527a41737065637420726174696f20686173206e6f206e756d6265727360281b6044820152606401610cd3565b60008a8152600b6020526040902060080161183a8a826152a6565b5050505050505050505050565b6000818152600b60205260408120805462ffffff808216936301000000830490911692600160881b830460ff90811693600160901b810490911692600160481b9091046001600160401b03169161189d88613e75565b1591505091939550919395565b60006112d9620f4240836153ba565b631c05cad760e01b6118cc333083611a33565b6118e85760405162461bcd60e51b8152600401610cd3906151aa565b846001600160a01b03811661190f5760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b0381166119365760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b03811661195d5760405162461bcd60e51b8152600401610cd3906153ce565b846001600160a01b0381166119845760405162461bcd60e51b8152600401610cd3906153ce565b600f80546001600160a01b03199081166001600160a01b03808b1691909117909255601280548216838a16179055600e80548216838d1617905560108054909116918a16919091179055505050505050505050565b63118165ed60e11b6119ec333083611a33565b611a085760405162461bcd60e51b8152600401610cd3906151aa565b818051600003611a2a5760405162461bcd60e51b8152600401610cd39061520e565b6115308361408d565b600080611a3e612858565b6001600160a01b031614158015611ad75750600a546040516217798b60e61b81526001600160a01b03868116600483015285811660248301526001600160e01b031985166044830152909116906305de62c0906064016020604051808303816000875af1158015611ab3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad79190615403565b949350505050565b611ae93382614099565b611b055760405162461bcd60e51b8152600401610cd390615420565b6115308383836140f7565b81611b1a81613e75565b611b365760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c602052604090206002015483906304b6ebad60e31b906001600160a01b0316331480611b6f5750611b6f333083611a33565b611b8b5760405162461bcd60e51b8152600401610cd390615175565b838051600003611bad5760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206005016115ed86826152a6565b631593a0b360e11b611bdb333083611a33565b611bf75760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b038116611c1e5760405162461bcd60e51b8152600401610cd3906153ce565b5050600780546001600160a01b0319166001600160a01b0392909216919091179055565b857f00000000000000000000000000000000000000000000000000000000000000008110158015611c7d57506015546001600160f81b031681105b611c995760405162461bcd60e51b8152600401610cd39061546e565b6000878152600c602052604090206002015487906001600160a01b03163314611cd45760405162461bcd60e51b8152600401610cd390615126565b866001600160a01b038116611cfb5760405162461bcd60e51b8152600401610cd3906153ce565b6000898152600c6020526040902060648711801590611d1b575060648511155b611d555760405162461bcd60e51b815260206004820152600b60248201526a4d6178206f66203130302560a81b6044820152606401610cd3565b861580611d6a57506001600160a01b03881615155b611db65760405162461bcd60e51b815260206004820152601d60248201527f5072696d617279207061796565206973207a65726f20616464726573730000006044820152606401610cd3565b841580611dcb57506001600160a01b03861615155b611e175760405162461bcd60e51b815260206004820152601f60248201527f5365636f6e64617279207061796565206973207a65726f2061646472657373006044820152606401610cd3565b7f000000000000000000000000000000000000000000000000000000000000000080611eb557600282015482546001600160a01b039182168c831614916000918116908c161480611e6f57506001600160a01b038b16155b60018501549091506000906001600160a01b038b811691161480611e9a57506001600160a01b038a16155b9050828015611ea65750815b8015611eaf5750805b93505050505b8015611f90576000801b600d60008d815260200190815260200160002081905550898260020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550888260000160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550878260020160146101000a81548160ff021916908360ff160217905550868260010160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260010160146101000a81548160ff021916908360ff16021790555061183a565b8989898989604051602001611fa99594939291906154a1565b60408051601f19818403018152918152815160209283012060008e8152600d9093529120555050505050505050505050565b6000818152600b60205260409020600601805460609190611ffb906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612027906151da565b80156120745780601f1061204957610100808354040283529160200191612074565b820191906000526020600020905b81548152906001019060200180831161205757829003601f168201915b50505050509050919050565b6000828152600c602052604090206002015482906001600160a01b031633146120bb5760405162461bcd60e51b8152600401610cd390615126565b6000838152600b602052604090206004016120d683826152a6565b50505050565b6000828152600c602052604090206002015482906001600160a01b031633146121175760405162461bcd60e51b8152600401610cd390615126565b8180516000036121395760405162461bcd60e51b8152600401610cd39061520e565b6000848152600b602052604090206006016111bf84826152a6565b61153083838360405180602001604052806000815250613110565b632419b94160e11b612182333083611a33565b61219e5760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b0381166121c55760405162461bcd60e51b8152600401610cd3906153ce565b5050601480546001600160a01b0319166001600160a01b0392909216919091179055565b60606121fd6576332e312e3160d01b614293565b905090565b600081815260026020526040812054600160a01b900460a01b6001600160a01b0319811682036122355750600092915050565b806040516020016122469190614ea8565b60405160208183030381529060405280519060200120915050919050565b6000818152600260205260408120546001600160a01b0316806112d95760405162461bcd60e51b8152600401610cd3906154d4565b817f000000000000000000000000000000000000000000000000000000000000000081101580156122d457506015546001600160f81b031681105b6122f05760405162461bcd60e51b8152600401610cd39061546e565b826369d14faf60e01b612304333083611a33565b8061234357506000612314612858565b6001600160a01b031614801561234357506000828152600c60205260409020600201546001600160a01b031633145b61235f5760405162461bcd60e51b8152600401610cd390615506565b836001600160a01b0381166123865760405162461bcd60e51b8152600401610cd3906153ce565b505050600092835250600c602052604090912060020180546001600160a01b0319166001600160a01b03909216919091179055565b636c907b7f60e01b6123ce333083611a33565b6123ea5760405162461bcd60e51b8152600401610cd3906151aa565b816001600160a01b0381166124115760405162461bcd60e51b8152600401610cd3906153ce565b61153083600880546001600160a01b039092166001600160a01b03199283168117909155600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018054909216179055565b60006001600160a01b0382166124db5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610cd3565b506001600160a01b031660009081526003602052604090205490565b6124ff6142fe565b612507613fd2565b61250f61435d565b565b857f0000000000000000000000000000000000000000000000000000000000000000811015801561254c57506015546001600160f81b031681105b6125685760405162461bcd60e51b8152600401610cd39061546e565b866376ee6fab60e01b61257c333083611a33565b806125bb5750600061258c612858565b6001600160a01b03161480156125bb57506000828152600c60205260409020600201546001600160a01b031633145b6125d75760405162461bcd60e51b8152600401610cd390615506565b876001600160a01b0381166125fe5760405162461bcd60e51b8152600401610cd3906153ce565b88888888886040516020016126179594939291906154a1565b60408051601f19818403018152918152815160209283012060008d8152600d909352912054146126865760405162461bcd60e51b815260206004820152601a602482015279135d5cdd081b585d18da08185c9d1a5cdd081c1c9bdc1bdcd85b60321b6044820152606401610cd3565b505050600096875250600c6020908152604080882060028101805482546001600160a01b0319166001600160a01b03998a161783559888166001600160a81b0319998a1617600160a01b60ff988916810291909117909155600190910180549590971694909716939093179190931690940293909317909155600d9052812055565b6000828152600c60205260408120600e54829182918291829182918291899060649061273e90600160a01b900460ff168361555e565b61274891906153ba565b98506127548982615575565b600f5490915060649061277190600160a01b900460ff168c61555e565b61277b91906153ba565b96506127878782615575565b60028301549091506064906127a690600160a01b900460ff168361555e565b6127b091906153ba565b92506127bc8382615575565b600e54600f546001600160a01b039182169a50169650945084156127eb5760028201546001600160a01b031693505b505092959891949750929550565b6000828152600b60205260409020805460609190600160301b900462ffffff1683106128355750506040805160208101909152600081526112d9565b6000838152600982016020526040902054611ad7906001600160a01b031661436f565b60006121fd6006546001600160a01b031690565b60608060608060606000600b6000888152602001908152602001600020905080600101805461289a906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546128c6906151da565b80156129135780601f106128e857610100808354040283529160200191612913565b820191906000526020600020905b8154815290600101906020018083116128f657829003601f168201915b50505050509550806002018054612929906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612955906151da565b80156129a25780601f10612977576101008083540402835291602001916129a2565b820191906000526020600020905b81548152906001019060200180831161298557829003601f168201915b505050505094508060030180546129b8906151da565b80601f01602080910402602001604051908101604052809291908181526020018280546129e4906151da565b8015612a315780601f10612a0657610100808354040283529160200191612a31565b820191906000526020600020905b815481529060010190602001808311612a1457829003601f168201915b50505050509350806004018054612a47906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612a73906151da565b8015612ac05780601f10612a9557610100808354040283529160200191612ac0565b820191906000526020600020905b815481529060010190602001808311612aa357829003601f168201915b50505050509250806005018054612ad6906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612b02906151da565b8015612b4f5780601f10612b2457610100808354040283529160200191612b4f565b820191906000526020600020905b815481529060010190602001808311612b3257829003601f168201915b505050505091505091939590929450565b606060018054611376906151da565b6000818152600c602052604090206002015481906001600160a01b03163314612baa5760405162461bcd60e51b8152600401610cd390615126565b506000908152600b60205260409020805460ff60901b198116600160901b9182900460ff1615909102179055565b612be33383836143fa565b5050565b612bf082613e75565b612c0b57612c0633306351d9665360e11b611a33565b612c29565b6000828152600c60205260409020600201546001600160a01b031633145b612c8a5760405162461bcd60e51b815260206004820152602c60248201527f4f6e6c7920617274697374207768656e20756e6c6f636b65642c206f776e657260448201526b081dda195b881b1bd8dad95960a21b6064820152608401610cd3565b6000828152600b6020526040902060030161153082826152a6565b60168054612cb2906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054612cde906151da565b8015612d2b5780601f10612d0057610100808354040283529160200191612d2b565b820191906000526020600020905b815481529060010190602001808311612d0e57829003601f168201915b505050505081565b81612d3d81613e75565b612d595760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390632b2b404960e21b906001600160a01b0316331480612d925750612d92333083611a33565b612dae5760405162461bcd60e51b8152600401610cd390615175565b838051600003612dd05760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b60205260409020612de7866144c4565b8154600160301b9081900462ffffff9081166000908152600985016020526040902080546001600160a01b0319166001600160a01b0394909416939093179092558254612e3992919004166001615588565b815462ffffff91909116600160301b0262ffffff60301b19909116179055505050505050565b60606121fd6e47656e417274373231436f7265563360881b614293565b82612e8681613e75565b612ea25760405162461bcd60e51b8152600401610cd39061514b565b6000848152600c6020526040902060020154849063b1656ba360e01b906001600160a01b0316331480612edb5750612edb333083611a33565b612ef75760405162461bcd60e51b8152600401610cd390615175565b838051600003612f195760405162461bcd60e51b8152600401610cd39061520e565b6000878152600b602052604090208054600160301b900462ffffff168710612f7b5760405162461bcd60e51b81526020600482015260156024820152747363726970744964206f7574206f662072616e676560581b6044820152606401610cd3565b6000878152600982016020526040902054612f9e906001600160a01b031661454c565b612fa7866144c4565b6000978852600991909101602052604090962080546001600160a01b0319166001600160a01b0390971696909617909555505050505050565b600954600090821061302a5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610cd3565b6009828154811061303d5761303d61535f565b6000918252602090912001546001600160a01b031692915050565b8161306281613e75565b61307e5760405162461bcd60e51b8152600401610cd39061514b565b6000838152600c60205260409020600201548390635bd827d760e11b906001600160a01b03163314806130b757506130b7333083611a33565b6130d35760405162461bcd60e51b8152600401610cd390615175565b8380516000036130f55760405162461bcd60e51b8152600401610cd39061520e565b6000868152600b602052604090206002016115ed86826152a6565b61311a3383614099565b6131365760405162461bcd60e51b8152600401610cd390615420565b6120d684848484614603565b6060808261314f81613cf3565b61316b5760405162461bcd60e51b8152600401610cd3906150f5565b60408051600480825260a082019092529060208201608080368337505060408051600480825260a0820190925292955090506020820160808036833701905050915060006131b8856118aa565b6000818152600c6020526040812080546001820154939450909260ff600160a01b92839004811693929091041690826131f2836064615575565b6131fc919061555e565b9050600061320a848461555e565b60115460135491925090600084156132845760028801548c516001600160a01b03909116908d90839081106132415761324161535f565b6001600160a01b0390921660209283029190910190910152848b826132658161538b565b9350815181106132775761327761535f565b6020026020010181815250505b83156132f25760018801548c516001600160a01b03909116908d90839081106132af576132af61535f565b6001600160a01b0390921660209283029190910190910152838b826132d38161538b565b9350815181106132e5576132e561535f565b6020026020010181815250505b821561335e576010548c516001600160a01b03909116908d908390811061331b5761331b61535f565b6001600160a01b0390921660209283029190910190910152828b8261333f8161538b565b9350815181106133515761335161535f565b6020026020010181815250505b81156133ca576012548c516001600160a01b03909116908d90839081106133875761338761535f565b6001600160a01b0390921660209283029190910190910152818b826133ab8161538b565b9350815181106133bd576133bd61535f565b6020026020010181815250505b80600411156133e55780600403808d51038d52808c51038c52505b50505050505050505050915091565b63bd3d10e760e01b613407333083611a33565b6134235760405162461bcd60e51b8152600401610cd3906151aa565b606461342f83856155ab565b11156134785760405162461bcd60e51b81526020600482015260186024820152774d61782073756d206f66204f4e455f48554e44524544202560401b6044820152606401610cd3565b50600e805460ff938416600160a01b90810260ff60a01b1992831617909255600f8054939094169091029116179055565b6000828152600c602052604090206002015482906001600160a01b031633146134e45760405162461bcd60e51b8152600401610cd390615126565b605f8211156135545760405162461bcd60e51b815260206004820152603660248201527f4d6178206f66204152544953545f4d41585f5345434f4e444152595f524f594160448201527513151657d4115490d153951051d1481c195c98d95b9d60521b6064820152608401610cd3565b506000918252600c6020526040909120805460ff909216600160a01b0260ff60a01b19909216919091179055565b60608161358e81613cf3565b6135aa5760405162461bcd60e51b8152600401610cd3906150f5565b6000600b60006135b9866118aa565b815260200190815260200160002060060180546135d5906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054613601906151da565b801561364e5780601f106136235761010080835404028352916020019161364e565b820191906000526020600020905b81548152906001019060200180831161363157829003601f168201915b505050505090508061365f85614636565b6040516020016136709291906155da565b6040516020818303038152906040529250505b50919050565b63cc90e72560e01b61369c333083611a33565b6136b85760405162461bcd60e51b8152600401610cd3906151aa565b8280516000036136da5760405162461bcd60e51b8152600401610cd39061520e565b826001600160a01b0381166137015760405162461bcd60e51b8152600401610cd3906153ce565b601554600160f81b900460ff16156137545760405162461bcd60e51b81526020600482015260166024820152752732bb90383937b532b1ba39903337b93134b23232b760511b6044820152606401610cd3565b6015546001600160f81b03166000818152600c6020908152604080832060020180546001600160a01b0319166001600160a01b038a16179055600b90915290206001016137a187826152a6565b506000818152600b60205260409020805465ffffff00000060ff60901b011916613d09601e1b600160901b011781556006016137de601682615609565b506137ea8160016156d5565b601580546001600160f81b0319166001600160f81b0392909216919091179055505050505050565b63340f0e4360e21b613825333083611a33565b6138415760405162461bcd60e51b8152600401610cd3906151aa565b817f0000000000000000000000000000000000000000000000000000000000000000811015801561387c57506015546001600160f81b031681105b6138985760405162461bcd60e51b8152600401610cd39061546e565b50506000908152600b60205260409020805460ff60881b198116600160881b9182900460ff1615909102179055565b636d90d42360e11b6138da333083611a33565b6138f65760405162461bcd60e51b8152600401610cd3906151aa565b61271061390383856155ab565b11156139695760405162461bcd60e51b815260206004820152602f60248201527f4d61782073756d206f66204d41585f50524f56494445525f5345434f4e44415260448201526e595f53414c45535f4250532042505360881b6064820152608401610cd3565b50601191909155601355565b8061397f81613e75565b61399b5760405162461bcd60e51b8152600401610cd39061514b565b6000828152600c6020526040902060020154829063db2ff86160e01b906001600160a01b03163314806139d457506139d4333083611a33565b6139f05760405162461bcd60e51b8152600401610cd390615175565b6000848152600b602052604090208054600160301b900462ffffff16613a585760405162461bcd60e51b815260206004820152601e60248201527f746865726520617265206e6f207363726970747320746f2072656d6f766500006044820152606401610cd3565b8054613aa2906009830190600090613a7e90600190600160301b900462ffffff166156f5565b62ffffff1681526020810191909152604001600020546001600160a01b031661454c565b80546009820190600090613ac490600190600160301b900462ffffff166156f5565b62ffffff9081168252602082019290925260400160002080546001600160a01b0319169055815462ffffff60301b198116600160301b918290048316600019019092160217905550505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000818152600b60205260408120600781015460609283929091613b6290614293565b9350806008018054613b73906151da565b80601f0160208091040260200160405190810160405280929190818152602001828054613b9f906151da565b8015613bec5780601f10613bc157610100808354040283529160200191613bec565b820191906000526020600020905b815481529060010190602001808311613bcf57829003601f168201915b5050935496989297505050600160301b90940462ffffff169392505050565b613c136142fe565b6001600160a01b038116613c785760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cd3565b61136481614736565b60006121fd612858565b60606112d96001600160a01b0383166014614761565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000908152600260205260409020546001600160a01b0316151590565b6000908152600b60205260409020805467ffffffffffffffff60481b1916600160481b426001600160401b031602179055565b6001600160a01b038216613d995760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610cd3565b613da281613cf3565b15613dee5760405162461bcd60e51b815260206004820152601c60248201527b115490cdcc8c4e881d1bdad95b88185b1c9958591e481b5a5b9d195960221b6044820152606401610cd3565b6001600160a01b0382166000908152600360205260408120805460019290613e179084906155ab565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000817f00000000000000000000000000000000000000000000000000000000000000008110158015613eb257506015546001600160f81b031681105b613ece5760405162461bcd60e51b8152600401610cd39061546e565b6000838152600b6020526040902054600160481b90046001600160401b031680158080613f0657506224ea00613f048342615575565b105b95945050505050565b600080805b60208160ff161015613f6e576000868260ff1660208110613f3757613f3761535f565b1a90508015801590613f4c575060808160ff16105b15613f65578560ff168160ff1603613f65578260010192505b50600101613f14565b8360ff168260ff1614925050509392505050565b60006001600160e01b031982166380ac58cd60e01b1480613fb357506001600160e01b03198216635b5e139f60e01b145b806112d957506301ffc9a760e01b6001600160e01b03198316146112d9565b601554600160f81b900460ff1661250f57601580546001600160f81b0316600160f81b179055565b61400381613cf3565b6113645760405162461bcd60e51b8152600401610cd3906154d4565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061405482612264565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6016612be382826152a6565b6000806140a583612264565b9050806001600160a01b0316846001600160a01b031614806140cc57506140cc8185613b11565b80611ad75750836001600160a01b03166140e5846113f9565b6001600160a01b031614949350505050565b826001600160a01b031661410a82612264565b6001600160a01b03161461416e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610cd3565b6001600160a01b0382166141d05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610cd3565b6141db60008261401f565b6001600160a01b0383166000908152600360205260408120805460019290614204908490615575565b90915550506001600160a01b03821660009081526003602052604081208054600192906142329084906155ab565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b606060005b828160ff16602081106142ad576142ad61535f565b1a60f81b6001600160f81b031916158015906142cc575060208160ff16105b156142e357806142db81615711565b915050614298565b60405191506040820160405280825282602083015250919050565b33614307612858565b6001600160a01b03161461250f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610cd3565b6143656142fe565b61250f6000614736565b6060813b6068811080614380575080155b156143cd5760405162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374417353746f726167653a2052656164204572726f720000006044820152606401610cd3565b604080516028198301601f19168101909152606719820180825290925080606860208501863c5050919050565b816001600160a01b0316836001600160a01b0316036144575760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b6044820152606401610cd3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008030836040516020016144da929190615730565b60405160208183030381529060405290508051602082016000f091506001600160a01b0382166136835760405162461bcd60e51b815260206004820152601e60248201527f436f6e7472616374417353746f726167653a205772697465204572726f7200006044820152606401610cd3565b6000816001600160a01b0316604051614570906001600160f81b0319815260010190565b6000604051808303816000865af19150503d80600081146145ad576040519150601f19603f3d011682016040523d82523d6000602084013e6145b2565b606091505b5050905080612be35760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374417353746f726167653a2044656c657465204572726f72006044820152606401610cd3565b61460e8484846140f7565b61461a84848484614903565b6120d65760405162461bcd60e51b8152600401610cd3906157f8565b60608160000361465d5750506040805180820190915260018152600360fc1b602082015290565b8160005b811561468757806146718161538b565b91506146809050600a836153ba565b9150614661565b6000816001600160401b038111156146a1576146a1614b90565b6040519080825280601f01601f1916602001820160405280156146cb576020820181803683370190505b5090505b8415611ad7576146e0600183615575565b91506146ed600a8661584a565b6146f89060306155ab565b60f81b81838151811061470d5761470d61535f565b60200101906001600160f81b031916908160001a90535061472f600a866153ba565b94506146cf565b61473f81613ca1565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600061477083600261555e565b61477b9060026155ab565b6001600160401b0381111561479257614792614b90565b6040519080825280601f01601f1916602001820160405280156147bc576020820181803683370190505b509050600360fc1b816000815181106147d7576147d761535f565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106148065761480661535f565b60200101906001600160f81b031916908160001a905350600061482a84600261555e565b6148359060016155ab565b90505b60018111156148ad576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106148695761486961535f565b1a60f81b82828151811061487f5761487f61535f565b60200101906001600160f81b031916908160001a90535060049490941c936148a68161585e565b9050614838565b5083156148fc5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610cd3565b9392505050565b60006001600160a01b0384163b156149f957604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614947903390899088908890600401615875565b6020604051808303816000875af1925050508015614982575060408051601f3d908101601f1916820190925261497f918101906158b2565b60015b6149df573d8080156149b0576040519150601f19603f3d011682016040523d82523d6000602084013e6149b5565b606091505b5080516000036149d75760405162461bcd60e51b8152600401610cd3906157f8565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611ad7565b506001949350505050565b60008060408385031215614a1757600080fd5b50508035926020909101359150565b6001600160a01b038116811461136457600080fd5b600080600060608486031215614a5057600080fd5b8335614a5b81614a26565b9250602084013591506040840135614a7281614a26565b809150509250925092565b60008060408385031215614a9057600080fd5b82359150602083013562ffffff81168114614aaa57600080fd5b809150509250929050565b6001600160e01b03198116811461136457600080fd5b600060208284031215614add57600080fd5b81356148fc81614ab5565b60005b83811015614b03578181015183820152602001614aeb565b50506000910152565b60008151808452614b24816020860160208601614ae8565b601f01601f19169290920160200192915050565b6020815260006148fc6020830184614b0c565b600060208284031215614b5d57600080fd5b5035919050565b60008060408385031215614b7757600080fd5b8235614b8281614a26565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115614bc057614bc0614b90565b604051601f8501601f19908116603f01168101908282118183101715614be857614be8614b90565b81604052809350858152868686011115614c0157600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112614c2c57600080fd5b6148fc83833560208501614ba6565b60008060408385031215614c4e57600080fd5b8235915060208301356001600160401b03811115614c6b57600080fd5b614c7785828601614c1b565b9150509250929050565b60008060008060808587031215614c9757600080fd5b8435614ca281614a26565b93506020850135614cb281614a26565b92506040850135614cc281614a26565b91506060850135614cd281614a26565b939692955090935050565b600060208284031215614cef57600080fd5b81356001600160401b03811115614d0557600080fd5b611ad784828501614c1b565b600080600060608486031215614d2657600080fd5b8335614d3181614a26565b92506020840135614d4181614a26565b91506040840135614a7281614ab5565b600080600060608486031215614d6657600080fd5b8335614d7181614a26565b92506020840135614d8181614a26565b929592945050506040919091013590565b600060208284031215614da457600080fd5b81356148fc81614a26565b60008060008060008060c08789031215614dc857600080fd5b863595506020870135614dda81614a26565b94506040870135614dea81614a26565b9350606087013592506080870135614e0181614a26565b8092505060a087013590509295509295509295565b60008060408385031215614e2957600080fd5b823591506020830135614aaa81614a26565b60a081526000614e4e60a0830188614b0c565b8281036020840152614e608188614b0c565b90508281036040840152614e748187614b0c565b90508281036060840152614e888186614b0c565b90508281036080840152614e9c8185614b0c565b98975050505050505050565b6001600160a01b031991909116815260200190565b801515811461136457600080fd5b60008060408385031215614ede57600080fd5b8235614ee981614a26565b91506020830135614aaa81614ebd565b600080600060608486031215614f0e57600080fd5b833592506020840135915060408401356001600160401b03811115614f3257600080fd5b614f3e86828701614c1b565b9150509250925092565b60008060008060808587031215614f5e57600080fd5b8435614f6981614a26565b93506020850135614f7981614a26565b92506040850135915060608501356001600160401b03811115614f9b57600080fd5b8501601f81018713614fac57600080fd5b614fbb87823560208401614ba6565b91505092959194509250565b604080825283519082018190526000906020906060840190828701845b828110156150095781516001600160a01b031684529284019290840190600101614fe4565b5050508381038285015284518082528583019183019060005b8181101561503e57835183529284019291840191600101615022565b5090979650505050505050565b6000806040838503121561505e57600080fd5b82356001600160401b0381111561507457600080fd5b61508085828601614c1b565b9250506020830135614aaa81614a26565b600080604083850312156150a457600080fd5b82356150af81614a26565b91506020830135614aaa81614a26565b6060815260006150d26060830186614b0c565b82810360208401526150e48186614b0c565b915050826040830152949350505050565b602080825260179082015276151bdad95b88125108191bd95cc81b9bdd08195e1a5cdd604a1b604082015260600190565b6020808252600b908201526a13db9b1e48185c9d1a5cdd60aa1b604082015260600190565b60208082526010908201526f13db9b1e481a59881d5b9b1bd8dad95960821b604082015260600190565b6020808252818101527f4f6e6c7920617274697374206f722041646d696e2041434c20616c6c6f776564604082015260600190565b60208082526016908201527513db9b1e4810591b5a5b881050d308185b1b1bddd95960521b604082015260600190565b600181811c908216806151ee57607f821691505b60208210810361368357634e487b7160e01b600052602260045260246000fd5b6020808252601b908201527a4d75737420696e707574206e6f6e2d656d70747920737472696e6760281b604082015260600190565b601f82111561153057600081815260208120601f850160051c8101602086101561526a5750805b601f850160051c820191505b8181101561528957828155600101615276565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156152bf576152bf614b90565b6152d3816152cd84546151da565b84615243565b602080601f83116001811461530257600084156152f05750858301515b6152fa8582615291565b865550615289565b600085815260208120601f198616915b8281101561533157888601518255948401946001909101908401615312565b508582101561534f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161539d5761539d615375565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826153c9576153c96153a4565b500490565b6020808252601b908201527a4d75737420696e707574206e6f6e2d7a65726f206164647265737360281b604082015260600190565b60006020828403121561541557600080fd5b81516148fc81614ebd565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b602080825260199082015278141c9bda9958dd08125108191bd95cc81b9bdd08195e1a5cdd603a1b604082015260600190565b6001600160a01b039586168152938516602085015260408401929092529092166060820152608081019190915260a00190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b60208082526038908201527f4f6e6c792041646d696e2041434c20616c6c6f7765642c206f722061727469736040820152771d081a59881bdddb995c881a185cc81c995b9bdd5b98d95960421b606082015260800190565b80820281158282048414176112d9576112d9615375565b818103818111156112d9576112d9615375565b62ffffff8181168382160190808211156155a4576155a4615375565b5092915050565b808201808211156112d9576112d9615375565b600081516155d0818560208601614ae8565b9290920192915050565b600083516155ec818460208801614ae8565b835190830190615600818360208801614ae8565b01949350505050565b818103615614575050565b61561e82546151da565b6001600160401b0381111561563557615635614b90565b615643816152cd84546151da565b6000601f821160018114615671576000831561565f5750848201545b6156698482615291565b8555506111bf565b600085815260209020601f19841690600086815260209020845b838110156156ab578286015482556001958601959091019060200161568b565b508583101561534f5793015460001960f8600387901b161c19169092555050600190811b01905550565b6001600160f81b038181168382160190808211156155a4576155a4615375565b62ffffff8281168282160390808211156155a4576155a4615375565b600060ff821660ff810361572757615727615375565b60010192915050565b6a600b5981380380925939f360a81b81526b1808181218000e5800144cc560a21b600b8201526330082bff60e11b60178201526416d8004d8560da1b601b82015263300cabff60e11b6020820152635b60003560e01b6024820152617fff60f01b6028820152600060488201819052600560fa1b6049830152633021abff60e11b604a830152645b600051ff60d81b604e8301526157d56053830160008152600c0190565b6157eb818660601b6001600160601b0319169052565b613f0660148201856155be565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600082615859576158596153a4565b500690565b60008161586d5761586d615375565b506000190190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906158a890830184614b0c565b9695505050505050565b6000602082840312156158c457600080fd5b81516148fc81614ab556fea2646970667358221220fa2cdc970c1491c9c4eab4d8fb4e95ec0517caf30feb930955bc40838f3171d164736f6c63430008110033",
1815
+ "linkReferences": {},
1816
+ "deployedLinkReferences": {}
1817
+ }