@zkpassport/sdk 0.2.15 → 0.3.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.
- package/dist/cjs/assets/abi/ZKPassportVerifier.json +555 -0
- package/dist/cjs/index.d.ts +39 -3
- package/dist/cjs/index.js +1428 -676
- package/dist/esm/assets/abi/ZKPassportVerifier.json +555 -0
- package/dist/esm/index.d.ts +39 -3
- package/dist/esm/index.js +1422 -670
- package/package.json +5 -3
- package/src/assets/abi/ZKPassportVerifier.json +555 -0
- package/src/index.ts +1828 -821
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
{
|
|
2
|
+
"abi": [
|
|
3
|
+
{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" },
|
|
4
|
+
{
|
|
5
|
+
"type": "function",
|
|
6
|
+
"name": "addCertificateRegistryRoot",
|
|
7
|
+
"inputs": [
|
|
8
|
+
{ "name": "certificateRegistryRoot", "type": "bytes32", "internalType": "bytes32" }
|
|
9
|
+
],
|
|
10
|
+
"outputs": [],
|
|
11
|
+
"stateMutability": "nonpayable"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "function",
|
|
15
|
+
"name": "addVerifiers",
|
|
16
|
+
"inputs": [
|
|
17
|
+
{ "name": "vkeyHashes", "type": "bytes32[]", "internalType": "bytes32[]" },
|
|
18
|
+
{ "name": "verifiers", "type": "address[]", "internalType": "address[]" }
|
|
19
|
+
],
|
|
20
|
+
"outputs": [],
|
|
21
|
+
"stateMutability": "nonpayable"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "function",
|
|
25
|
+
"name": "admin",
|
|
26
|
+
"inputs": [],
|
|
27
|
+
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
|
|
28
|
+
"stateMutability": "view"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"type": "function",
|
|
32
|
+
"name": "getAgeProofInputs",
|
|
33
|
+
"inputs": [
|
|
34
|
+
{ "name": "committedInputs", "type": "bytes", "internalType": "bytes" },
|
|
35
|
+
{ "name": "committedInputCounts", "type": "uint256[]", "internalType": "uint256[]" }
|
|
36
|
+
],
|
|
37
|
+
"outputs": [
|
|
38
|
+
{ "name": "currentDate", "type": "uint256", "internalType": "uint256" },
|
|
39
|
+
{ "name": "minAge", "type": "uint8", "internalType": "uint8" },
|
|
40
|
+
{ "name": "maxAge", "type": "uint8", "internalType": "uint8" }
|
|
41
|
+
],
|
|
42
|
+
"stateMutability": "pure"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "function",
|
|
46
|
+
"name": "getCountryProofInputs",
|
|
47
|
+
"inputs": [
|
|
48
|
+
{ "name": "committedInputs", "type": "bytes", "internalType": "bytes" },
|
|
49
|
+
{ "name": "committedInputCounts", "type": "uint256[]", "internalType": "uint256[]" },
|
|
50
|
+
{ "name": "proofType", "type": "uint8", "internalType": "enum ProofType" }
|
|
51
|
+
],
|
|
52
|
+
"outputs": [{ "name": "countryList", "type": "string[]", "internalType": "string[]" }],
|
|
53
|
+
"stateMutability": "pure"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "function",
|
|
57
|
+
"name": "getDateProofInputs",
|
|
58
|
+
"inputs": [
|
|
59
|
+
{ "name": "committedInputs", "type": "bytes", "internalType": "bytes" },
|
|
60
|
+
{ "name": "committedInputCounts", "type": "uint256[]", "internalType": "uint256[]" },
|
|
61
|
+
{ "name": "proofType", "type": "uint8", "internalType": "enum ProofType" }
|
|
62
|
+
],
|
|
63
|
+
"outputs": [
|
|
64
|
+
{ "name": "currentDate", "type": "uint256", "internalType": "uint256" },
|
|
65
|
+
{ "name": "minDate", "type": "uint256", "internalType": "uint256" },
|
|
66
|
+
{ "name": "maxDate", "type": "uint256", "internalType": "uint256" }
|
|
67
|
+
],
|
|
68
|
+
"stateMutability": "pure"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"type": "function",
|
|
72
|
+
"name": "getDiscloseProofInputs",
|
|
73
|
+
"inputs": [
|
|
74
|
+
{ "name": "committedInputs", "type": "bytes", "internalType": "bytes" },
|
|
75
|
+
{ "name": "committedInputCounts", "type": "uint256[]", "internalType": "uint256[]" }
|
|
76
|
+
],
|
|
77
|
+
"outputs": [
|
|
78
|
+
{ "name": "discloseMask", "type": "bytes", "internalType": "bytes" },
|
|
79
|
+
{ "name": "discloseBytes", "type": "bytes", "internalType": "bytes" }
|
|
80
|
+
],
|
|
81
|
+
"stateMutability": "pure"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "function",
|
|
85
|
+
"name": "getDisclosedData",
|
|
86
|
+
"inputs": [
|
|
87
|
+
{ "name": "discloseBytes", "type": "bytes", "internalType": "bytes" },
|
|
88
|
+
{ "name": "isIDCard", "type": "bool", "internalType": "bool" }
|
|
89
|
+
],
|
|
90
|
+
"outputs": [
|
|
91
|
+
{ "name": "name", "type": "string", "internalType": "string" },
|
|
92
|
+
{ "name": "issuingCountry", "type": "string", "internalType": "string" },
|
|
93
|
+
{ "name": "nationality", "type": "string", "internalType": "string" },
|
|
94
|
+
{ "name": "gender", "type": "string", "internalType": "string" },
|
|
95
|
+
{ "name": "birthDate", "type": "string", "internalType": "string" },
|
|
96
|
+
{ "name": "expiryDate", "type": "string", "internalType": "string" },
|
|
97
|
+
{ "name": "documentNumber", "type": "string", "internalType": "string" },
|
|
98
|
+
{ "name": "documentType", "type": "string", "internalType": "string" }
|
|
99
|
+
],
|
|
100
|
+
"stateMutability": "pure"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "function",
|
|
104
|
+
"name": "isValidCertificateRegistryRoot",
|
|
105
|
+
"inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
|
|
106
|
+
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
107
|
+
"stateMutability": "view"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"type": "function",
|
|
111
|
+
"name": "paused",
|
|
112
|
+
"inputs": [],
|
|
113
|
+
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
114
|
+
"stateMutability": "view"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"type": "function",
|
|
118
|
+
"name": "removeCertificateRegistryRoot",
|
|
119
|
+
"inputs": [
|
|
120
|
+
{ "name": "certificateRegistryRoot", "type": "bytes32", "internalType": "bytes32" }
|
|
121
|
+
],
|
|
122
|
+
"outputs": [],
|
|
123
|
+
"stateMutability": "nonpayable"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"type": "function",
|
|
127
|
+
"name": "removeVerifiers",
|
|
128
|
+
"inputs": [{ "name": "vkeyHashes", "type": "bytes32[]", "internalType": "bytes32[]" }],
|
|
129
|
+
"outputs": [],
|
|
130
|
+
"stateMutability": "nonpayable"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "function",
|
|
134
|
+
"name": "setPaused",
|
|
135
|
+
"inputs": [{ "name": "_paused", "type": "bool", "internalType": "bool" }],
|
|
136
|
+
"outputs": [],
|
|
137
|
+
"stateMutability": "nonpayable"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"type": "function",
|
|
141
|
+
"name": "transferAdmin",
|
|
142
|
+
"inputs": [{ "name": "newAdmin", "type": "address", "internalType": "address" }],
|
|
143
|
+
"outputs": [],
|
|
144
|
+
"stateMutability": "nonpayable"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"type": "function",
|
|
148
|
+
"name": "verifyProof",
|
|
149
|
+
"inputs": [
|
|
150
|
+
{ "name": "vkeyHash", "type": "bytes32", "internalType": "bytes32" },
|
|
151
|
+
{ "name": "proof", "type": "bytes", "internalType": "bytes" },
|
|
152
|
+
{ "name": "publicInputs", "type": "bytes32[]", "internalType": "bytes32[]" },
|
|
153
|
+
{ "name": "committedInputs", "type": "bytes", "internalType": "bytes" },
|
|
154
|
+
{ "name": "committedInputCounts", "type": "uint256[]", "internalType": "uint256[]" },
|
|
155
|
+
{ "name": "validityPeriodInDays", "type": "uint256", "internalType": "uint256" }
|
|
156
|
+
],
|
|
157
|
+
"outputs": [
|
|
158
|
+
{ "name": "", "type": "bool", "internalType": "bool" },
|
|
159
|
+
{ "name": "", "type": "bytes32", "internalType": "bytes32" }
|
|
160
|
+
],
|
|
161
|
+
"stateMutability": "view"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"type": "function",
|
|
165
|
+
"name": "vkeyHashToVerifier",
|
|
166
|
+
"inputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
|
|
167
|
+
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
|
|
168
|
+
"stateMutability": "view"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"type": "event",
|
|
172
|
+
"name": "AdminUpdated",
|
|
173
|
+
"inputs": [
|
|
174
|
+
{ "name": "oldAdmin", "type": "address", "indexed": true, "internalType": "address" },
|
|
175
|
+
{ "name": "newAdmin", "type": "address", "indexed": true, "internalType": "address" }
|
|
176
|
+
],
|
|
177
|
+
"anonymous": false
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"type": "event",
|
|
181
|
+
"name": "CertificateRegistryRootAdded",
|
|
182
|
+
"inputs": [
|
|
183
|
+
{
|
|
184
|
+
"name": "certificateRegistryRoot",
|
|
185
|
+
"type": "bytes32",
|
|
186
|
+
"indexed": true,
|
|
187
|
+
"internalType": "bytes32"
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
"anonymous": false
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"type": "event",
|
|
194
|
+
"name": "CertificateRegistryRootRemoved",
|
|
195
|
+
"inputs": [
|
|
196
|
+
{
|
|
197
|
+
"name": "certificateRegistryRoot",
|
|
198
|
+
"type": "bytes32",
|
|
199
|
+
"indexed": true,
|
|
200
|
+
"internalType": "bytes32"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"anonymous": false
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"type": "event",
|
|
207
|
+
"name": "PausedStatusChanged",
|
|
208
|
+
"inputs": [{ "name": "paused", "type": "bool", "indexed": false, "internalType": "bool" }],
|
|
209
|
+
"anonymous": false
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"type": "event",
|
|
213
|
+
"name": "VerifierAdded",
|
|
214
|
+
"inputs": [
|
|
215
|
+
{ "name": "vkeyHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" },
|
|
216
|
+
{ "name": "verifier", "type": "address", "indexed": true, "internalType": "address" }
|
|
217
|
+
],
|
|
218
|
+
"anonymous": false
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"type": "event",
|
|
222
|
+
"name": "VerifierRemoved",
|
|
223
|
+
"inputs": [
|
|
224
|
+
{ "name": "vkeyHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }
|
|
225
|
+
],
|
|
226
|
+
"anonymous": false
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"type": "event",
|
|
230
|
+
"name": "ZKPassportVerifierDeployed",
|
|
231
|
+
"inputs": [
|
|
232
|
+
{ "name": "admin", "type": "address", "indexed": true, "internalType": "address" },
|
|
233
|
+
{ "name": "timestamp", "type": "uint256", "indexed": false, "internalType": "uint256" }
|
|
234
|
+
],
|
|
235
|
+
"anonymous": false
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
"bytecode": {
|
|
239
|
+
"object": "0x6080604052348015600e575f5ffd5b505f80546001600160a01b031916339081179091556040514281527ff29b53747ae7121d0958d490ad3d5cf6767119b0fdbd8389d918de3a12cf5a299060200160405180910390a26124d4806100635f395ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c80638163f23111610093578063b2b37a4c11610063578063b2b37a4c1461026e578063ddf3eec9146102a0578063ec1374cd146102c1578063f851a440146102ef575f5ffd5b80638163f231146101f5578063886c3533146102355780638d6937b814610248578063a6df2c011461025b575f5ffd5b80633a316e62116100ce5780633a316e621461018a57806345e21c901461019d5780635c975abb146101cf57806375829def146101e2575f5ffd5b8063032fda09146100ff57806303d37eae1461012e578063126f75591461015557806316c38b3c14610175575b5f5ffd5b61011261010d366004611e49565b610301565b6040805192151583526020830191909152015b60405180910390f35b61014161013c366004611f38565b6105fd565b604051610125989796959493929190611fb8565b610168610163366004612065565b610b68565b60405161012591906120e9565b61018861018336600461214c565b610da7565b005b61018861019836600461216e565b610e27565b6101bf6101ab36600461216e565b60026020525f908152604090205460ff1681565b6040519015158152602001610125565b5f546101bf90600160a01b900460ff1681565b6101886101f0366004612185565b610e92565b61021d61020336600461216e565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610125565b61018861024336600461216e565b610f60565b6101886102563660046121ab565b610fc8565b6101886102693660046121e9565b6110d6565b61028161027c366004612253565b61124e565b6040805193845260ff9283166020850152911690820152606001610125565b6102b36102ae366004612253565b61142a565b604051610125929190612287565b6102d46102cf366004612065565b611609565b60408051938452602084019290925290820152606001610125565b5f5461021d906001600160a01b031681565b5f8a81526001602052604081205481906001600160a01b0316806103615760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b60448201526064015b60405180910390fd5b5f61036d60108b6122bf565b905060025f8c8c5f818110610384576103846122d2565b602090810292909201358352508101919091526040015f205460ff166103f65760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b6064820152608401610358565b6104338b8b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611763915050565b61047f5760405162461bcd60e51b815260206004820181905260248201527f50726f6f662065787069726564206f72206461746520697320696e76616c69646044820152606401610358565b6105088b600b8c6104916001866122bf565b9261049e939291906122e6565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020808d0282810182019093528c82528f94508e935090918d918d9182918501908490808284375f9201919091525061180192505050565b6105545760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636f6d6d697474656420696e7075747300000000000000006044820152606401610358565b816001600160a01b031663ea50d0e48e8e8e8e6040518563ffffffff1660e01b81526004016105869493929190612311565b602060405180830381865afa1580156105a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190612373565b8b8b6105d26001856122bf565b8181106105e1576105e16122d2565b905060200201359350935050509a509a98505050505050505050565b606080606080606080606080886108b7578a60058b61061d82602761238e565b9261062a939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c905061067282600361238e565b9261067f939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250603691508c90506106c782600361238e565b926106d4939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250604091508c905061071c82600161238e565b92610729939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250603991508c905061077182600661238e565b9261077e939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250604191508c90506107c682600661238e565b926107d3939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250602c91508c905061081b82600961238e565b92610828939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d915061086e905082600261238e565b9261087b939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350610b5b92505050565b8a603c8b6108c682601e61238e565b926108d3939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c905061091b82600361238e565b92610928939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250602d91508c905061097082600361238e565b9261097d939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250602591508c90506109c582600161238e565b926109d2939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250601e91508c9050610a1a82600661238e565b92610a27939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250602691508c9050610a6f82600661238e565b92610a7c939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250600591508c9050610ac482600961238e565b92610ad1939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d9150610b17905082600261238e565b92610b24939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509293505050505b9397509397509397509397565b60605f80805b85811015610d4e57868682818110610b8857610b886122d2565b90506020020135610259148015610be15750846007811115610bac57610bac6123c8565b60f81b6001600160f81b031916898985818110610bcb57610bcb6122d2565b9050013560f81c60f81b6001600160f81b031916145b15610d20576040805160c8808252611920820190925290816020015b6060815260200190600190039081610bfd5790505093505f5b60c8811015610d1a578989610c2c8360036123dc565b610c36908761238e565b610c4190600161238e565b818110610c5057610c506122d2565b909101356001600160f81b031916159050610d1a578989610c728360036123dc565b610c7c908761238e565b610c8790600161238e565b90610c938460036123dc565b610c9d908861238e565b610ca890600361238e565b610cb390600161238e565b92610cc0939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505087518892508491508110610d0757610d076122d2565b6020908102919091010152600101610c16565b50600191505b868682818110610d3257610d326122d2565b9050602002013583610d44919061238e565b9250600101610b6e565b5080610d9c5760405162461bcd60e51b815260206004820152601e60248201527f436f756e7472792070726f6f6620696e70757473206e6f7420666f756e6400006044820152606401610358565b505095945050505050565b5f546001600160a01b03163314610dd05760405162461bcd60e51b8152600401610358906123f3565b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590610e1c90831515815260200190565b60405180910390a150565b5f546001600160a01b03163314610e505760405162461bcd60e51b8152600401610358906123f3565b5f81815260026020526040808220805460ff191660011790555182917f28b645e250fa5c9d240590b408225ec310e29b861312e75a76b0d55f7d927a2f91a250565b5f546001600160a01b03163314610ebb5760405162461bcd60e51b8152600401610358906123f3565b6001600160a01b038116610f115760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f2061646472657373000000006044820152606401610358565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f546001600160a01b03163314610f895760405162461bcd60e51b8152600401610358906123f3565b5f81815260026020526040808220805460ff191690555182917fc4da3a189adfa305afb4c073f96be9bd96f1ebea4e42a5e7e2e98818509a682791a250565b5f546001600160a01b03163314610ff15760405162461bcd60e51b8152600401610358906123f3565b5f54600160a01b900460ff161561103f5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610358565b5f5b818110156110d15760015f84848481811061105e5761105e6122d2565b602090810292909201358352508101919091526040015f2080546001600160a01b0319169055828282818110611096576110966122d2565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611041565b505050565b5f546001600160a01b031633146110ff5760405162461bcd60e51b8152600401610358906123f3565b5f54600160a01b900460ff161561114d5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610358565b5f5b8381101561124757828282818110611169576111696122d2565b905060200201602081019061117e9190612185565b60015f878785818110611193576111936122d2565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508282828181106111dc576111dc6122d2565b90506020020160208101906111f19190612185565b6001600160a01b031685858381811061120c5761120c6122d2565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a360010161114f565b5050505050565b5f80808080805b868110156113d05787878281811061126f5761126f6122d2565b90506020020135600b036113a257600160f81b8a8a85818110611294576112946122d2565b9050013560f81c60f81b6001600160f81b031916146112ea5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66207479706560701b6044820152606401610358565b61134c8a8a6112fa86600161238e565b9061130687600961238e565b92611313939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061195092505050565b9550898961135b85600961238e565b81811061136a5761136a6122d2565b919091013560f81c95508a90508961138385600a61238e565b818110611392576113926122d2565b919091013560f81c945060019250505b8787828181106113b4576113b46122d2565b90506020020135836113c6919061238e565b9250600101611255565b508061141e5760405162461bcd60e51b815260206004820152601a60248201527f4167652070726f6f6620696e70757473206e6f7420666f756e640000000000006044820152606401610358565b50509450945094915050565b6060805f80805b858110156115b05786868281811061144b5761144b6122d2565b9050602002013560b503611582575f89898581811061146c5761146c6122d2565b9050013560f81c60f81b6001600160f81b031916146114c25760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66207479706560701b6044820152606401610358565b88886114cf85600161238e565b906114db86605b61238e565b926114e8939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508b92508a915061152e905085605b61238e565b9061153a8660b561238e565b92611547939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650600194505050505b868682818110611594576115946122d2565b90506020020135836115a6919061238e565b9250600101611431565b50806115fe5760405162461bcd60e51b815260206004820152601f60248201527f446973636c6f73652070726f6f6620696e70757473206e6f7420666f756e64006044820152606401610358565b505094509492505050565b5f80808080805b878110156117085788888281811061162a5761162a6122d2565b905060200201356019148015611682575086600781111561164d5761164d6123c8565b60f81b6001600160f81b0319168b8b8581811061166c5761166c6122d2565b9050013560f81c60f81b6001600160f81b031916145b156116da576116978b8b6112fa86600161238e565b95506116b58b8b6116a986600961238e565b9061130687601161238e565b94506116d38b8b6116c786601161238e565b9061130687601961238e565b9350600191505b8888828181106116ec576116ec6122d2565b90506020020135836116fe919061238e565b9250600101611610565b50806117565760405162461bcd60e51b815260206004820152601b60248201527f446174652070726f6f6620696e70757473206e6f7420666f756e6400000000006044820152606401610358565b5050955095509592505050565b6040805160088082528183019092525f9182919060208201818036833701905050905060015b60098110156117ec5760f88582815181106117a6576117a66122d2565b6020026020010151901b826001836117be91906122bf565b815181106117ce576117ce6122d2565b60200101906001600160f81b03191690815f1a905350600101611789565b506117f78184611c5f565b9150505b92915050565b5f80805b8351811015611943575f6008600288888690898781518110611829576118296122d2565b60200260200101518861183c919061238e565b92611849939291906123a1565b60405160200161185a92919061242a565b60408051601f198184030181529082905261187491612439565b602060405180830381855afa15801561188f573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906118b2919061244f565b901c90508782815181106118c8576118c86122d2565b602002602001015181146119135760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b6044820152606401610358565b848281518110611925576119256122d2565b602002602001015183611938919061238e565b925050600101611805565b5060019695505050505050565b604080518082019091526008815267313131313131313160c01b6020918201528151908201205f907fc21a5c94d030b6b0ea6834442967d237d4cc49a2b74bbb3846572bb3c8021a30016119a557505f919050565b5f6119d0836003815181106119bc576119bc6122d2565b01602001516001600160f81b031916611ca9565b6119e6846002815181106119bc576119bc6122d2565b6119f190600a6123dc565b611a07856001815181106119bc576119bc6122d2565b611a129060646123dc565b611a27865f815181106119bc576119bc6122d2565b611a33906103e86123dc565b611a3d919061238e565b611a47919061238e565b611a51919061238e565b90505f611a6a846005815181106119bc576119bc6122d2565b611a80856004815181106119bc576119bc6122d2565b611a8b90600a6123dc565b611a95919061238e565b90505f611aae856007815181106119bc576119bc6122d2565b611ac4866006815181106119bc576119bc6122d2565b611acf90600a6123dc565b611ad9919061238e565b90506107b2831015611b265760405162461bcd60e51b81526020600482015260166024820152750b2cac2e440c4caccdee4ca40aa9c92b040cae0dec6d60531b6044820152606401610358565b60018210158015611b385750600c8211155b611b745760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840dadedce8d609b1b6044820152606401610358565b60018110158015611b8e5750611b8a8284611cc2565b8111155b611bc85760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642064617960a81b6044820152606401610358565b5f6107b25b84811015611c0657611bde81611d75565b611bea5761016d611bee565b61016e5b611bfc9061ffff168361238e565b9150600101611bcd565b5060015b83811015611c3057611c1c8186611cc2565b611c26908361238e565b9150600101611c0a565b50611c3c6001836122bf565b611c46908261238e565b9050611c5562015180826123dc565b9695505050505050565b5f5f611c6a84611950565b90505f611c7a62015180856123dc565b611c84908361238e565b9050814210158015611c9557508181115b8015611ca057504281115b95945050505050565b5f611cb9603060f884901c612466565b60ff1692915050565b5f60018310158015611cd55750600c8311155b611d115760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840dadedce8d609b1b6044820152606401610358565b82600203611d3a57611d2282611d75565b611d2d57601c611d30565b601d5b60ff1690506117fb565b8260041480611d495750826006145b80611d545750826009145b80611d5f575082600b145b15611d6c5750601e6117fb565b50601f92915050565b5f611d8160048361247f565b15611d8d57505f919050565b611d9860648361247f565b15611da557506001919050565b611db16101908361247f565b15611dbd57505f919050565b506001919050565b5f5f83601f840112611dd5575f5ffd5b5081356001600160401b03811115611deb575f5ffd5b602083019150836020828501011115611e02575f5ffd5b9250929050565b5f5f83601f840112611e19575f5ffd5b5081356001600160401b03811115611e2f575f5ffd5b6020830191508360208260051b8501011115611e02575f5ffd5b5f5f5f5f5f5f5f5f5f5f60c08b8d031215611e62575f5ffd5b8a35995060208b01356001600160401b03811115611e7e575f5ffd5b611e8a8d828e01611dc5565b909a5098505060408b01356001600160401b03811115611ea8575f5ffd5b611eb48d828e01611e09565b90985096505060608b01356001600160401b03811115611ed2575f5ffd5b611ede8d828e01611dc5565b90965094505060808b01356001600160401b03811115611efc575f5ffd5b611f088d828e01611e09565b9b9e9a9d50989b979a96999598949794969560a090950135949350505050565b8015158114611f35575f5ffd5b50565b5f5f5f60408486031215611f4a575f5ffd5b83356001600160401b03811115611f5f575f5ffd5b611f6b86828701611dc5565b9094509250506020840135611f7f81611f28565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61010081525f611fcc61010083018b611f8a565b8281036020840152611fde818b611f8a565b90508281036040840152611ff2818a611f8a565b905082810360608401526120068189611f8a565b9050828103608084015261201a8188611f8a565b905082810360a084015261202e8187611f8a565b905082810360c08401526120428186611f8a565b905082810360e08401526120568185611f8a565b9b9a5050505050505050505050565b5f5f5f5f5f60608688031215612079575f5ffd5b85356001600160401b0381111561208e575f5ffd5b61209a88828901611dc5565b90965094505060208601356001600160401b038111156120b8575f5ffd5b6120c488828901611e09565b9094509250506040860135600881106120db575f5ffd5b809150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561214057603f1987860301845261212b858351611f8a565b9450602093840193919091019060010161210f565b50929695505050505050565b5f6020828403121561215c575f5ffd5b813561216781611f28565b9392505050565b5f6020828403121561217e575f5ffd5b5035919050565b5f60208284031215612195575f5ffd5b81356001600160a01b0381168114612167575f5ffd5b5f5f602083850312156121bc575f5ffd5b82356001600160401b038111156121d1575f5ffd5b6121dd85828601611e09565b90969095509350505050565b5f5f5f5f604085870312156121fc575f5ffd5b84356001600160401b03811115612211575f5ffd5b61221d87828801611e09565b90955093505060208501356001600160401b0381111561223b575f5ffd5b61224787828801611e09565b95989497509550505050565b5f5f5f5f60408587031215612266575f5ffd5b84356001600160401b0381111561227b575f5ffd5b61221d87828801611dc5565b604081525f6122996040830185611f8a565b8281036020840152611ca08185611f8a565b634e487b7160e01b5f52601160045260245ffd5b818103818111156117fb576117fb6122ab565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156122f4575f5ffd5b83861115612300575f5ffd5b5050600583901b0193919092039150565b60408152836040820152838560608301375f60608583018101829052601f19601f8701168301838103820160208501529081018490526001600160fb1b0384111561235a575f5ffd5b8360051b80866080840137016080019695505050505050565b5f60208284031215612383575f5ffd5b815161216781611f28565b808201808211156117fb576117fb6122ab565b5f5f858511156123af575f5ffd5b838611156123bb575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52602160045260245ffd5b80820281158282048414176117fb576117fb6122ab565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561245f575f5ffd5b5051919050565b60ff82811682821603908111156117fb576117fb6122ab565b5f8261249957634e487b7160e01b5f52601260045260245ffd5b50069056fea26469706673582212209cfd91a22fa136654cd658f8246011392c2bb56ce421f14dd5d1991e0d19e43b64736f6c634300081d0033",
|
|
240
|
+
"sourceMap": "415:13056:22:-:0;;;3479:104;;;;;;;;;-1:-1:-1;3499:5:22;:18;;-1:-1:-1;;;;;;3499:18:22;3507:10;3499:18;;;;;;3528:50;;3562:15;160:25:24;;3528:50:22;;148:2:24;133:18;3528:50:22;;;;;;;415:13056;;;;;;",
|
|
241
|
+
"linkReferences": {}
|
|
242
|
+
},
|
|
243
|
+
"deployedBytecode": {
|
|
244
|
+
"object": "0x608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c80638163f23111610093578063b2b37a4c11610063578063b2b37a4c1461026e578063ddf3eec9146102a0578063ec1374cd146102c1578063f851a440146102ef575f5ffd5b80638163f231146101f5578063886c3533146102355780638d6937b814610248578063a6df2c011461025b575f5ffd5b80633a316e62116100ce5780633a316e621461018a57806345e21c901461019d5780635c975abb146101cf57806375829def146101e2575f5ffd5b8063032fda09146100ff57806303d37eae1461012e578063126f75591461015557806316c38b3c14610175575b5f5ffd5b61011261010d366004611e49565b610301565b6040805192151583526020830191909152015b60405180910390f35b61014161013c366004611f38565b6105fd565b604051610125989796959493929190611fb8565b610168610163366004612065565b610b68565b60405161012591906120e9565b61018861018336600461214c565b610da7565b005b61018861019836600461216e565b610e27565b6101bf6101ab36600461216e565b60026020525f908152604090205460ff1681565b6040519015158152602001610125565b5f546101bf90600160a01b900460ff1681565b6101886101f0366004612185565b610e92565b61021d61020336600461216e565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610125565b61018861024336600461216e565b610f60565b6101886102563660046121ab565b610fc8565b6101886102693660046121e9565b6110d6565b61028161027c366004612253565b61124e565b6040805193845260ff9283166020850152911690820152606001610125565b6102b36102ae366004612253565b61142a565b604051610125929190612287565b6102d46102cf366004612065565b611609565b60408051938452602084019290925290820152606001610125565b5f5461021d906001600160a01b031681565b5f8a81526001602052604081205481906001600160a01b0316806103615760405162461bcd60e51b815260206004820152601260248201527115995c9a599a595c881b9bdd08199bdd5b9960721b60448201526064015b60405180910390fd5b5f61036d60108b6122bf565b905060025f8c8c5f818110610384576103846122d2565b602090810292909201358352508101919091526040015f205460ff166103f65760405162461bcd60e51b815260206004820152602160248201527f496e76616c696420636572746966696361746520726567697374727920726f6f6044820152601d60fa1b6064820152608401610358565b6104338b8b808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250899250611763915050565b61047f5760405162461bcd60e51b815260206004820181905260248201527f50726f6f662065787069726564206f72206461746520697320696e76616c69646044820152606401610358565b6105088b600b8c6104916001866122bf565b9261049e939291906122e6565b808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020808d0282810182019093528c82528f94508e935090918d918d9182918501908490808284375f9201919091525061180192505050565b6105545760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636f6d6d697474656420696e7075747300000000000000006044820152606401610358565b816001600160a01b031663ea50d0e48e8e8e8e6040518563ffffffff1660e01b81526004016105869493929190612311565b602060405180830381865afa1580156105a1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190612373565b8b8b6105d26001856122bf565b8181106105e1576105e16122d2565b905060200201359350935050509a509a98505050505050505050565b606080606080606080606080886108b7578a60058b61061d82602761238e565b9261062a939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c905061067282600361238e565b9261067f939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250603691508c90506106c782600361238e565b926106d4939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250604091508c905061071c82600161238e565b92610729939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250603991508c905061077182600661238e565b9261077e939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250604191508c90506107c682600661238e565b926107d3939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250602c91508c905061081b82600961238e565b92610828939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d915061086e905082600261238e565b9261087b939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929350610b5b92505050565b8a603c8b6108c682601e61238e565b926108d3939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929a508d9250600291508c905061091b82600361238e565b92610928939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509299508d9250602d91508c905061097082600361238e565b9261097d939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509298508d9250602591508c90506109c582600161238e565b926109d2939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508d9250601e91508c9050610a1a82600661238e565b92610a27939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509296508d9250602691508c9050610a6f82600661238e565b92610a7c939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509295508d9250600591508c9050610ac482600961238e565b92610ad1939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509395508e9392508d9150610b17905082600261238e565b92610b24939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509293505050505b9397509397509397509397565b60605f80805b85811015610d4e57868682818110610b8857610b886122d2565b90506020020135610259148015610be15750846007811115610bac57610bac6123c8565b60f81b6001600160f81b031916898985818110610bcb57610bcb6122d2565b9050013560f81c60f81b6001600160f81b031916145b15610d20576040805160c8808252611920820190925290816020015b6060815260200190600190039081610bfd5790505093505f5b60c8811015610d1a578989610c2c8360036123dc565b610c36908761238e565b610c4190600161238e565b818110610c5057610c506122d2565b909101356001600160f81b031916159050610d1a578989610c728360036123dc565b610c7c908761238e565b610c8790600161238e565b90610c938460036123dc565b610c9d908861238e565b610ca890600361238e565b610cb390600161238e565b92610cc0939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505087518892508491508110610d0757610d076122d2565b6020908102919091010152600101610c16565b50600191505b868682818110610d3257610d326122d2565b9050602002013583610d44919061238e565b9250600101610b6e565b5080610d9c5760405162461bcd60e51b815260206004820152601e60248201527f436f756e7472792070726f6f6620696e70757473206e6f7420666f756e6400006044820152606401610358565b505095945050505050565b5f546001600160a01b03163314610dd05760405162461bcd60e51b8152600401610358906123f3565b5f8054821515600160a01b0260ff60a01b199091161790556040517f9a506b30e47f3823b09f67e4c0dfa5c3d8023b71825b7ceaa97677129128c9c590610e1c90831515815260200190565b60405180910390a150565b5f546001600160a01b03163314610e505760405162461bcd60e51b8152600401610358906123f3565b5f81815260026020526040808220805460ff191660011790555182917f28b645e250fa5c9d240590b408225ec310e29b861312e75a76b0d55f7d927a2f91a250565b5f546001600160a01b03163314610ebb5760405162461bcd60e51b8152600401610358906123f3565b6001600160a01b038116610f115760405162461bcd60e51b815260206004820152601c60248201527f41646d696e2063616e6e6f74206265207a65726f2061646472657373000000006044820152606401610358565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f101b8081ff3b56bbf45deb824d86a3b0fd38b7e3dd42421105cf8abe9106db0b9190a35050565b5f546001600160a01b03163314610f895760405162461bcd60e51b8152600401610358906123f3565b5f81815260026020526040808220805460ff191690555182917fc4da3a189adfa305afb4c073f96be9bd96f1ebea4e42a5e7e2e98818509a682791a250565b5f546001600160a01b03163314610ff15760405162461bcd60e51b8152600401610358906123f3565b5f54600160a01b900460ff161561103f5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610358565b5f5b818110156110d15760015f84848481811061105e5761105e6122d2565b602090810292909201358352508101919091526040015f2080546001600160a01b0319169055828282818110611096576110966122d2565b905060200201357f6fdcbcf8f91bc23f2c9dcfe8fe01d80d1b1afbbf207298e94c0171ccc587424c60405160405180910390a2600101611041565b505050565b5f546001600160a01b031633146110ff5760405162461bcd60e51b8152600401610358906123f3565b5f54600160a01b900460ff161561114d5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81c185d5cd95960721b6044820152606401610358565b5f5b8381101561124757828282818110611169576111696122d2565b905060200201602081019061117e9190612185565b60015f878785818110611193576111936122d2565b9050602002013581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508282828181106111dc576111dc6122d2565b90506020020160208101906111f19190612185565b6001600160a01b031685858381811061120c5761120c6122d2565b905060200201357f636107338a3eb46f1f60562462f3ec11393d35fbc965991aaade3b9e7d89c3f560405160405180910390a360010161114f565b5050505050565b5f80808080805b868110156113d05787878281811061126f5761126f6122d2565b90506020020135600b036113a257600160f81b8a8a85818110611294576112946122d2565b9050013560f81c60f81b6001600160f81b031916146112ea5760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66207479706560701b6044820152606401610358565b61134c8a8a6112fa86600161238e565b9061130687600961238e565b92611313939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061195092505050565b9550898961135b85600961238e565b81811061136a5761136a6122d2565b919091013560f81c95508a90508961138385600a61238e565b818110611392576113926122d2565b919091013560f81c945060019250505b8787828181106113b4576113b46122d2565b90506020020135836113c6919061238e565b9250600101611255565b508061141e5760405162461bcd60e51b815260206004820152601a60248201527f4167652070726f6f6620696e70757473206e6f7420666f756e640000000000006044820152606401610358565b50509450945094915050565b6060805f80805b858110156115b05786868281811061144b5761144b6122d2565b9050602002013560b503611582575f89898581811061146c5761146c6122d2565b9050013560f81c60f81b6001600160f81b031916146114c25760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070726f6f66207479706560701b6044820152606401610358565b88886114cf85600161238e565b906114db86605b61238e565b926114e8939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152509297508b92508a915061152e905085605b61238e565b9061153a8660b561238e565b92611547939291906123a1565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250929650600194505050505b868682818110611594576115946122d2565b90506020020135836115a6919061238e565b9250600101611431565b50806115fe5760405162461bcd60e51b815260206004820152601f60248201527f446973636c6f73652070726f6f6620696e70757473206e6f7420666f756e64006044820152606401610358565b505094509492505050565b5f80808080805b878110156117085788888281811061162a5761162a6122d2565b905060200201356019148015611682575086600781111561164d5761164d6123c8565b60f81b6001600160f81b0319168b8b8581811061166c5761166c6122d2565b9050013560f81c60f81b6001600160f81b031916145b156116da576116978b8b6112fa86600161238e565b95506116b58b8b6116a986600961238e565b9061130687601161238e565b94506116d38b8b6116c786601161238e565b9061130687601961238e565b9350600191505b8888828181106116ec576116ec6122d2565b90506020020135836116fe919061238e565b9250600101611610565b50806117565760405162461bcd60e51b815260206004820152601b60248201527f446174652070726f6f6620696e70757473206e6f7420666f756e6400000000006044820152606401610358565b5050955095509592505050565b6040805160088082528183019092525f9182919060208201818036833701905050905060015b60098110156117ec5760f88582815181106117a6576117a66122d2565b6020026020010151901b826001836117be91906122bf565b815181106117ce576117ce6122d2565b60200101906001600160f81b03191690815f1a905350600101611789565b506117f78184611c5f565b9150505b92915050565b5f80805b8351811015611943575f6008600288888690898781518110611829576118296122d2565b60200260200101518861183c919061238e565b92611849939291906123a1565b60405160200161185a92919061242a565b60408051601f198184030181529082905261187491612439565b602060405180830381855afa15801561188f573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906118b2919061244f565b901c90508782815181106118c8576118c86122d2565b602002602001015181146119135760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a590818dbdb5b5a5d1b595b9d60721b6044820152606401610358565b848281518110611925576119256122d2565b602002602001015183611938919061238e565b925050600101611805565b5060019695505050505050565b604080518082019091526008815267313131313131313160c01b6020918201528151908201205f907fc21a5c94d030b6b0ea6834442967d237d4cc49a2b74bbb3846572bb3c8021a30016119a557505f919050565b5f6119d0836003815181106119bc576119bc6122d2565b01602001516001600160f81b031916611ca9565b6119e6846002815181106119bc576119bc6122d2565b6119f190600a6123dc565b611a07856001815181106119bc576119bc6122d2565b611a129060646123dc565b611a27865f815181106119bc576119bc6122d2565b611a33906103e86123dc565b611a3d919061238e565b611a47919061238e565b611a51919061238e565b90505f611a6a846005815181106119bc576119bc6122d2565b611a80856004815181106119bc576119bc6122d2565b611a8b90600a6123dc565b611a95919061238e565b90505f611aae856007815181106119bc576119bc6122d2565b611ac4866006815181106119bc576119bc6122d2565b611acf90600a6123dc565b611ad9919061238e565b90506107b2831015611b265760405162461bcd60e51b81526020600482015260166024820152750b2cac2e440c4caccdee4ca40aa9c92b040cae0dec6d60531b6044820152606401610358565b60018210158015611b385750600c8211155b611b745760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840dadedce8d609b1b6044820152606401610358565b60018110158015611b8e5750611b8a8284611cc2565b8111155b611bc85760405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642064617960a81b6044820152606401610358565b5f6107b25b84811015611c0657611bde81611d75565b611bea5761016d611bee565b61016e5b611bfc9061ffff168361238e565b9150600101611bcd565b5060015b83811015611c3057611c1c8186611cc2565b611c26908361238e565b9150600101611c0a565b50611c3c6001836122bf565b611c46908261238e565b9050611c5562015180826123dc565b9695505050505050565b5f5f611c6a84611950565b90505f611c7a62015180856123dc565b611c84908361238e565b9050814210158015611c9557508181115b8015611ca057504281115b95945050505050565b5f611cb9603060f884901c612466565b60ff1692915050565b5f60018310158015611cd55750600c8311155b611d115760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840dadedce8d609b1b6044820152606401610358565b82600203611d3a57611d2282611d75565b611d2d57601c611d30565b601d5b60ff1690506117fb565b8260041480611d495750826006145b80611d545750826009145b80611d5f575082600b145b15611d6c5750601e6117fb565b50601f92915050565b5f611d8160048361247f565b15611d8d57505f919050565b611d9860648361247f565b15611da557506001919050565b611db16101908361247f565b15611dbd57505f919050565b506001919050565b5f5f83601f840112611dd5575f5ffd5b5081356001600160401b03811115611deb575f5ffd5b602083019150836020828501011115611e02575f5ffd5b9250929050565b5f5f83601f840112611e19575f5ffd5b5081356001600160401b03811115611e2f575f5ffd5b6020830191508360208260051b8501011115611e02575f5ffd5b5f5f5f5f5f5f5f5f5f5f60c08b8d031215611e62575f5ffd5b8a35995060208b01356001600160401b03811115611e7e575f5ffd5b611e8a8d828e01611dc5565b909a5098505060408b01356001600160401b03811115611ea8575f5ffd5b611eb48d828e01611e09565b90985096505060608b01356001600160401b03811115611ed2575f5ffd5b611ede8d828e01611dc5565b90965094505060808b01356001600160401b03811115611efc575f5ffd5b611f088d828e01611e09565b9b9e9a9d50989b979a96999598949794969560a090950135949350505050565b8015158114611f35575f5ffd5b50565b5f5f5f60408486031215611f4a575f5ffd5b83356001600160401b03811115611f5f575f5ffd5b611f6b86828701611dc5565b9094509250506020840135611f7f81611f28565b809150509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61010081525f611fcc61010083018b611f8a565b8281036020840152611fde818b611f8a565b90508281036040840152611ff2818a611f8a565b905082810360608401526120068189611f8a565b9050828103608084015261201a8188611f8a565b905082810360a084015261202e8187611f8a565b905082810360c08401526120428186611f8a565b905082810360e08401526120568185611f8a565b9b9a5050505050505050505050565b5f5f5f5f5f60608688031215612079575f5ffd5b85356001600160401b0381111561208e575f5ffd5b61209a88828901611dc5565b90965094505060208601356001600160401b038111156120b8575f5ffd5b6120c488828901611e09565b9094509250506040860135600881106120db575f5ffd5b809150509295509295909350565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561214057603f1987860301845261212b858351611f8a565b9450602093840193919091019060010161210f565b50929695505050505050565b5f6020828403121561215c575f5ffd5b813561216781611f28565b9392505050565b5f6020828403121561217e575f5ffd5b5035919050565b5f60208284031215612195575f5ffd5b81356001600160a01b0381168114612167575f5ffd5b5f5f602083850312156121bc575f5ffd5b82356001600160401b038111156121d1575f5ffd5b6121dd85828601611e09565b90969095509350505050565b5f5f5f5f604085870312156121fc575f5ffd5b84356001600160401b03811115612211575f5ffd5b61221d87828801611e09565b90955093505060208501356001600160401b0381111561223b575f5ffd5b61224787828801611e09565b95989497509550505050565b5f5f5f5f60408587031215612266575f5ffd5b84356001600160401b0381111561227b575f5ffd5b61221d87828801611dc5565b604081525f6122996040830185611f8a565b8281036020840152611ca08185611f8a565b634e487b7160e01b5f52601160045260245ffd5b818103818111156117fb576117fb6122ab565b634e487b7160e01b5f52603260045260245ffd5b5f5f858511156122f4575f5ffd5b83861115612300575f5ffd5b5050600583901b0193919092039150565b60408152836040820152838560608301375f60608583018101829052601f19601f8701168301838103820160208501529081018490526001600160fb1b0384111561235a575f5ffd5b8360051b80866080840137016080019695505050505050565b5f60208284031215612383575f5ffd5b815161216781611f28565b808201808211156117fb576117fb6122ab565b5f5f858511156123af575f5ffd5b838611156123bb575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52602160045260245ffd5b80820281158282048414176117fb576117fb6122ab565b6020808252601a908201527f4e6f7420617574686f72697a65643a2061646d696e206f6e6c79000000000000604082015260600190565b818382375f9101908152919050565b5f82518060208501845e5f920191825250919050565b5f6020828403121561245f575f5ffd5b5051919050565b60ff82811682821603908111156117fb576117fb6122ab565b5f8261249957634e487b7160e01b5f52601260045260245ffd5b50069056fea26469706673582212209cfd91a22fa136654cd658f8246011392c2bb56ce421f14dd5d1991e0d19e43b64736f6c634300081d0033",
|
|
245
|
+
"sourceMap": "415:13056:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12087:1382;;;;;;:::i;:::-;;:::i;:::-;;;;2547:14:24;;2540:22;2522:41;;2594:2;2579:18;;2572:34;;;;2495:18;12087:1382:22;;;;;;;;5496:2299;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;10432:1004::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4006:118::-;;;;;;:::i;:::-;;:::i;:::-;;4685:225;;;;;;:::i;:::-;;:::i;2885:62::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7282:14:24;;7275:22;7257:41;;7245:2;7230:18;2885:62:22;7117:187:24;2805:18:22;;;;;-1:-1:-1;;;2805:18:22;;;;;;3773:229;;;;;;:::i;:::-;;:::i;2828:53::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;2828:53:22;;;;;;-1:-1:-1;;;;;7764:32:24;;;7746:51;;7734:2;7719:18;2828:53:22;7600:203:24;4914:231:22;;;;;;:::i;:::-;;:::i;4436:245::-;;;;;;:::i;:::-;;:::i;4128:304::-;;;;;;:::i;:::-;;:::i;9562:866::-;;;;;;:::i;:::-;;:::i;:::-;;;;9962:25:24;;;10035:4;10023:17;;;10018:2;10003:18;;9996:45;10077:17;;10057:18;;;10050:45;9950:2;9935:18;9562:866:22;9768:333:24;7799:822:22;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8625:933::-;;;;;;:::i;:::-;;:::i;:::-;;;;10692:25:24;;;10748:2;10733:18;;10726:34;;;;10776:18;;;10769:34;10680:2;10665:18;8625:933:22;10490:319:24;2781:20:22;;;;;-1:-1:-1;;;;;2781:20:22;;;12087:1382;12335:4;12375:28;;;:18;:28;;;;;;12335:4;;-1:-1:-1;;;;;12375:28:22;;12409:53;;;;-1:-1:-1;;;12409:53:22;;11016:2:24;12409:53:22;;;10998:21:24;11055:2;11035:18;;;11028:30;-1:-1:-1;;;11074:18:24;;;11067:48;11132:18;;12409:53:22;;;;;;;;;12627:30;12660:24;12682:2;12660:12;:24;:::i;:::-;12627:57;;12781:30;:47;12812:12;;12825:1;12812:15;;;;;;;:::i;:::-;;;;;;;;;;12781:47;;-1:-1:-1;12781:47:22;;;;;;;;-1:-1:-1;12781:47:22;;;;12773:93;;;;-1:-1:-1;;;12773:93:22;;11760:2:24;12773:93:22;;;11742:21:24;11799:2;11779:18;;;11772:30;11838:34;11818:18;;;11811:62;-1:-1:-1;;;11889:18:24;;;11882:31;11930:19;;12773:93:22;11558:397:24;12773:93:22;12916:45;12926:12;;12916:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12940:20:22;;-1:-1:-1;12916:9:22;;-1:-1:-1;;12916:45:22:i;:::-;12908:90;;;;-1:-1:-1;;;12908:90:22;;12162:2:24;12908:90:22;;;12144:21:24;;;12181:18;;;12174:30;12240:34;12220:18;;;12213:62;12292:18;;12908:90:22;11960:356:24;12908:90:22;13080:196;13170:12;13183:2;13170:12;13186:26;13211:1;13186:22;:26;:::i;:::-;13170:43;;;;;;;:::i;:::-;13080:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13080:196:22;;;;;;;;;;;;;;;;;;13223:15;;-1:-1:-1;13223:15:22;;-1:-1:-1;13080:196:22;;13248:20;;;;;;13080:196;;;13248:20;;13080:196;13248:20;13080:196;;;;;;;;;-1:-1:-1;13080:21:22;;-1:-1:-1;;;13080:196:22:i;:::-;13065:251;;;;-1:-1:-1;;;13065:251:22;;12883:2:24;13065:251:22;;;12865:21:24;12922:2;12902:18;;;12895:30;12961:26;12941:18;;;12934:54;13005:18;;13065:251:22;12681:348:24;13065:251:22;13373:8;-1:-1:-1;;;;;13363:26:22;;13390:5;;13397:12;;13363:47;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13418:12;;13431:26;13456:1;13431:22;:26;:::i;:::-;13418:40;;;;;;;:::i;:::-;;;;;;;13348:116;;;;;;12087:1382;;;;;;;;;;;;;:::o;5496:2299::-;5619:18;5645:28;5681:25;5714:20;5742:23;5773:24;5805:28;5841:26;5887:8;5882:1909;;5919:13;1572:1;5919:13;5957:28;1572:1;5983:2;5957:28;:::i;:::-;5919:67;;;;;;;:::i;:::-;5905:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5905:82:22;;-1:-1:-1;6028:13:22;;-1:-1:-1;563:1:22;;-1:-1:-1;6028:13:22;;-1:-1:-1;6069:30:22;563:1;6098;6069:30;:::i;:::-;6028:72;;;;;;;:::i;:::-;5995:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5995:113:22;;-1:-1:-1;6146:13:22;;-1:-1:-1;920:2:22;;-1:-1:-1;6146:13:22;;-1:-1:-1;6191:34:22;920:2;6224:1;6191:34;:::i;:::-;6146:80;;;;;;;:::i;:::-;6116:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6116:118:22;;-1:-1:-1;6258:13:22;;-1:-1:-1;1047:2:22;;-1:-1:-1;6258:13:22;;-1:-1:-1;6298:29:22;1047:2;6326:1;6298:29;:::i;:::-;6258:70;;;;;;;:::i;:::-;6242:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6242:87:22;;-1:-1:-1;6365:13:22;;-1:-1:-1;1269:2:22;;-1:-1:-1;6365:13:22;;-1:-1:-1;6408:32:22;1269:2;6439:1;6408:32;:::i;:::-;6365:76;;;;;;;:::i;:::-;6337:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6337:112:22;;-1:-1:-1;6486:13:22;;-1:-1:-1;1146:2:22;;-1:-1:-1;6486:13:22;;-1:-1:-1;6531:34:22;1146:2;6564:1;6531:34;:::i;:::-;6486:80;;;;;;;:::i;:::-;6457:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6457:117:22;;-1:-1:-1;6615:13:22;;-1:-1:-1;1375:2:22;;-1:-1:-1;6615:13:22;;-1:-1:-1;6664:38:22;1375:2;6701:1;6664:38;:::i;:::-;6615:88;;;;;;;:::i;:::-;6582:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6582:129:22;;-1:-1:-1;6750:13:22;;6582:129;-1:-1:-1;6750:13:22;;-1:-1:-1;6797:36:22;;-1:-1:-1;6582:129:22;6832:1;6797:36;:::i;:::-;6750:84;;;;;;;:::i;:::-;6719:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6719:123:22;;-1:-1:-1;5882:1909:22;;-1:-1:-1;;;5882:1909:22;;6877:13;2693:2;6877:13;6914:27;2693:2;6939;6914:27;:::i;:::-;6877:65;;;;;;;:::i;:::-;6863:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6863:80:22;;-1:-1:-1;6984:13:22;;-1:-1:-1;1759:1:22;;-1:-1:-1;6984:13:22;;-1:-1:-1;7024:29:22;1759:1;7052;7024:29;:::i;:::-;6984:70;;;;;;;:::i;:::-;6951:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6951:111:22;;-1:-1:-1;7100:13:22;;-1:-1:-1;2048:2:22;;-1:-1:-1;7100:13:22;;-1:-1:-1;7144:33:22;2048:2;7176:1;7144:33;:::i;:::-;7100:78;;;;;;;:::i;:::-;7070:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7070:116:22;;-1:-1:-1;7210:13:22;;-1:-1:-1;2174:2:22;;-1:-1:-1;7210:13:22;;-1:-1:-1;7249:28:22;2174:2;7276:1;7249:28;:::i;:::-;7210:68;;;;;;;:::i;:::-;7194:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7194:85:22;;-1:-1:-1;7315:13:22;;-1:-1:-1;2394:2:22;;-1:-1:-1;7315:13:22;;-1:-1:-1;7357:31:22;2394:2;7387:1;7357:31;:::i;:::-;7315:74;;;;;;;:::i;:::-;7287:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7287:110:22;;-1:-1:-1;7434:13:22;;-1:-1:-1;2272:2:22;;-1:-1:-1;7434:13:22;;-1:-1:-1;7478:33:22;2272:2;7510:1;7478:33;:::i;:::-;7434:78;;;;;;;:::i;:::-;7405:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7405:115:22;;-1:-1:-1;7561:13:22;;-1:-1:-1;2499:1:22;;-1:-1:-1;7561:13:22;;-1:-1:-1;7609:37:22;2499:1;7645;7609:37;:::i;:::-;7561:86;;;;;;;:::i;:::-;7528:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7528:127:22;;-1:-1:-1;7694:13:22;;7528:127;-1:-1:-1;7694:13:22;;-1:-1:-1;7740:35:22;;-1:-1:-1;7528:127:22;7774:1;7740:35;:::i;:::-;7694:82;;;;;;;:::i;:::-;7663:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7663:121:22;;-1:-1:-1;;;;5882:1909:22;5496:2299;;;;;;;;;;;:::o;10432:1004::-;10594:27;10629:14;;;10677:701;10697:31;;;10677:701;;;10876:20;;10897:1;10876:23;;;;;;;:::i;:::-;;;;;;;10903:3;10876:30;:85;;;;;10950:9;10944:16;;;;;;;;:::i;:::-;10937:24;;-1:-1:-1;;;;;10910:51:22;;:15;;10926:6;10910:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10910:51:22;;;10876:85;10872:459;;;10987:17;;;11000:3;10987:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10973:31:22;-1:-1:-1;11019:9:22;11014:287;11038:3;11034:1;:7;11014:287;;;11064:15;;11089:5;:1;11093;11089:5;:::i;:::-;11080:14;;:6;:14;:::i;:::-;:18;;11097:1;11080:18;:::i;:::-;11064:35;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;11064:35:22;11060:136;;-1:-1:-1;11178:5:22;11060:136;11231:15;;11256:5;:1;11260;11256:5;:::i;:::-;11247:14;;:6;:14;:::i;:::-;:18;;11264:1;11247:18;:::i;:::-;11231:58;11275:5;:1;11279;11275:5;:::i;:::-;11266:14;;:6;:14;:::i;:::-;:18;;11283:1;11266:18;:::i;:::-;:22;;11287:1;11266:22;:::i;:::-;11231:58;;;;;;;:::i;:::-;11207:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11207:14:22;;:11;;-1:-1:-1;11219:1:22;;-1:-1:-1;11207:14:22;;;;;;:::i;:::-;;;;;;;;;;:83;11043:3;;11014:287;;;;11318:4;11310:12;;10872:459;11348:20;;11369:1;11348:23;;;;;;;:::i;:::-;;;;;;;11338:33;;;;;:::i;:::-;;-1:-1:-1;10730:3:22;;10677:701;;;;11391:5;11383:48;;;;-1:-1:-1;;;11383:48:22;;15165:2:24;11383:48:22;;;15147:21:24;15204:2;15184:18;;;15177:30;15243:32;15223:18;;;15216:60;15293:18;;11383:48:22;14963:354:24;11383:48:22;10623:813;;10432:1004;;;;;;;:::o;4006:118::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;4064:6:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;4064:16:22::1;-1:-1:-1::0;;;;4064:16:22;;::::1;;::::0;;4091:28:::1;::::0;::::1;::::0;::::1;::::0;4073:7;7282:14:24;7275:22;7257:41;;7245:2;7230:18;;7117:187;4091:28:22::1;;;;;;;;4006:118:::0;:::o;4685:225::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;4779:55:::1;::::0;;;:30:::1;:55;::::0;;;;;:62;;-1:-1:-1;;4779:62:22::1;4837:4;4779:62;::::0;;4852:53;4810:23;;4852:53:::1;::::0;::::1;4685:225:::0;:::o;3773:229::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;-1:-1:-1;;;;;3847:22:22;::::1;3839:63;;;::::0;-1:-1:-1;;;3839:63:22;;15879:2:24;3839:63:22::1;::::0;::::1;15861:21:24::0;15918:2;15898:18;;;15891:30;15957;15937:18;;;15930:58;16005:18;;3839:63:22::1;15677:352:24::0;3839:63:22::1;3908:16;3927:5:::0;;-1:-1:-1;;;;;3938:16:22;;::::1;-1:-1:-1::0;;;;;;3938:16:22;::::1;::::0;::::1;::::0;;3965:32:::1;::::0;3927:5;;;::::1;::::0;;;3965:32:::1;::::0;3908:16;3965:32:::1;3833:169;3773:229:::0;:::o;4914:231::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;5069:5:::1;5011:55:::0;;;:30:::1;:55;::::0;;;;;:63;;-1:-1:-1;;5011:63:22::1;::::0;;5085:55;5042:23;;5085:55:::1;::::0;::::1;4914:231:::0;:::o;4436:245::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;3728:6:::1;::::0;-1:-1:-1;;;3728:6:22;::::1;;;3727:7;3719:38;;;::::0;-1:-1:-1;;;3719:38:22;;16236:2:24;3719:38:22::1;::::0;::::1;16218:21:24::0;16275:2;16255:18;;;16248:30;-1:-1:-1;;;16294:18:24;;;16287:48;16352:18;;3719:38:22::1;16034:342:24::0;3719:38:22::1;4536:9:::2;4531:146;4551:21:::0;;::::2;4531:146;;;4594:18;:33;4613:10;;4624:1;4613:13;;;;;;;:::i;:::-;;::::0;;::::2;::::0;;;::::2;;4594:33:::0;;-1:-1:-1;4594:33:22;::::2;::::0;;;;;;-1:-1:-1;4594:33:22;4587:40;;-1:-1:-1;;;;;;4587:40:22::2;::::0;;4656:10;;4667:1;4656:13;;::::2;;;;;:::i;:::-;;;;;;;4640:30;;;;;;;;;;4574:3;;4531:146;;;;4436:245:::0;;:::o;4128:304::-;3636:5;;-1:-1:-1;;;;;3636:5:22;3622:10;:19;3614:58;;;;-1:-1:-1;;;3614:58:22;;;;;;;:::i;:::-;3728:6:::1;::::0;-1:-1:-1;;;3728:6:22;::::1;;;3727:7;3719:38;;;::::0;-1:-1:-1;;;3719:38:22;;16236:2:24;3719:38:22::1;::::0;::::1;16218:21:24::0;16275:2;16255:18;;;16248:30;-1:-1:-1;;;16294:18:24;;;16287:48;16352:18;;3719:38:22::1;16034:342:24::0;3719:38:22::1;4267:9:::2;4262:166;4282:21:::0;;::::2;4262:166;;;4354:9;;4364:1;4354:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;4318:18;:33;4337:10;;4348:1;4337:13;;;;;;;:::i;:::-;;;;;;;4318:33;;;;;;;;;;;;:48;;;;;-1:-1:-1::0;;;;;4318:48:22::2;;;;;-1:-1:-1::0;;;;;4318:48:22::2;;;;;;4408:9;;4418:1;4408:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4379:42:22::2;4393:10;;4404:1;4393:13;;;;;;;:::i;:::-;;;;;;;4379:42;;;;;;;;;;4305:3;;4262:166;;;;4128:304:::0;;;;:::o;9562:866::-;9695:19;;;;;;9798:576;9818:31;;;9798:576;;;9968:20;;9989:1;9968:23;;;;;;;:::i;:::-;;;;;;;9995:2;9968:29;9964:363;;-1:-1:-1;;;10017:15:22;;10033:6;10017:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;10017:55:22;;;10009:86;;;;-1:-1:-1;;;10009:86:22;;16583:2:24;10009:86:22;;;16565:21:24;16622:2;16602:18;;;16595:30;-1:-1:-1;;;16641:18:24;;;16634:48;16699:18;;10009:86:22;16381:342:24;10009:86:22;10119:70;10150:15;;10166:10;:6;10175:1;10166:10;:::i;:::-;10150:38;10177:10;:6;10186:1;10177:10;:::i;:::-;10150:38;;;;;;;:::i;:::-;10119:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10119:30:22;;-1:-1:-1;;;10119:70:22:i;:::-;10105:84;-1:-1:-1;10214:15:22;;10230:10;:6;10239:1;10230:10;:::i;:::-;10214:27;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;10267:15:22;;-1:-1:-1;10267:15:22;10283:11;:6;10292:2;10283:11;:::i;:::-;10267:28;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;10314:4:22;;-1:-1:-1;;9964:363:22;10344:20;;10365:1;10344:23;;;;;;;:::i;:::-;;;;;;;10334:33;;;;;:::i;:::-;;-1:-1:-1;9851:3:22;;9798:576;;;;10387:5;10379:44;;;;-1:-1:-1;;;10379:44:22;;16930:2:24;10379:44:22;;;16912:21:24;16969:2;16949:18;;;16942:30;17008:28;16988:18;;;16981:56;17054:18;;10379:44:22;16728:350:24;10379:44:22;9744:684;;9562:866;;;;;;;;:::o;7799:822::-;7937:25;;7998:14;;;8046:516;8066:31;;;8046:516;;;8220:20;;8241:1;8220:23;;;;;;;:::i;:::-;;;;;;;8247:3;8220:30;8216:299;;8310:18;8270:15;;8286:6;8270:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;8270:60:22;;;8262:91;;;;-1:-1:-1;;;8262:91:22;;16583:2:24;8262:91:22;;;16565:21:24;16622:2;16602:18;;;16595:30;-1:-1:-1;;;16641:18:24;;;16634:48;16699:18;;8262:91:22;16381:342:24;8262:91:22;8378:15;;8394:10;:6;8403:1;8394:10;:::i;:::-;8378:39;8405:11;:6;8414:2;8405:11;:::i;:::-;8378:39;;;;;;;:::i;:::-;8363:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8363:54:22;;-1:-1:-1;8443:15:22;;-1:-1:-1;8443:15:22;;-1:-1:-1;8459:11:22;;-1:-1:-1;8459:6:22;8468:2;8459:11;:::i;:::-;8443:41;8471:12;:6;8480:3;8471:12;:::i;:::-;8443:41;;;;;;;:::i;:::-;8427:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8427:57:22;;-1:-1:-1;8502:4:22;;-1:-1:-1;;;;8216:299:22;8532:20;;8553:1;8532:23;;;;;;;:::i;:::-;;;;;;;8522:33;;;;;:::i;:::-;;-1:-1:-1;8099:3:22;;8046:516;;;;8575:5;8567:49;;;;-1:-1:-1;;;8567:49:22;;17285:2:24;8567:49:22;;;17267:21:24;17324:2;17304:18;;;17297:30;17363:33;17343:18;;;17336:61;17414:18;;8567:49:22;17083:355:24;8567:49:22;7992:629;;7799:822;;;;;;;:::o;8625:933::-;8784:19;;;;;;8893:610;8913:31;;;8893:610;;;9062:20;;9083:1;9062:23;;;;;;;:::i;:::-;;;;;;;9089:2;9062:29;:84;;;;;9135:9;9129:16;;;;;;;;:::i;:::-;9122:24;;-1:-1:-1;;;;;9095:51:22;;:15;;9111:6;9095:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;9095:51:22;;;9062:84;9058:398;;;9172:70;9203:15;;9219:10;:6;9228:1;9219:10;:::i;9172:70::-;9158:84;-1:-1:-1;9262:71:22;9293:15;;9309:10;:6;9318:1;9309:10;:::i;:::-;9293:39;9320:11;:6;9329:2;9320:11;:::i;9262:71::-;9252:81;-1:-1:-1;9353:72:22;9384:15;;9400:11;:6;9409:2;9400:11;:::i;:::-;9384:40;9412:11;:6;9421:2;9412:11;:::i;9353:72::-;9343:82;;9443:4;9435:12;;9058:398;9473:20;;9494:1;9473:23;;;;;;;:::i;:::-;;;;;;;9463:33;;;;;:::i;:::-;;-1:-1:-1;8946:3:22;;8893:610;;;;9516:5;9508:45;;;;-1:-1:-1;;;9508:45:22;;17645:2:24;9508:45:22;;;17627:21:24;17684:2;17664:18;;;17657:30;17723:29;17703:18;;;17696:57;17770:18;;9508:45:22;17443:351:24;9508:45:22;8839:719;;8625:933;;;;;;;;;:::o;5149:343::-;5303:12;;;5313:1;5303:12;;;;;;;;;5264:4;;;;5303:12;;;;;;;;;;;-1:-1:-1;;5276:39:22;-1:-1:-1;5338:1:22;5321:98;5345:1;5341;:5;5321:98;;;5408:3;5389:12;5402:1;5389:15;;;;;;;;:::i;:::-;;;;;;;:22;;5361:11;5377:1;5373;:5;;;;:::i;:::-;5361:18;;;;;;;;:::i;:::-;;;;:51;-1:-1:-1;;;;;5361:51:22;;;;;;;;-1:-1:-1;5348:3:22;;5321:98;;;;5431:56;5453:11;5466:20;5431:21;:56::i;:::-;5424:63;;;5149:343;;;;;:::o;11440:643::-;11616:4;;;11652:410;11676:20;:27;11672:1;:31;11652:410;;;11798:28;11931:1;11829:98;11862:15;;11878:6;11862:56;11894:20;11915:1;11894:23;;;;;;;;:::i;:::-;;;;;;;11885:6;:32;;;;:::i;:::-;11862:56;;;;;;;:::i;:::-;11845:74;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;11845:74:22;;;;;;;;;;11829:98;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;;11798:134;;11972:16;11989:1;11972:19;;;;;;;;:::i;:::-;;;;;;;11948:20;:43;11940:74;;;;-1:-1:-1;;;11940:74:22;;18778:2:24;11940:74:22;;;18760:21:24;18817:2;18797:18;;;18790:30;-1:-1:-1;;;18836:18:24;;;18829:48;18894:18;;11940:74:22;18576:342:24;11940:74:22;12032:20;12053:1;12032:23;;;;;;;;:::i;:::-;;;;;;;12022:33;;;;;:::i;:::-;;-1:-1:-1;;11705:3:22;;11652:410;;;-1:-1:-1;12074:4:22;;11440:643;-1:-1:-1;;;;;;11440:643:22:o;1965:1238:19:-;523:17;;;;;;;;;;;;-1:-1:-1;;;523:17:19;;;;;2056:15;;;;;;2037:7;;2056:49;;2052:78;;-1:-1:-1;2122:1:19;;1965:1238;-1:-1:-1;1965:1238:19:o;2052:78::-;2135:12;2291:26;2309:4;2314:1;2309:7;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;2309:7:19;2291:17;:26::i;:::-;2245;2263:4;2268:1;2263:7;;;;;;;;:::i;2245:26::-;:37;;2280:2;2245:37;:::i;:::-;2198:26;2216:4;2221:1;2216:7;;;;;;;;:::i;2198:26::-;:38;;2233:3;2198:38;:::i;:::-;2150:26;2168:4;2173:1;2168:7;;;;;;;;:::i;2150:26::-;:39;;2185:4;2150:39;:::i;:::-;:86;;;;:::i;:::-;:132;;;;:::i;:::-;:167;;;;:::i;:::-;2135:182;;2323:13;2373:26;2391:4;2396:1;2391:7;;;;;;;;:::i;2373:26::-;2339;2357:4;2362:1;2357:7;;;;;;;;:::i;2339:26::-;:31;;2368:2;2339:31;:::i;:::-;:60;;;;:::i;:::-;2323:76;;2405:11;2453:26;2471:4;2476:1;2471:7;;;;;;;;:::i;2453:26::-;2419;2437:4;2442:1;2437:7;;;;;;;;:::i;2419:26::-;:31;;2448:2;2419:31;:::i;:::-;:60;;;;:::i;:::-;2405:74;;173:4;2493;:29;;2485:64;;;;-1:-1:-1;;;2485:64:19;;19125:2:24;2485:64:19;;;19107:21:24;19164:2;19144:18;;;19137:30;-1:-1:-1;;;19183:18:24;;;19176:52;19245:18;;2485:64:19;18923:346:24;2485:64:19;2572:1;2563:5;:10;;:25;;;;;2586:2;2577:5;:11;;2563:25;2555:51;;;;-1:-1:-1;;;2555:51:19;;19476:2:24;2555:51:19;;;19458:21:24;19515:2;19495:18;;;19488:30;-1:-1:-1;;;19534:18:24;;;19527:43;19587:18;;2555:51:19;19274:337:24;2555:51:19;2627:1;2620:3;:8;;:46;;;;;2639:27;2654:5;2661:4;2639:14;:27::i;:::-;2632:3;:34;;2620:46;2612:70;;;;-1:-1:-1;;;2612:70:19;;19818:2:24;2612:70:19;;;19800:21:24;19857:2;19837:18;;;19830:30;-1:-1:-1;;;19876:18:24;;;19869:41;19927:18;;2612:70:19;19616:335:24;2612:70:19;2727:17;173:4;2754:108;2798:4;2794:1;:8;2754:108;;;2830:13;2841:1;2830:10;:13::i;:::-;:25;;2852:3;2830:25;;;2846:3;2830:25;2817:38;;;;;;:::i;:::-;;-1:-1:-1;2804:3:19;;2754:108;;;-1:-1:-1;2924:1:19;2907:87;2931:5;2927:1;:9;2907:87;;;2964:23;2979:1;2982:4;2964:14;:23::i;:::-;2951:36;;;;:::i;:::-;;-1:-1:-1;2938:3:19;;2907:87;;;-1:-1:-1;3046:7:19;3052:1;3046:3;:7;:::i;:::-;3033:20;;;;:::i;:::-;;-1:-1:-1;3171:27:19;350:5;3033:20;3171:27;:::i;:::-;3164:34;1965:1238;-1:-1:-1;;;;;;1965:1238:19:o;3465:401::-;3570:4;3582:17;3602:26;3623:4;3602:20;:26::i;:::-;3582:46;-1:-1:-1;3634:31:19;3680:38;350:5;3680:20;:38;:::i;:::-;3668:50;;:9;:50;:::i;:::-;3634:84;;3756:9;3737:15;:28;;:73;;;;;3801:9;3775:23;:35;3737:73;:124;;;;;3846:15;3820:23;:41;3737:124;3724:137;3465:401;-1:-1:-1;;;;;3465:401:19:o;704:116::-;772:7;794:21;813:2;794:16;;;;:21;:::i;:::-;787:28;;;704:116;-1:-1:-1;;704:116:19:o;1376:421::-;1452:7;1484:1;1475:5;:10;;:25;;;;;1498:2;1489:5;:11;;1475:25;1467:51;;;;-1:-1:-1;;;1467:51:19;;19476:2:24;1467:51:19;;;19458:21:24;19515:2;19495:18;;;19488:30;-1:-1:-1;;;19534:18:24;;;19527:43;19587:18;;1467:51:19;19274:337:24;1467:51:19;1573:5;1582:1;1573:10;1569:64;;1600:16;1611:4;1600:10;:16::i;:::-;:26;;1624:2;1600:26;;;1619:2;1600:26;1593:33;;;;;;1569:64;1671:5;1680:1;1671:10;:24;;;;1685:5;1694:1;1685:10;1671:24;:38;;;;1699:5;1708:1;1699:10;1671:38;:53;;;;1713:5;1722:2;1713:11;1671:53;1667:83;;;-1:-1:-1;1741:2:19;1734:9;;1667:83;-1:-1:-1;1790:2:19;1376:421;;;;:::o;975:199::-;1032:4;1048:8;1055:1;1048:4;:8;:::i;:::-;:13;1044:31;;-1:-1:-1;1070:5:19;;975:199;-1:-1:-1;975:199:19:o;1044:31::-;1085:10;1092:3;1085:4;:10;:::i;:::-;:15;1081:32;;-1:-1:-1;1109:4:19;;975:199;-1:-1:-1;975:199:19:o;1081:32::-;1123:10;1130:3;1123:4;:10;:::i;:::-;:15;1119:33;;-1:-1:-1;1147:5:19;;975:199;-1:-1:-1;975:199:19:o;1119:33::-;-1:-1:-1;1165:4:19;;975:199;-1:-1:-1;975:199:19:o;14:347:24:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:24;;-1:-1:-1;;;;;202:30:24;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:367::-;429:8;439:6;493:3;486:4;478:6;474:17;470:27;460:55;;511:1;508;501:12;460:55;-1:-1:-1;534:20:24;;-1:-1:-1;;;;;566:30:24;;563:50;;;609:1;606;599:12;563:50;646:4;638:6;634:17;622:29;;706:3;699:4;689:6;686:1;682:14;674:6;670:27;666:38;663:47;660:67;;;723:1;720;713:12;738:1611;918:6;926;934;942;950;958;966;974;982;990;1043:3;1031:9;1022:7;1018:23;1014:33;1011:53;;;1060:1;1057;1050:12;1011:53;1105:23;;;-1:-1:-1;1203:2:24;1188:18;;1175:32;-1:-1:-1;;;;;1219:30:24;;1216:50;;;1262:1;1259;1252:12;1216:50;1301:58;1351:7;1342:6;1331:9;1327:22;1301:58;:::i;:::-;1378:8;;-1:-1:-1;1275:84:24;-1:-1:-1;;1466:2:24;1451:18;;1438:32;-1:-1:-1;;;;;1482:32:24;;1479:52;;;1527:1;1524;1517:12;1479:52;1566:72;1630:7;1619:8;1608:9;1604:24;1566:72;:::i;:::-;1657:8;;-1:-1:-1;1540:98:24;-1:-1:-1;;1745:2:24;1730:18;;1717:32;-1:-1:-1;;;;;1761:32:24;;1758:52;;;1806:1;1803;1796:12;1758:52;1845:60;1897:7;1886:8;1875:9;1871:24;1845:60;:::i;:::-;1924:8;;-1:-1:-1;1819:86:24;-1:-1:-1;;2012:3:24;1997:19;;1984:33;-1:-1:-1;;;;;2029:32:24;;2026:52;;;2074:1;2071;2064:12;2026:52;2113:72;2177:7;2166:8;2155:9;2151:24;2113:72;:::i;:::-;738:1611;;;;-1:-1:-1;738:1611:24;;;;;;;;;;;;;2312:3;2297:19;;;2284:33;;738:1611;-1:-1:-1;;;;738:1611:24:o;2617:118::-;2703:5;2696:13;2689:21;2682:5;2679:32;2669:60;;2725:1;2722;2715:12;2669:60;2617:118;:::o;2740:538::-;2816:6;2824;2832;2885:2;2873:9;2864:7;2860:23;2856:32;2853:52;;;2901:1;2898;2891:12;2853:52;2941:9;2928:23;-1:-1:-1;;;;;2966:6:24;2963:30;2960:50;;;3006:1;3003;2996:12;2960:50;3045:58;3095:7;3086:6;3075:9;3071:22;3045:58;:::i;:::-;3122:8;;-1:-1:-1;3019:84:24;-1:-1:-1;;3207:2:24;3192:18;;3179:32;3220:28;3179:32;3220:28;:::i;:::-;3267:5;3257:15;;;2740:538;;;;;:::o;3283:289::-;3325:3;3363:5;3357:12;3390:6;3385:3;3378:19;3446:6;3439:4;3432:5;3428:16;3421:4;3416:3;3412:14;3406:47;3498:1;3491:4;3482:6;3477:3;3473:16;3469:27;3462:38;3561:4;3554:2;3550:7;3545:2;3537:6;3533:15;3529:29;3524:3;3520:39;3516:50;3509:57;;;3283:289;;;;:::o;3577:1367::-;4062:3;4051:9;4044:22;4025:4;4089:46;4130:3;4119:9;4115:19;4107:6;4089:46;:::i;:::-;4183:9;4175:6;4171:22;4166:2;4155:9;4151:18;4144:50;4217:33;4243:6;4235;4217:33;:::i;:::-;4203:47;;4298:9;4290:6;4286:22;4281:2;4270:9;4266:18;4259:50;4332:33;4358:6;4350;4332:33;:::i;:::-;4318:47;;4413:9;4405:6;4401:22;4396:2;4385:9;4381:18;4374:50;4447:33;4473:6;4465;4447:33;:::i;:::-;4433:47;;4529:9;4521:6;4517:22;4511:3;4500:9;4496:19;4489:51;4563:33;4589:6;4581;4563:33;:::i;:::-;4549:47;;4645:9;4637:6;4633:22;4627:3;4616:9;4612:19;4605:51;4679:33;4705:6;4697;4679:33;:::i;:::-;4665:47;;4761:9;4753:6;4749:22;4743:3;4732:9;4728:19;4721:51;4795:33;4821:6;4813;4795:33;:::i;:::-;4781:47;;4877:9;4869:6;4865:22;4859:3;4848:9;4844:19;4837:51;4905:33;4931:6;4923;4905:33;:::i;:::-;4897:41;3577:1367;-1:-1:-1;;;;;;;;;;;3577:1367:24:o;4949:899::-;5079:6;5087;5095;5103;5111;5164:2;5152:9;5143:7;5139:23;5135:32;5132:52;;;5180:1;5177;5170:12;5132:52;5220:9;5207:23;-1:-1:-1;;;;;5245:6:24;5242:30;5239:50;;;5285:1;5282;5275:12;5239:50;5324:58;5374:7;5365:6;5354:9;5350:22;5324:58;:::i;:::-;5401:8;;-1:-1:-1;5298:84:24;-1:-1:-1;;5489:2:24;5474:18;;5461:32;-1:-1:-1;;;;;5505:32:24;;5502:52;;;5550:1;5547;5540:12;5502:52;5589:72;5653:7;5642:8;5631:9;5627:24;5589:72;:::i;:::-;5680:8;;-1:-1:-1;5563:98:24;-1:-1:-1;;5765:2:24;5750:18;;5737:32;5798:1;5788:12;;5778:40;;5814:1;5811;5804:12;5778:40;5837:5;5827:15;;;4949:899;;;;;;;;:::o;5853:782::-;6015:4;6063:2;6052:9;6048:18;6093:2;6082:9;6075:21;6116:6;6151;6145:13;6182:6;6174;6167:22;6220:2;6209:9;6205:18;6198:25;;6282:2;6272:6;6269:1;6265:14;6254:9;6250:30;6246:39;6232:53;;6320:2;6312:6;6308:15;6341:1;6351:255;6365:6;6362:1;6359:13;6351:255;;;6458:2;6454:7;6442:9;6434:6;6430:22;6426:36;6421:3;6414:49;6486:40;6519:6;6510;6504:13;6486:40;:::i;:::-;6476:50;-1:-1:-1;6561:2:24;6584:12;;;;6549:15;;;;;6387:1;6380:9;6351:255;;;-1:-1:-1;6623:6:24;;5853:782;-1:-1:-1;;;;;;5853:782:24:o;6640:241::-;6696:6;6749:2;6737:9;6728:7;6724:23;6720:32;6717:52;;;6765:1;6762;6755:12;6717:52;6804:9;6791:23;6823:28;6845:5;6823:28;:::i;:::-;6870:5;6640:241;-1:-1:-1;;;6640:241:24:o;6886:226::-;6945:6;6998:2;6986:9;6977:7;6973:23;6969:32;6966:52;;;7014:1;7011;7004:12;6966:52;-1:-1:-1;7059:23:24;;6886:226;-1:-1:-1;6886:226:24:o;7309:286::-;7368:6;7421:2;7409:9;7400:7;7396:23;7392:32;7389:52;;;7437:1;7434;7427:12;7389:52;7463:23;;-1:-1:-1;;;;;7515:31:24;;7505:42;;7495:70;;7561:1;7558;7551:12;7808:437;7894:6;7902;7955:2;7943:9;7934:7;7930:23;7926:32;7923:52;;;7971:1;7968;7961:12;7923:52;8011:9;7998:23;-1:-1:-1;;;;;8036:6:24;8033:30;8030:50;;;8076:1;8073;8066:12;8030:50;8115:70;8177:7;8168:6;8157:9;8153:22;8115:70;:::i;:::-;8204:8;;8089:96;;-1:-1:-1;7808:437:24;-1:-1:-1;;;;7808:437:24:o;8250:768::-;8372:6;8380;8388;8396;8449:2;8437:9;8428:7;8424:23;8420:32;8417:52;;;8465:1;8462;8455:12;8417:52;8505:9;8492:23;-1:-1:-1;;;;;8530:6:24;8527:30;8524:50;;;8570:1;8567;8560:12;8524:50;8609:70;8671:7;8662:6;8651:9;8647:22;8609:70;:::i;:::-;8698:8;;-1:-1:-1;8583:96:24;-1:-1:-1;;8786:2:24;8771:18;;8758:32;-1:-1:-1;;;;;8802:32:24;;8799:52;;;8847:1;8844;8837:12;8799:52;8886:72;8950:7;8939:8;8928:9;8924:24;8886:72;:::i;:::-;8250:768;;;;-1:-1:-1;8977:8:24;-1:-1:-1;;;;8250:768:24:o;9023:740::-;9129:6;9137;9145;9153;9206:2;9194:9;9185:7;9181:23;9177:32;9174:52;;;9222:1;9219;9212:12;9174:52;9262:9;9249:23;-1:-1:-1;;;;;9287:6:24;9284:30;9281:50;;;9327:1;9324;9317:12;9281:50;9366:58;9416:7;9407:6;9396:9;9392:22;9366:58;:::i;10106:379::-;10299:2;10288:9;10281:21;10262:4;10325:45;10366:2;10355:9;10351:18;10343:6;10325:45;:::i;:::-;10418:9;10410:6;10406:22;10401:2;10390:9;10386:18;10379:50;10446:33;10472:6;10464;10446:33;:::i;11161:127::-;11222:10;11217:3;11213:20;11210:1;11203:31;11253:4;11250:1;11243:15;11277:4;11274:1;11267:15;11293:128;11360:9;;;11381:11;;;11378:37;;;11395:18;;:::i;11426:127::-;11487:10;11482:3;11478:20;11475:1;11468:31;11518:4;11515:1;11508:15;11542:4;11539:1;11532:15;12321:355;12442:9;12453;12495:8;12483:10;12480:24;12477:44;;;12517:1;12514;12507:12;12477:44;12546:6;12536:8;12533:20;12530:40;;;12566:1;12563;12556:12;12530:40;-1:-1:-1;;12608:1:24;12604:18;;;12592:31;;12645:25;;;;;-1:-1:-1;12321:355:24:o;13034:771::-;13279:2;13268:9;13261:21;13318:6;13313:2;13302:9;13298:18;13291:34;13375:6;13367;13362:2;13351:9;13347:18;13334:48;13431:1;13426:2;13402:22;;;13398:31;;13391:42;;;-1:-1:-1;;13492:2:24;13471:15;;13467:29;13452:45;;13539:18;;;13535:27;;13528:4;13513:20;;13506:57;13579:11;;;13572:27;;;-1:-1:-1;;;;;13611:31:24;;13608:51;;;13655:1;13652;13645:12;13608:51;13689:6;13686:1;13682:14;13740:6;13732;13726:3;13722:2;13718:12;13705:42;13772:15;13764:35;;;;-1:-1:-1;;;;;;13034:771:24:o;13810:245::-;13877:6;13930:2;13918:9;13909:7;13905:23;13901:32;13898:52;;;13946:1;13943;13936:12;13898:52;13978:9;13972:16;13997:28;14019:5;13997:28;:::i;14060:125::-;14125:9;;;14146:10;;;14143:36;;;14159:18;;:::i;14190:331::-;14295:9;14306;14348:8;14336:10;14333:24;14330:44;;;14370:1;14367;14360:12;14330:44;14399:6;14389:8;14386:20;14383:40;;;14419:1;14416;14409:12;14383:40;-1:-1:-1;;14445:23:24;;;14490:25;;;;;-1:-1:-1;14190:331:24:o;14526:127::-;14587:10;14582:3;14578:20;14575:1;14568:31;14618:4;14615:1;14608:15;14642:4;14639:1;14632:15;14790:168;14863:9;;;14894;;14911:15;;;14905:22;;14891:37;14881:71;;14932:18;;:::i;15322:350::-;15524:2;15506:21;;;15563:2;15543:18;;;15536:30;15602:28;15597:2;15582:18;;15575:56;15663:2;15648:18;;15322:350::o;17799:277::-;17988:6;17980;17975:3;17962:33;17944:3;18014:16;;18039:13;;;18014:16;17799:277;-1:-1:-1;17799:277:24:o;18081:301::-;18210:3;18248:6;18242:13;18294:6;18287:4;18279:6;18275:17;18270:3;18264:37;18356:1;18320:16;;18345:13;;;-1:-1:-1;18320:16:24;18081:301;-1:-1:-1;18081:301:24:o;18387:184::-;18457:6;18510:2;18498:9;18489:7;18485:23;18481:32;18478:52;;;18526:1;18523;18516:12;18478:52;-1:-1:-1;18549:16:24;;18387:184;-1:-1:-1;18387:184:24:o;19956:151::-;20046:4;20039:12;;;20025;;;20021:31;;20064:14;;20061:40;;;20081:18;;:::i;20112:209::-;20144:1;20170;20160:132;;20214:10;20209:3;20205:20;20202:1;20195:31;20249:4;20246:1;20239:15;20277:4;20274:1;20267:15;20160:132;-1:-1:-1;20306:9:24;;20112:209::o",
|
|
246
|
+
"linkReferences": {}
|
|
247
|
+
},
|
|
248
|
+
"methodIdentifiers": {
|
|
249
|
+
"addCertificateRegistryRoot(bytes32)": "3a316e62",
|
|
250
|
+
"addVerifiers(bytes32[],address[])": "a6df2c01",
|
|
251
|
+
"admin()": "f851a440",
|
|
252
|
+
"getAgeProofInputs(bytes,uint256[])": "b2b37a4c",
|
|
253
|
+
"getCountryProofInputs(bytes,uint256[],uint8)": "126f7559",
|
|
254
|
+
"getDateProofInputs(bytes,uint256[],uint8)": "ec1374cd",
|
|
255
|
+
"getDiscloseProofInputs(bytes,uint256[])": "ddf3eec9",
|
|
256
|
+
"getDisclosedData(bytes,bool)": "03d37eae",
|
|
257
|
+
"isValidCertificateRegistryRoot(bytes32)": "45e21c90",
|
|
258
|
+
"paused()": "5c975abb",
|
|
259
|
+
"removeCertificateRegistryRoot(bytes32)": "886c3533",
|
|
260
|
+
"removeVerifiers(bytes32[])": "8d6937b8",
|
|
261
|
+
"setPaused(bool)": "16c38b3c",
|
|
262
|
+
"transferAdmin(address)": "75829def",
|
|
263
|
+
"verifyProof(bytes32,bytes,bytes32[],bytes,uint256[],uint256)": "032fda09",
|
|
264
|
+
"vkeyHashToVerifier(bytes32)": "8163f231"
|
|
265
|
+
},
|
|
266
|
+
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldAdmin\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"certificateRegistryRoot\",\"type\":\"bytes32\"}],\"name\":\"CertificateRegistryRootAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"certificateRegistryRoot\",\"type\":\"bytes32\"}],\"name\":\"CertificateRegistryRootRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"PausedStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"VerifierAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"}],\"name\":\"VerifierRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"ZKPassportVerifierDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"certificateRegistryRoot\",\"type\":\"bytes32\"}],\"name\":\"addCertificateRegistryRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"vkeyHashes\",\"type\":\"bytes32[]\"},{\"internalType\":\"address[]\",\"name\":\"verifiers\",\"type\":\"address[]\"}],\"name\":\"addVerifiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"committedInputCounts\",\"type\":\"uint256[]\"}],\"name\":\"getAgeProofInputs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentDate\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"minAge\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"maxAge\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"committedInputCounts\",\"type\":\"uint256[]\"},{\"internalType\":\"enum ProofType\",\"name\":\"proofType\",\"type\":\"uint8\"}],\"name\":\"getCountryProofInputs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"countryList\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"committedInputCounts\",\"type\":\"uint256[]\"},{\"internalType\":\"enum ProofType\",\"name\":\"proofType\",\"type\":\"uint8\"}],\"name\":\"getDateProofInputs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currentDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDate\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"committedInputCounts\",\"type\":\"uint256[]\"}],\"name\":\"getDiscloseProofInputs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"discloseMask\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"discloseBytes\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"discloseBytes\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"isIDCard\",\"type\":\"bool\"}],\"name\":\"getDisclosedData\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"issuingCountry\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"nationality\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"gender\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"birthDate\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"expiryDate\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"documentNumber\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"documentType\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isValidCertificateRegistryRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"certificateRegistryRoot\",\"type\":\"bytes32\"}],\"name\":\"removeCertificateRegistryRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"vkeyHashes\",\"type\":\"bytes32[]\"}],\"name\":\"removeVerifiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_paused\",\"type\":\"bool\"}],\"name\":\"setPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"transferAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"publicInputs\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"internalType\":\"uint256[]\",\"name\":\"committedInputCounts\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"validityPeriodInDays\",\"type\":\"uint256\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"vkeyHashToVerifier\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Constructor\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ZKPassportVerifier.sol\":\"ZKPassportVerifier\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57\",\"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP\"]},\"src/DateUtils.sol\":{\"keccak256\":\"0xd3fe7fd4a910fe7ef1e4cf22e09a94b2cb1de70e9ccf4bc0015fa2d9da35da95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c842a171154773f3a56b4f0842fb7a9811b865dce05abad4060659db18553500\",\"dweb:/ipfs/QmSs5UgmLUPSqL43khS7WbM15iKKAz4bwEpbEu319m9caL\"]},\"src/OuterCount4.sol\":{\"keccak256\":\"0xe4697cb6acec10e84ddde4d630bc48e9c1eca97bea278bb824ec7cedd493e2ce\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://975e16a56e42ab30ca715f9e149f6ad4ef9c756feeb1c825350ed793f86fd928\",\"dweb:/ipfs/QmaZn4onMPPu6tCP7otgs5pzs3zSp6SH58FrLE9PTuomiM\"]},\"src/ZKPassportVerifier.sol\":{\"keccak256\":\"0x53fc28ff30c815b9452ff89bfeef1168ac36b696e058aee125fd8ade4478cebc\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://353e68d7f4cade44f57cb41807a64b81f469c5e5fcbbd7566437b152c8fef6c3\",\"dweb:/ipfs/QmV8mmAHLVx8JrXsUEZNrGipHV8JyHJDsqj9vAPEUPeDJ5\"]}},\"version\":1}",
|
|
267
|
+
"metadata": {
|
|
268
|
+
"compiler": { "version": "0.8.29+commit.ab55807c" },
|
|
269
|
+
"language": "Solidity",
|
|
270
|
+
"output": {
|
|
271
|
+
"abi": [
|
|
272
|
+
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
|
|
273
|
+
{
|
|
274
|
+
"inputs": [
|
|
275
|
+
{ "internalType": "address", "name": "oldAdmin", "type": "address", "indexed": true },
|
|
276
|
+
{ "internalType": "address", "name": "newAdmin", "type": "address", "indexed": true }
|
|
277
|
+
],
|
|
278
|
+
"type": "event",
|
|
279
|
+
"name": "AdminUpdated",
|
|
280
|
+
"anonymous": false
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"inputs": [
|
|
284
|
+
{
|
|
285
|
+
"internalType": "bytes32",
|
|
286
|
+
"name": "certificateRegistryRoot",
|
|
287
|
+
"type": "bytes32",
|
|
288
|
+
"indexed": true
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"type": "event",
|
|
292
|
+
"name": "CertificateRegistryRootAdded",
|
|
293
|
+
"anonymous": false
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"inputs": [
|
|
297
|
+
{
|
|
298
|
+
"internalType": "bytes32",
|
|
299
|
+
"name": "certificateRegistryRoot",
|
|
300
|
+
"type": "bytes32",
|
|
301
|
+
"indexed": true
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"type": "event",
|
|
305
|
+
"name": "CertificateRegistryRootRemoved",
|
|
306
|
+
"anonymous": false
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"inputs": [
|
|
310
|
+
{ "internalType": "bool", "name": "paused", "type": "bool", "indexed": false }
|
|
311
|
+
],
|
|
312
|
+
"type": "event",
|
|
313
|
+
"name": "PausedStatusChanged",
|
|
314
|
+
"anonymous": false
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"inputs": [
|
|
318
|
+
{ "internalType": "bytes32", "name": "vkeyHash", "type": "bytes32", "indexed": true },
|
|
319
|
+
{ "internalType": "address", "name": "verifier", "type": "address", "indexed": true }
|
|
320
|
+
],
|
|
321
|
+
"type": "event",
|
|
322
|
+
"name": "VerifierAdded",
|
|
323
|
+
"anonymous": false
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"inputs": [
|
|
327
|
+
{ "internalType": "bytes32", "name": "vkeyHash", "type": "bytes32", "indexed": true }
|
|
328
|
+
],
|
|
329
|
+
"type": "event",
|
|
330
|
+
"name": "VerifierRemoved",
|
|
331
|
+
"anonymous": false
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"inputs": [
|
|
335
|
+
{ "internalType": "address", "name": "admin", "type": "address", "indexed": true },
|
|
336
|
+
{ "internalType": "uint256", "name": "timestamp", "type": "uint256", "indexed": false }
|
|
337
|
+
],
|
|
338
|
+
"type": "event",
|
|
339
|
+
"name": "ZKPassportVerifierDeployed",
|
|
340
|
+
"anonymous": false
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"inputs": [
|
|
344
|
+
{ "internalType": "bytes32", "name": "certificateRegistryRoot", "type": "bytes32" }
|
|
345
|
+
],
|
|
346
|
+
"stateMutability": "nonpayable",
|
|
347
|
+
"type": "function",
|
|
348
|
+
"name": "addCertificateRegistryRoot"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"inputs": [
|
|
352
|
+
{ "internalType": "bytes32[]", "name": "vkeyHashes", "type": "bytes32[]" },
|
|
353
|
+
{ "internalType": "address[]", "name": "verifiers", "type": "address[]" }
|
|
354
|
+
],
|
|
355
|
+
"stateMutability": "nonpayable",
|
|
356
|
+
"type": "function",
|
|
357
|
+
"name": "addVerifiers"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"inputs": [],
|
|
361
|
+
"stateMutability": "view",
|
|
362
|
+
"type": "function",
|
|
363
|
+
"name": "admin",
|
|
364
|
+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }]
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"inputs": [
|
|
368
|
+
{ "internalType": "bytes", "name": "committedInputs", "type": "bytes" },
|
|
369
|
+
{ "internalType": "uint256[]", "name": "committedInputCounts", "type": "uint256[]" }
|
|
370
|
+
],
|
|
371
|
+
"stateMutability": "pure",
|
|
372
|
+
"type": "function",
|
|
373
|
+
"name": "getAgeProofInputs",
|
|
374
|
+
"outputs": [
|
|
375
|
+
{ "internalType": "uint256", "name": "currentDate", "type": "uint256" },
|
|
376
|
+
{ "internalType": "uint8", "name": "minAge", "type": "uint8" },
|
|
377
|
+
{ "internalType": "uint8", "name": "maxAge", "type": "uint8" }
|
|
378
|
+
]
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"inputs": [
|
|
382
|
+
{ "internalType": "bytes", "name": "committedInputs", "type": "bytes" },
|
|
383
|
+
{ "internalType": "uint256[]", "name": "committedInputCounts", "type": "uint256[]" },
|
|
384
|
+
{ "internalType": "enum ProofType", "name": "proofType", "type": "uint8" }
|
|
385
|
+
],
|
|
386
|
+
"stateMutability": "pure",
|
|
387
|
+
"type": "function",
|
|
388
|
+
"name": "getCountryProofInputs",
|
|
389
|
+
"outputs": [{ "internalType": "string[]", "name": "countryList", "type": "string[]" }]
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
"inputs": [
|
|
393
|
+
{ "internalType": "bytes", "name": "committedInputs", "type": "bytes" },
|
|
394
|
+
{ "internalType": "uint256[]", "name": "committedInputCounts", "type": "uint256[]" },
|
|
395
|
+
{ "internalType": "enum ProofType", "name": "proofType", "type": "uint8" }
|
|
396
|
+
],
|
|
397
|
+
"stateMutability": "pure",
|
|
398
|
+
"type": "function",
|
|
399
|
+
"name": "getDateProofInputs",
|
|
400
|
+
"outputs": [
|
|
401
|
+
{ "internalType": "uint256", "name": "currentDate", "type": "uint256" },
|
|
402
|
+
{ "internalType": "uint256", "name": "minDate", "type": "uint256" },
|
|
403
|
+
{ "internalType": "uint256", "name": "maxDate", "type": "uint256" }
|
|
404
|
+
]
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"inputs": [
|
|
408
|
+
{ "internalType": "bytes", "name": "committedInputs", "type": "bytes" },
|
|
409
|
+
{ "internalType": "uint256[]", "name": "committedInputCounts", "type": "uint256[]" }
|
|
410
|
+
],
|
|
411
|
+
"stateMutability": "pure",
|
|
412
|
+
"type": "function",
|
|
413
|
+
"name": "getDiscloseProofInputs",
|
|
414
|
+
"outputs": [
|
|
415
|
+
{ "internalType": "bytes", "name": "discloseMask", "type": "bytes" },
|
|
416
|
+
{ "internalType": "bytes", "name": "discloseBytes", "type": "bytes" }
|
|
417
|
+
]
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"inputs": [
|
|
421
|
+
{ "internalType": "bytes", "name": "discloseBytes", "type": "bytes" },
|
|
422
|
+
{ "internalType": "bool", "name": "isIDCard", "type": "bool" }
|
|
423
|
+
],
|
|
424
|
+
"stateMutability": "pure",
|
|
425
|
+
"type": "function",
|
|
426
|
+
"name": "getDisclosedData",
|
|
427
|
+
"outputs": [
|
|
428
|
+
{ "internalType": "string", "name": "name", "type": "string" },
|
|
429
|
+
{ "internalType": "string", "name": "issuingCountry", "type": "string" },
|
|
430
|
+
{ "internalType": "string", "name": "nationality", "type": "string" },
|
|
431
|
+
{ "internalType": "string", "name": "gender", "type": "string" },
|
|
432
|
+
{ "internalType": "string", "name": "birthDate", "type": "string" },
|
|
433
|
+
{ "internalType": "string", "name": "expiryDate", "type": "string" },
|
|
434
|
+
{ "internalType": "string", "name": "documentNumber", "type": "string" },
|
|
435
|
+
{ "internalType": "string", "name": "documentType", "type": "string" }
|
|
436
|
+
]
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
|
|
440
|
+
"stateMutability": "view",
|
|
441
|
+
"type": "function",
|
|
442
|
+
"name": "isValidCertificateRegistryRoot",
|
|
443
|
+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"inputs": [],
|
|
447
|
+
"stateMutability": "view",
|
|
448
|
+
"type": "function",
|
|
449
|
+
"name": "paused",
|
|
450
|
+
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"inputs": [
|
|
454
|
+
{ "internalType": "bytes32", "name": "certificateRegistryRoot", "type": "bytes32" }
|
|
455
|
+
],
|
|
456
|
+
"stateMutability": "nonpayable",
|
|
457
|
+
"type": "function",
|
|
458
|
+
"name": "removeCertificateRegistryRoot"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"inputs": [{ "internalType": "bytes32[]", "name": "vkeyHashes", "type": "bytes32[]" }],
|
|
462
|
+
"stateMutability": "nonpayable",
|
|
463
|
+
"type": "function",
|
|
464
|
+
"name": "removeVerifiers"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"inputs": [{ "internalType": "bool", "name": "_paused", "type": "bool" }],
|
|
468
|
+
"stateMutability": "nonpayable",
|
|
469
|
+
"type": "function",
|
|
470
|
+
"name": "setPaused"
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"inputs": [{ "internalType": "address", "name": "newAdmin", "type": "address" }],
|
|
474
|
+
"stateMutability": "nonpayable",
|
|
475
|
+
"type": "function",
|
|
476
|
+
"name": "transferAdmin"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"inputs": [
|
|
480
|
+
{ "internalType": "bytes32", "name": "vkeyHash", "type": "bytes32" },
|
|
481
|
+
{ "internalType": "bytes", "name": "proof", "type": "bytes" },
|
|
482
|
+
{ "internalType": "bytes32[]", "name": "publicInputs", "type": "bytes32[]" },
|
|
483
|
+
{ "internalType": "bytes", "name": "committedInputs", "type": "bytes" },
|
|
484
|
+
{ "internalType": "uint256[]", "name": "committedInputCounts", "type": "uint256[]" },
|
|
485
|
+
{ "internalType": "uint256", "name": "validityPeriodInDays", "type": "uint256" }
|
|
486
|
+
],
|
|
487
|
+
"stateMutability": "view",
|
|
488
|
+
"type": "function",
|
|
489
|
+
"name": "verifyProof",
|
|
490
|
+
"outputs": [
|
|
491
|
+
{ "internalType": "bool", "name": "", "type": "bool" },
|
|
492
|
+
{ "internalType": "bytes32", "name": "", "type": "bytes32" }
|
|
493
|
+
]
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"inputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
|
|
497
|
+
"stateMutability": "view",
|
|
498
|
+
"type": "function",
|
|
499
|
+
"name": "vkeyHashToVerifier",
|
|
500
|
+
"outputs": [{ "internalType": "address", "name": "", "type": "address" }]
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"devdoc": {
|
|
504
|
+
"kind": "dev",
|
|
505
|
+
"methods": { "constructor": { "details": "Constructor" } },
|
|
506
|
+
"version": 1
|
|
507
|
+
},
|
|
508
|
+
"userdoc": { "kind": "user", "methods": {}, "version": 1 }
|
|
509
|
+
},
|
|
510
|
+
"settings": {
|
|
511
|
+
"remappings": ["forge-std/=lib/forge-std/src/"],
|
|
512
|
+
"optimizer": { "enabled": true, "runs": 200 },
|
|
513
|
+
"metadata": { "bytecodeHash": "ipfs" },
|
|
514
|
+
"compilationTarget": { "src/ZKPassportVerifier.sol": "ZKPassportVerifier" },
|
|
515
|
+
"evmVersion": "cancun",
|
|
516
|
+
"libraries": {}
|
|
517
|
+
},
|
|
518
|
+
"sources": {
|
|
519
|
+
"lib/forge-std/src/console.sol": {
|
|
520
|
+
"keccak256": "0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5",
|
|
521
|
+
"urls": [
|
|
522
|
+
"bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57",
|
|
523
|
+
"dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"
|
|
524
|
+
],
|
|
525
|
+
"license": "MIT"
|
|
526
|
+
},
|
|
527
|
+
"src/DateUtils.sol": {
|
|
528
|
+
"keccak256": "0xd3fe7fd4a910fe7ef1e4cf22e09a94b2cb1de70e9ccf4bc0015fa2d9da35da95",
|
|
529
|
+
"urls": [
|
|
530
|
+
"bzz-raw://c842a171154773f3a56b4f0842fb7a9811b865dce05abad4060659db18553500",
|
|
531
|
+
"dweb:/ipfs/QmSs5UgmLUPSqL43khS7WbM15iKKAz4bwEpbEu319m9caL"
|
|
532
|
+
],
|
|
533
|
+
"license": "Apache-2.0"
|
|
534
|
+
},
|
|
535
|
+
"src/OuterCount4.sol": {
|
|
536
|
+
"keccak256": "0xe4697cb6acec10e84ddde4d630bc48e9c1eca97bea278bb824ec7cedd493e2ce",
|
|
537
|
+
"urls": [
|
|
538
|
+
"bzz-raw://975e16a56e42ab30ca715f9e149f6ad4ef9c756feeb1c825350ed793f86fd928",
|
|
539
|
+
"dweb:/ipfs/QmaZn4onMPPu6tCP7otgs5pzs3zSp6SH58FrLE9PTuomiM"
|
|
540
|
+
],
|
|
541
|
+
"license": "Apache-2.0"
|
|
542
|
+
},
|
|
543
|
+
"src/ZKPassportVerifier.sol": {
|
|
544
|
+
"keccak256": "0x53fc28ff30c815b9452ff89bfeef1168ac36b696e058aee125fd8ade4478cebc",
|
|
545
|
+
"urls": [
|
|
546
|
+
"bzz-raw://353e68d7f4cade44f57cb41807a64b81f469c5e5fcbbd7566437b152c8fef6c3",
|
|
547
|
+
"dweb:/ipfs/QmV8mmAHLVx8JrXsUEZNrGipHV8JyHJDsqj9vAPEUPeDJ5"
|
|
548
|
+
],
|
|
549
|
+
"license": "Apache-2.0"
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
"version": 1
|
|
553
|
+
},
|
|
554
|
+
"id": 22
|
|
555
|
+
}
|