eip-1193-accounts-wrapper 0.0.13 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +186 -65
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAwD,MAAM,UAAU,CAAC;AAalH,YAAY,EAAC,4BAA4B,EAAC,CAAC;AAE3C,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,EACN;QACA,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KAC7B,GACD;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC7C,WAAW,CAAC,EAAE;QACb,YAAY,EAAE;YACb,kBAAkB,EAAE,CAAC,MAAM,EAAE;gBAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;aAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SACxE,CAAC;KACF,GAAG,CACD;QACA,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC1B,GACD;QACA,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KACrB,CACH,CAAC;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,4BAA4B,EAC9C,OAAO,CAAC,EAAE,eAAe,GACvB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,4BAA4B,EAAwD,MAAM,UAAU,CAAC;AAalH,YAAY,EAAC,4BAA4B,EAAC,CAAC;AAE3C,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,EACN;QACA,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KAC7B,GACD;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAC7C,WAAW,CAAC,EAAE;QACb,YAAY,EAAE;YACb,kBAAkB,EAAE,CAAC,MAAM,EAAE;gBAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;aAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;SACxE,CAAC;KACF,GAAG,CACD;QACA,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC1B,GACD;QACA,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;KACrB,CACH,CAAC;IACF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5D;AAED,wBAAgB,0BAA0B,CACzC,gBAAgB,EAAE,4BAA4B,EAC9C,OAAO,CAAC,EAAE,eAAe,GACvB,4BAA4B,CAwY9B"}
|
package/dist/index.js
CHANGED
|
@@ -3,62 +3,190 @@ import { createPublicClient, createWalletClient, custom, defineChain, } from 'vi
|
|
|
3
3
|
export { generateMnemonic, generatePrivateKey } from 'viem/accounts';
|
|
4
4
|
export function extendProviderWithAccounts(providerToExtend, options) {
|
|
5
5
|
let clients;
|
|
6
|
+
// Impersonation cache: address (lowercase) -> success/failure
|
|
7
|
+
const impersonationCache = new Map();
|
|
8
|
+
// Track addresses that need impersonation based on mode
|
|
9
|
+
const addressesToImpersonate = [];
|
|
10
|
+
// Initialization promise to prevent duplicate initialization
|
|
11
|
+
let initPromise;
|
|
12
|
+
// Local accounts from private keys or mnemonic
|
|
13
|
+
const accounts = [];
|
|
14
|
+
if (options?.accounts) {
|
|
15
|
+
const accountsProvided = options.accounts;
|
|
16
|
+
if ('privateKeys' in accountsProvided && accountsProvided.privateKeys) {
|
|
17
|
+
for (const pk of accountsProvided.privateKeys) {
|
|
18
|
+
const account = privateKeyToAccount(pk);
|
|
19
|
+
accounts.push(account);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
else if ('mnemonic' in accountsProvided && accountsProvided.mnemonic) {
|
|
23
|
+
const num = accountsProvided.numAccounts || 10;
|
|
24
|
+
for (let i = 0; i < num; i++) {
|
|
25
|
+
const account = mnemonicToAccount(accountsProvided.mnemonic, {
|
|
26
|
+
accountIndex: i,
|
|
27
|
+
});
|
|
28
|
+
accounts.push(account);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Initialize impersonation for configured addresses
|
|
33
|
+
async function initialize() {
|
|
34
|
+
if (initPromise)
|
|
35
|
+
return initPromise;
|
|
36
|
+
initPromise = (async () => {
|
|
37
|
+
// Determine addresses to impersonate based on mode
|
|
38
|
+
if (options?.impersonate?.mode === 'list') {
|
|
39
|
+
addressesToImpersonate.push(...options.impersonate.list);
|
|
40
|
+
}
|
|
41
|
+
else if (options?.impersonate?.mode === 'always') {
|
|
42
|
+
// All accounts including LocalAccounts will use impersonation
|
|
43
|
+
addressesToImpersonate.push(...accounts.map((a) => a.address));
|
|
44
|
+
}
|
|
45
|
+
// For 'unknown' mode, we impersonate on-demand for non-local accounts
|
|
46
|
+
// Pre-impersonate known addresses
|
|
47
|
+
for (const address of addressesToImpersonate) {
|
|
48
|
+
await attemptImpersonation(address);
|
|
49
|
+
}
|
|
50
|
+
})();
|
|
51
|
+
return initPromise;
|
|
52
|
+
}
|
|
53
|
+
// Attempt impersonation for an address, caching the result
|
|
54
|
+
async function attemptImpersonation(address) {
|
|
55
|
+
const normalizedAddress = address.toLowerCase();
|
|
56
|
+
// Check cache first
|
|
57
|
+
const cached = impersonationCache.get(normalizedAddress);
|
|
58
|
+
if (cached !== undefined) {
|
|
59
|
+
return cached;
|
|
60
|
+
}
|
|
61
|
+
// Attempt impersonation
|
|
62
|
+
if (!options?.impersonate) {
|
|
63
|
+
impersonationCache.set(normalizedAddress, false);
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
await options.impersonate.impersonator.impersonateAccount({ address });
|
|
68
|
+
impersonationCache.set(normalizedAddress, true);
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
impersonationCache.set(normalizedAddress, false);
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Get list of available accounts (local + successfully impersonated)
|
|
77
|
+
function getAvailableAccounts() {
|
|
78
|
+
const available = [];
|
|
79
|
+
// Add successfully impersonated addresses
|
|
80
|
+
for (const address of addressesToImpersonate) {
|
|
81
|
+
const normalized = address.toLowerCase();
|
|
82
|
+
if (impersonationCache.get(normalized) === true) {
|
|
83
|
+
// Avoid duplicates
|
|
84
|
+
if (!available.some((a) => a.toLowerCase() === normalized)) {
|
|
85
|
+
available.push(address);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Local accounts are always available (unless mode is 'always')
|
|
90
|
+
if (options?.impersonate?.mode !== 'always') {
|
|
91
|
+
for (const account of accounts) {
|
|
92
|
+
available.push(account.address);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return available;
|
|
96
|
+
}
|
|
97
|
+
// Check if an address should use impersonation
|
|
98
|
+
function shouldImpersonate(address) {
|
|
99
|
+
if (options?.impersonate?.mode === 'always') {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
else if (options?.impersonate?.mode === 'unknown') {
|
|
103
|
+
return !accounts.some((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
104
|
+
}
|
|
105
|
+
else if (options?.impersonate?.mode === 'list') {
|
|
106
|
+
return options.impersonate.list.some((a) => a.toLowerCase() === address.toLowerCase());
|
|
107
|
+
}
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
6
110
|
const accountHandlers = {
|
|
7
111
|
eth_sendTransaction: async (params) => {
|
|
8
112
|
const tx = params[0];
|
|
9
113
|
if (options?.doNotFillMissingFields) {
|
|
10
114
|
validateTransaction(tx);
|
|
11
115
|
}
|
|
116
|
+
await initialize();
|
|
12
117
|
const viemTx = toViemTransaction(tx);
|
|
13
118
|
const account = accounts.find((a) => a.address.toLowerCase() === tx.from.toLowerCase());
|
|
14
119
|
const impersonate = options?.impersonate;
|
|
15
|
-
|
|
120
|
+
// Use local account if available and not in 'always' mode
|
|
16
121
|
if (impersonate?.mode !== 'always' && account) {
|
|
122
|
+
const clients = await getClients();
|
|
17
123
|
return clients.wallet.sendTransaction({
|
|
18
124
|
...viemTx,
|
|
19
125
|
account,
|
|
20
126
|
});
|
|
21
127
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return await provider.request({
|
|
128
|
+
// Check if impersonation is allowed and successful
|
|
129
|
+
if (shouldImpersonate(tx.from)) {
|
|
130
|
+
const success = await attemptImpersonation(tx.from);
|
|
131
|
+
if (success) {
|
|
132
|
+
return await providerToExtend.request({
|
|
28
133
|
method: 'eth_sendTransaction',
|
|
29
134
|
params: [tx],
|
|
30
135
|
});
|
|
31
136
|
}
|
|
32
|
-
else {
|
|
33
|
-
throw new Error('Account not available, not even as impersonation');
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
throw new Error('Account not available');
|
|
38
137
|
}
|
|
138
|
+
throw new Error('Account not available');
|
|
39
139
|
},
|
|
40
140
|
eth_accounts: async () => {
|
|
41
|
-
|
|
141
|
+
await initialize();
|
|
142
|
+
return getAvailableAccounts();
|
|
42
143
|
},
|
|
43
144
|
eth_requestAccounts: async () => {
|
|
44
|
-
|
|
145
|
+
await initialize();
|
|
146
|
+
return getAvailableAccounts();
|
|
45
147
|
},
|
|
46
148
|
personal_sign: async (params) => {
|
|
47
149
|
const [message, address] = params;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
150
|
+
await initialize();
|
|
151
|
+
// Try local account first (unless mode is 'always')
|
|
152
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
153
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
154
|
+
const prefixedMessage = `\x19Ethereum Signed Message:\n${message.length}${message}`;
|
|
155
|
+
return account.signMessage({ message: prefixedMessage });
|
|
156
|
+
}
|
|
157
|
+
// Try impersonation
|
|
158
|
+
if (shouldImpersonate(address)) {
|
|
159
|
+
const success = await attemptImpersonation(address);
|
|
160
|
+
if (success) {
|
|
161
|
+
// Forward to underlying provider for impersonated signing
|
|
162
|
+
return providerToExtend.request({
|
|
163
|
+
method: 'personal_sign',
|
|
164
|
+
params: [message, address],
|
|
165
|
+
});
|
|
166
|
+
}
|
|
51
167
|
}
|
|
52
|
-
|
|
53
|
-
return account.signMessage({ message: prefixedMessage });
|
|
168
|
+
throw new Error('Account not available for signing');
|
|
54
169
|
},
|
|
55
170
|
eth_sign: async (params) => {
|
|
56
171
|
const [address, message] = params;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
172
|
+
await initialize();
|
|
173
|
+
// Try local account first (unless mode is 'always')
|
|
174
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
175
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
176
|
+
return account.signMessage({ message });
|
|
60
177
|
}
|
|
61
|
-
|
|
178
|
+
// Try impersonation
|
|
179
|
+
if (shouldImpersonate(address)) {
|
|
180
|
+
const success = await attemptImpersonation(address);
|
|
181
|
+
if (success) {
|
|
182
|
+
// Forward to underlying provider for impersonated signing
|
|
183
|
+
return providerToExtend.request({
|
|
184
|
+
method: 'eth_sign',
|
|
185
|
+
params: [address, message],
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
throw new Error('Account not available for signing');
|
|
62
190
|
},
|
|
63
191
|
eth_signTransaction: async (params) => {
|
|
64
192
|
throw new Error('eth_signTransaction not implemented');
|
|
@@ -71,19 +199,45 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
71
199
|
},
|
|
72
200
|
eth_signTypedData: async (params) => {
|
|
73
201
|
const [address, typedData] = params;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
202
|
+
await initialize();
|
|
203
|
+
// Try local account first (unless mode is 'always')
|
|
204
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
205
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
206
|
+
return account.signTypedData(typedData);
|
|
207
|
+
}
|
|
208
|
+
// Try impersonation
|
|
209
|
+
if (shouldImpersonate(address)) {
|
|
210
|
+
const success = await attemptImpersonation(address);
|
|
211
|
+
if (success) {
|
|
212
|
+
// Forward to underlying provider for impersonated signing
|
|
213
|
+
return providerToExtend.request({
|
|
214
|
+
method: 'eth_signTypedData',
|
|
215
|
+
params: [address, typedData],
|
|
216
|
+
});
|
|
217
|
+
}
|
|
77
218
|
}
|
|
78
|
-
|
|
219
|
+
throw new Error('Account not available for signing');
|
|
79
220
|
},
|
|
80
221
|
eth_signTypedData_v4: async (params) => {
|
|
81
222
|
const [address, typedData] = params;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
223
|
+
await initialize();
|
|
224
|
+
// Try local account first (unless mode is 'always')
|
|
225
|
+
const account = accounts.find((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
226
|
+
if (account && options?.impersonate?.mode !== 'always') {
|
|
227
|
+
return account.signTypedData(typedData);
|
|
228
|
+
}
|
|
229
|
+
// Try impersonation
|
|
230
|
+
if (shouldImpersonate(address)) {
|
|
231
|
+
const success = await attemptImpersonation(address);
|
|
232
|
+
if (success) {
|
|
233
|
+
// Forward to underlying provider for impersonated signing
|
|
234
|
+
return providerToExtend.request({
|
|
235
|
+
method: 'eth_signTypedData_v4',
|
|
236
|
+
params: [address, typedData],
|
|
237
|
+
});
|
|
238
|
+
}
|
|
85
239
|
}
|
|
86
|
-
|
|
240
|
+
throw new Error('Account not available for signing');
|
|
87
241
|
},
|
|
88
242
|
};
|
|
89
243
|
const handlers = {
|
|
@@ -132,27 +286,6 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
132
286
|
};
|
|
133
287
|
return clients;
|
|
134
288
|
}
|
|
135
|
-
const accounts = [];
|
|
136
|
-
if (options?.accounts) {
|
|
137
|
-
const accountsProvided = options.accounts;
|
|
138
|
-
if ('privateKeys' in accountsProvided && accountsProvided.privateKeys) {
|
|
139
|
-
for (const pk of accountsProvided.privateKeys) {
|
|
140
|
-
const account = privateKeyToAccount(pk);
|
|
141
|
-
accounts.push(account);
|
|
142
|
-
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
else if ('mnemonic' in accountsProvided && accountsProvided.mnemonic) {
|
|
146
|
-
const num = accountsProvided.numAccounts || 10;
|
|
147
|
-
for (let i = 0; i < num; i++) {
|
|
148
|
-
const account = mnemonicToAccount(accountsProvided.mnemonic, {
|
|
149
|
-
accountIndex: i,
|
|
150
|
-
});
|
|
151
|
-
accounts.push(account);
|
|
152
|
-
// await client.tevmSetAccount({ address: account.address, balance: 0n });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
289
|
function validateTransaction(tx) {
|
|
157
290
|
const errors = [];
|
|
158
291
|
if (!tx.from)
|
|
@@ -179,18 +312,6 @@ export function extendProviderWithAccounts(providerToExtend, options) {
|
|
|
179
312
|
throw new Error(`Missing mandatory fields: ${errors.join(', ')}`);
|
|
180
313
|
}
|
|
181
314
|
}
|
|
182
|
-
const shouldImpersonate = (address) => {
|
|
183
|
-
if (options?.impersonate?.mode === 'always') {
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
else if (options?.impersonate?.mode == 'unknown') {
|
|
187
|
-
return !accounts.some((a) => a.address.toLowerCase() === address.toLowerCase());
|
|
188
|
-
}
|
|
189
|
-
else if (options?.impersonate?.mode === 'list') {
|
|
190
|
-
return options.impersonate.list.includes(address) || false;
|
|
191
|
-
}
|
|
192
|
-
return false;
|
|
193
|
-
};
|
|
194
315
|
function toViemTransaction(tx) {
|
|
195
316
|
if (tx?.type === '0x1') {
|
|
196
317
|
return {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAe,MAAM,eAAe,CAAC;AAGnF,OAAO,EAEN,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,WAAW,GAKX,MAAM,MAAM,CAAC;AAId,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAyBnE,MAAM,UAAU,0BAA0B,CACzC,gBAA8C,EAC9C,OAAyB;IAEzB,IAAI,OAAqG,CAAC;IAE1G,MAAM,eAAe,GAAoD;QACxE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAA2B,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,sBAAsB,EAAE,CAAC;gBACrC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;oBACrC,GAAG,MAAM;oBACT,OAAO;iBACA,CAAC,CAAC;YACX,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACxB,IAAI,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC;wBACjD,OAAO,EAAE,EAAE,CAAC,IAAqB;qBACjC,CAAC,CAAC;oBAEH,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC;wBAC7B,MAAM,EAAE,qBAAqB;wBAC7B,MAAM,EAAE,CAAC,EAAE,CAAC;qBACZ,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACrE,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC1C,CAAC;QACF,CAAC;QACD,YAAY,EAAE,KAAK,IAAI,EAAE;YACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC/B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,eAAe,GAAG,iCAAiC,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;YACpF,OAAO,OAAO,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;YAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,OAAO,CAAC,WAAW,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;QACvC,CAAC;QACD,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACvD,wBAAwB;YACxB,+DAA+D;YAC/D,kBAAkB;YAClB,yDAAyD;YACzD,IAAI;YACJ,gDAAgD;QACjD,CAAC;QACD,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;YACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,GAAG,eAAe;QAClB,GAAG,OAAO,EAAE,QAAQ;KACpB,CAAC;IACF,MAAM,QAAQ,GAAG;QAChB,OAAO,EAAE,KAAK,EAAE,IAAsC,EAAE,EAAE;YACzD,MAAM,EAAC,MAAM,EAAE,MAAM,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,gBAAgB,CAAC,OAAO,CAAC;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACZ,CAAC,CAAC;YACX,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;KAC+B,CAAC;IAElC,KAAK,UAAU,UAAU;QACxB,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,WAAW,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC;YAC1D,OAAO,EAAE;gBACR,OAAO,EAAE;oBACR,IAAI,EAAE,EAAE;iBACR;aACD;SACD,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,KAAK;SACL,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,KAAK;SACL,CAAC,CAAC;QACH,OAAO,GAAG;YACT,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;SACpB,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,IAAI,aAAa,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACvE,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,0EAA0E;YAC3E,CAAC;QACF,CAAC;aAAM,IAAI,UAAU,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACxE,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC5D,YAAY,EAAE,CAAC;iBACf,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,0EAA0E;YAC3E,CAAC;QACF,CAAC;IACF,CAAC;IAED,SAAS,mBAAmB,CAAC,EAA0B;QACtD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,EAAS,CAAC;QACxB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;QACnD,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC;QAChE,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc;gBAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC7C,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;YACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAwB,CAAC,IAAI,KAAK,CAAC;QAC7E,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,SAAS,iBAAiB,CAAC,EAA0B;QACpD,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,EAAmC,CAAC,CAAC,0EAA0E;YACjI,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrD,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtD,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjF,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzG,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5D,WAAW;gBACX,mBAAmB;gBACnB,MAAM;gBACN,oBAAoB;gBACpB,QAAQ;gBACR,sBAAsB;aACtB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;gBACN,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAe,MAAM,eAAe,CAAC;AAGnF,OAAO,EAEN,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,WAAW,GAKX,MAAM,MAAM,CAAC;AAId,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAyBnE,MAAM,UAAU,0BAA0B,CACzC,gBAA8C,EAC9C,OAAyB;IAEzB,IAAI,OAAqG,CAAC;IAE1G,8DAA8D;IAC9D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEtD,wDAAwD;IACxD,MAAM,sBAAsB,GAAoB,EAAE,CAAC;IAEnD,6DAA6D;IAC7D,IAAI,WAAsC,CAAC;IAE3C,+CAA+C;IAC/C,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1C,IAAI,aAAa,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACvE,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;aAAM,IAAI,UAAU,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACxE,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,IAAI,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAC5D,YAAY,EAAE,CAAC;iBACf,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;IACF,CAAC;IAED,oDAAoD;IACpD,KAAK,UAAU,UAAU;QACxB,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QAEpC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;YACzB,mDAAmD;YACnD,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3C,sBAAsB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpD,8DAA8D;gBAC9D,sBAAsB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,sEAAsE;YAEtE,kCAAkC;YAClC,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;gBAC9C,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,2DAA2D;IAC3D,KAAK,UAAU,oBAAoB,CAAC,OAAsB;QACzD,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAEhD,oBAAoB;QACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QACf,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YAC3B,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;YACrE,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,qEAAqE;IACrE,SAAS,oBAAoB;QAC5B,MAAM,SAAS,GAAoB,EAAE,CAAC;QAEtC,0CAA0C;QAC1C,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,mBAAmB;gBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;oBAC5D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;QACF,CAAC;QAED,gEAAgE;QAChE,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,+CAA+C;IAC/C,SAAS,iBAAiB,CAAC,OAAe;QACzC,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAoD;QACxE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAA2B,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,OAAO,EAAE,sBAAsB,EAAE,CAAC;gBACrC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,MAAM,UAAU,EAAE,CAAC;YAEnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;YAEzC,0DAA0D;YAC1D,IAAI,WAAW,EAAE,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;gBACnC,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;oBACrC,GAAG,MAAM;oBACT,OAAO;iBACA,CAAC,CAAC;YACX,CAAC;YAED,mDAAmD;YACnD,IAAI,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,IAAqB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC;wBACrC,MAAM,EAAE,qBAAqB;wBAC7B,MAAM,EAAE,CAAC,EAAE,CAAC;qBACZ,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC;QAED,YAAY,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,UAAU,EAAE,CAAC;YACnB,OAAO,oBAAoB,EAAE,CAAC;QAC/B,CAAC;QAED,mBAAmB,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,UAAU,EAAE,CAAC;YACnB,OAAO,oBAAoB,EAAE,CAAC;QAC/B,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;YAClC,MAAM,UAAU,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,IAAI,OAAO,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,eAAe,GAAG,iCAAiC,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;gBACpF,OAAO,OAAO,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,eAAe,EAAC,CAAC,CAAC;YACxD,CAAC;YAED,oBAAoB;YACpB,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAwB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACb,0DAA0D;oBAC1D,OAAO,gBAAgB,CAAC,OAAO,CAAC;wBAC/B,MAAM,EAAE,eAAe;wBACvB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;qBAC1B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;YAClC,MAAM,UAAU,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,IAAI,OAAO,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC,WAAW,CAAC,EAAC,OAAO,EAAC,CAAC,CAAC;YACvC,CAAC;YAED,oBAAoB;YACpB,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAwB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACb,0DAA0D;oBAC1D,OAAO,gBAAgB,CAAC,OAAO,CAAC;wBAC/B,MAAM,EAAE,UAAU;wBAClB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;qBAC1B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACvD,wBAAwB;YACxB,+DAA+D;YAC/D,kBAAkB;YAClB,yDAAyD;YACzD,IAAI;YACJ,gDAAgD;QACjD,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;YACpC,MAAM,UAAU,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,IAAI,OAAO,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAED,oBAAoB;YACpB,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAwB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACb,0DAA0D;oBAC1D,OAAO,gBAAgB,CAAC,OAAO,CAAC;wBAC/B,MAAM,EAAE,mBAAmB;wBAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;qBAC5B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;QAED,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;YACpC,MAAM,UAAU,EAAE,CAAC;YAEnB,oDAAoD;YACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACxF,IAAI,OAAO,IAAI,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YAED,oBAAoB;YACpB,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAwB,CAAC,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACb,0DAA0D;oBAC1D,OAAO,gBAAgB,CAAC,OAAO,CAAC;wBAC/B,MAAM,EAAE,sBAAsB;wBAC9B,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;qBAC5B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACtD,CAAC;KACD,CAAC;IAEF,MAAM,QAAQ,GAAoD;QACjE,GAAG,eAAe;QAClB,GAAG,OAAO,EAAE,QAAQ;KACpB,CAAC;IAEF,MAAM,QAAQ,GAAG;QAChB,OAAO,EAAE,KAAK,EAAE,IAAsC,EAAE,EAAE;YACzD,MAAM,EAAC,MAAM,EAAE,MAAM,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,gBAAgB,CAAC,OAAO,CAAC;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACZ,CAAC,CAAC;YACX,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;KAC+B,CAAC;IAElC,KAAK,UAAU,UAAU;QACxB,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,CAAC,CAAC;QAEhE,MAAM,KAAK,GAAG,WAAW,CAAC;YACzB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAC;YAC1D,OAAO,EAAE;gBACR,OAAO,EAAE;oBACR,IAAI,EAAE,EAAE;iBACR;aACD;SACD,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,KAAK;SACL,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,CAAC;YACvC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC;YAC3B,KAAK;SACL,CAAC,CAAC;QACH,OAAO,GAAG;YACT,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;SACpB,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,SAAS,mBAAmB,CAAC,EAA0B;QACtD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,EAAS,CAAC;QACxB,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;QACnD,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC;QAChE,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc;gBAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,WAAW;gBAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED,SAAS,iBAAiB,CAAC,EAA0B;QACpD,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,UAAU,EAAE,EAAE,CAAC,UAAU;gBACzB,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACzE,MAAM,SAAS,GAAG,EAAmC,CAAC,CAAC,0EAA0E;YACjI,OAAO;gBACN,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACrD,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtD,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjF,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;gBACzG,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5D,WAAW;gBACX,mBAAmB;gBACnB,MAAM;gBACN,oBAAoB;gBACpB,QAAQ;gBACR,sBAAsB;aACtB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO;gBACN,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvD,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|