@leyyo/env 1.0.8 → 1.0.9

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.
@@ -6,17 +6,42 @@ const error_enveloper_1 = require("@leyyo/error-enveloper");
6
6
  const internal_1 = require("../internal");
7
7
  const WHERE = `${internal_1.FQN}.EnvFieldImpl`;
8
8
  class EnvFieldImpl {
9
+ // endregion properties
9
10
  constructor(scope, name) {
10
11
  this.scope = scope;
11
12
  this.name = name;
12
13
  this._field = this.name;
13
14
  }
14
- _devOne() {
15
+ _removeOpt(key = '_typeOpt') {
16
+ if (this[key] !== undefined) {
17
+ delete this[key];
18
+ }
19
+ }
20
+ _setOrRemoveOpt(key, value, isArray) {
21
+ if (isArray) {
22
+ if (Array.isArray(value) && value.length > 0) {
23
+ this[key] = value;
24
+ }
25
+ this._removeOpt(key);
26
+ return;
27
+ }
28
+ if (common_1.$is.object(value) && Object.keys(value).length > 0) {
29
+ this[key] = value;
30
+ }
31
+ this._removeOpt(key);
32
+ }
33
+ get _devOne() {
15
34
  return { field: this._field, where: WHERE, scope: this.scope.name };
16
35
  }
17
36
  _devMore(index) {
18
37
  return { field: `${this._field}[${index}]`, where: WHERE, scope: this.scope.name };
19
38
  }
39
+ get _findRequired() {
40
+ if (this._requiredFn) {
41
+ return error_enveloper_1.errorEnveloper.swallow(() => this._requiredFn(this), false, true);
42
+ }
43
+ return this._required;
44
+ }
20
45
  _initialize() {
21
46
  if (this._initialized) {
22
47
  return;
@@ -30,22 +55,22 @@ class EnvFieldImpl {
30
55
  case 'boolean':
31
56
  const cast1 = EnvFieldImpl._lambdaMap[this._type];
32
57
  if (this._array) {
33
- this.$cast(v => common_1.$to.delimited(v, this._devOne(), (val, index) => cast1(val, this._devMore(index), true), this._required));
34
- if (this._required) {
35
- this.$assert(v => common_1.$assert.array(v, this._devOne()));
58
+ this.$cast(v => common_1.$to.delimited(v, this._devOne, (val, index) => cast1(val, this._devMore(index), true), this._findRequired));
59
+ if (this._findRequired) {
60
+ this.$assert(v => common_1.$assert.array(v, this._devOne));
36
61
  }
37
62
  else {
38
63
  this.$assert(v => {
39
64
  if (Array.isArray(v) && v.length > 0) {
40
- common_1.$assert.array(v, this._devOne());
65
+ common_1.$assert.array(v, this._devOne);
41
66
  }
42
67
  });
43
68
  }
44
69
  }
45
70
  else {
46
- this.$cast(v => cast1(v, this._devOne(), this._required));
47
- if (this._required) {
48
- this.$assert(v => common_1.$assert.notEmpty(v, this._devOne()));
71
+ this.$cast(v => cast1(v, this._devOne, this._findRequired));
72
+ if (this._findRequired) {
73
+ this.$assert(v => common_1.$assert.notEmpty(v, this._devOne));
49
74
  }
50
75
  }
51
76
  break;
@@ -53,22 +78,22 @@ class EnvFieldImpl {
53
78
  case 'enumeration':
54
79
  const cast2 = EnvFieldImpl._lambdaMap[this._type];
55
80
  if (this._array) {
56
- this.$cast(v => common_1.$to.delimited(v, this._devOne(), (val, index) => cast2(val, this._enumKeys, this._devMore(index), true), this._required));
57
- if (this._required) {
58
- this.$assert(v => common_1.$assert.array(v, this._devOne()));
81
+ this.$cast(v => common_1.$to.delimited(v, this._devOne, (val, index) => cast2(val, this._typeOpt, this._devMore(index), true), this._findRequired));
82
+ if (this._findRequired) {
83
+ this.$assert(v => common_1.$assert.array(v, this._devOne));
59
84
  }
60
85
  else {
61
86
  this.$assert(v => {
62
87
  if (Array.isArray(v) && v.length > 0) {
63
- common_1.$assert.array(v, this._devOne());
88
+ common_1.$assert.array(v, this._devOne);
64
89
  }
65
90
  });
66
91
  }
67
92
  }
68
93
  else {
69
- this.$cast(v => cast2(v, this._enumKeys, this._devOne(), this._required));
70
- if (this._required) {
71
- this.$assert(v => common_1.$assert.notEmpty(v, this._devOne()));
94
+ this.$cast(v => cast2(v, this._typeOpt, this._devOne, this._findRequired));
95
+ if (this._findRequired) {
96
+ this.$assert(v => common_1.$assert.notEmpty(v, this._devOne));
72
97
  }
73
98
  }
74
99
  break;
@@ -89,195 +114,339 @@ class EnvFieldImpl {
89
114
  return (_a = this._def) !== null && _a !== void 0 ? _a : undefined;
90
115
  }
91
116
  }
92
- // region type
117
+ get _plainValue() {
118
+ const value = this.raw;
119
+ if (this._array) {
120
+ if (Array.isArray(value)) {
121
+ return value.join('^~|');
122
+ }
123
+ return '';
124
+ }
125
+ return common_1.$is.empty(value) ? '' : value;
126
+ }
127
+ // endregion private
128
+ // region configure
93
129
  /** {@inheritDoc} */
94
- string(_opt) {
95
- this._type = 'string';
130
+ required(p1) {
131
+ if (typeof p1 == 'function') {
132
+ this._requiredFn = p1;
133
+ this._removeOpt('_required');
134
+ return this;
135
+ }
136
+ else {
137
+ this._removeOpt('_requiredFn');
138
+ }
139
+ if (p1 === true) {
140
+ this._required = p1;
141
+ }
142
+ else {
143
+ this._removeOpt('_required');
144
+ }
96
145
  return this;
97
146
  }
98
147
  /** {@inheritDoc} */
99
- text(_opt) {
100
- this._type = 'string';
148
+ array(opt) {
149
+ this._array = true;
150
+ this._setOrRemoveOpt('_arrayOpt', opt);
101
151
  return this;
102
152
  }
103
153
  /** {@inheritDoc} */
104
- float(_opt) {
105
- this._type = 'float';
154
+ secret(opt) {
155
+ this._secret = true;
156
+ this._setOrRemoveOpt('_secretOpt', opt);
157
+ return this;
158
+ }
159
+ clone(name) {
160
+ common_1.$assert.text(name, { field: this._field, method: 'clone', where: WHERE, scope: this.scope.name });
161
+ if (name === this._field) {
162
+ common_1.$dev.log({ message: 'Clone is same', clone: name, field: this._field, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
163
+ this._removeOpt('_clone');
164
+ }
165
+ else if (this._aliases && this._aliases.includes(name)) {
166
+ common_1.$dev.log({ message: 'Clone is alias', clone: name, field: this._field, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
167
+ this._removeOpt('_clone');
168
+ }
169
+ else {
170
+ this._clone = name;
171
+ }
106
172
  return this;
107
173
  }
108
174
  /** {@inheritDoc} */
109
- integer(_opt) {
110
- this._type = 'integer';
175
+ def(value) {
176
+ if (!common_1.$is.empty(value)) {
177
+ if (this._array) {
178
+ this._def = (Array.isArray(value) ? value : [value]);
179
+ }
180
+ else {
181
+ this._def = value;
182
+ }
183
+ }
111
184
  return this;
112
185
  }
113
186
  /** {@inheritDoc} */
114
- boolean(_opt) {
115
- this._type = 'boolean';
187
+ alias(...keys) {
188
+ common_1.$assert.textArray(keys, { field: this._field, method: 'aliases', where: WHERE, scope: this.scope.name });
189
+ if (keys.length > 0) {
190
+ keys.forEach(key => {
191
+ if (key === this._field) {
192
+ common_1.$dev.log({ message: 'Alias is same', alias: key, field: this._field, method: 'alias', where: WHERE, scope: this.scope.name }, 'warn');
193
+ }
194
+ else if (key === this._clone) {
195
+ common_1.$dev.log({ message: 'Alias is clone', alias: key, field: this._field, method: 'alias', where: WHERE, scope: this.scope.name }, 'warn');
196
+ }
197
+ else {
198
+ if (!this._aliases) {
199
+ this._aliases = [];
200
+ }
201
+ if (!this._aliases.includes(key)) {
202
+ this._aliases.push(key);
203
+ this.scope.core.$secure.$addKey(key, this, key);
204
+ }
205
+ else {
206
+ common_1.$dev.log({ message: 'Alias is duplicated', alias: key, field: this._field, method: 'clone', where: WHERE, scope: this.scope.name }, 'warn');
207
+ }
208
+ }
209
+ });
210
+ }
116
211
  return this;
117
212
  }
118
213
  /** {@inheritDoc} */
119
- literal(keys) {
120
- this._type = 'literal';
121
- this._enumKeys = keys;
214
+ string(opt) {
215
+ this._type = 'string';
216
+ this._setOrRemoveOpt('_typeOpt', opt);
122
217
  return this;
123
218
  }
124
219
  /** {@inheritDoc} */
125
- enumeration(map) {
126
- this._type = 'enumeration';
127
- this._enumKeys = map;
220
+ text(opt) {
221
+ this._type = 'string';
222
+ this._setOrRemoveOpt('_typeOpt', opt);
128
223
  return this;
129
224
  }
130
- // endregion type
131
225
  /** {@inheritDoc} */
132
- def(value) {
133
- if (!common_1.$is.empty(value)) {
134
- if (this._array) {
135
- this._def = Array.isArray(value) ? value : [value];
136
- }
137
- else {
138
- this._def = value;
139
- }
140
- }
226
+ float(opt) {
227
+ this._type = 'float';
228
+ this._setOrRemoveOpt('_typeOpt', opt);
141
229
  return this;
142
230
  }
143
231
  /** {@inheritDoc} */
144
- required() {
145
- this._required = true;
232
+ integer(opt) {
233
+ this._type = 'integer';
234
+ this._setOrRemoveOpt('_typeOpt', opt);
146
235
  return this;
147
236
  }
148
237
  /** {@inheritDoc} */
149
- array(_opt) {
150
- this._array = true;
238
+ boolean(opt) {
239
+ this._type = 'boolean';
240
+ this._setOrRemoveOpt('_typeOpt', opt);
151
241
  return this;
152
242
  }
153
- secret(_opt) {
154
- this._secret = true;
243
+ /** {@inheritDoc} */
244
+ literal(keys) {
245
+ common_1.$assert.array(keys, { field: this._field, method: 'literal', where: WHERE, scope: this.scope.name });
246
+ this._type = 'literal';
247
+ this._setOrRemoveOpt('_typeOpt', keys, true);
248
+ return this;
249
+ }
250
+ /** {@inheritDoc} */
251
+ enumeration(map) {
252
+ common_1.$assert.bareObject(map, { field: this._field, method: 'enumeration', where: WHERE, scope: this.scope.name });
253
+ this._type = 'enumeration';
254
+ this._setOrRemoveOpt('_typeOpt', map, true);
155
255
  return this;
156
256
  }
157
257
  /** {@inheritDoc} */
158
258
  onOta(fn) {
159
- this.scope.$addOta(this.name);
259
+ this.scope.$secure.$addOta(this.name);
160
260
  common_1.$assert.func(fn, { field: this._field, where: WHERE, scope: this.scope.name, method: 'ota' });
161
261
  this._onOta = fn;
162
262
  return this;
163
263
  }
264
+ /** {@inheritDoc} */
164
265
  onChange(fn) {
165
266
  common_1.$assert.func(fn, { field: this._field, where: WHERE, scope: this.scope.name, method: 'onChange' });
166
- this._onChange = fn;
267
+ if (!Array.isArray(this._onChangeList)) {
268
+ this._onChangeList = [];
269
+ }
270
+ this._onChangeList.push(fn);
167
271
  return this;
168
272
  }
273
+ /** {@inheritDoc} */
169
274
  onSet(fn) {
170
275
  common_1.$assert.func(fn, { field: this._field, where: WHERE, scope: this.scope.name, method: 'onSet' });
171
276
  this._onSet = fn;
172
277
  return this;
173
278
  }
174
279
  /** {@inheritDoc} */
175
- alias(...keys) {
176
- common_1.$assert.textArray(keys, { field: this._field, method: 'aliases', where: WHERE, scope: this.scope.name });
177
- if (keys.length > 0) {
178
- if (!this._aliases) {
179
- this._aliases = [];
180
- }
181
- keys.forEach(key => {
182
- if (!this._aliases.includes(key)) {
183
- this._aliases.push(key);
184
- }
185
- });
186
- }
280
+ cast(fn) {
281
+ common_1.$assert.func(fn, { field: this._field, method: 'cast', where: WHERE, scope: this.scope.name });
282
+ this.$cast(fn);
187
283
  return this;
188
284
  }
189
285
  /** {@inheritDoc} */
190
- end() {
191
- return this.scope;
192
- }
193
- $cast(fn) {
194
- this._cast = fn;
286
+ assert(fn) {
287
+ common_1.$assert.func(fn, { field: this._field, method: 'cast', where: WHERE, scope: this.scope.name });
288
+ this.$assert(fn);
195
289
  return this;
196
290
  }
197
- $assert(fn) {
198
- this._assert = fn;
199
- return this;
291
+ /** {@inheritDoc} */
292
+ get end() {
293
+ return this.scope.configure;
294
+ }
295
+ // endregion configure
296
+ // region runtime
297
+ /** {@inheritDoc} */
298
+ set(value) {
299
+ this.$set(value);
300
+ this.read();
200
301
  }
201
- $print() {
302
+ /** {@inheritDoc} */
303
+ print() {
202
304
  const result = { key: this._field, scope: this.scope.name, type: this._type };
203
305
  if (!this._secret) {
204
- result.value = process.env[this._field];
306
+ result.value = this.raw;
205
307
  }
206
308
  else {
207
309
  result.value = '<secret>';
208
310
  }
209
- const tags = [];
210
- if (this._array) {
211
- tags.push('array');
212
- }
311
+ const opt = {};
213
312
  if (this._required) {
214
- tags.push('required');
313
+ if (this._requiredFn) {
314
+ opt['required'] = ['conditional', this._findRequired];
315
+ }
316
+ else {
317
+ opt['required'] = true;
318
+ }
215
319
  }
216
- if (this._secret) {
217
- tags.push('secret');
320
+ if (this._typeOpt) {
321
+ opt[this._type] = this._typeOpt;
218
322
  }
219
- if (this._onOta) {
220
- tags.push('ota');
323
+ if (this._def !== undefined) {
324
+ opt['def'] = this._def;
221
325
  }
222
- if (tags.length) {
223
- result.tags = tags;
326
+ if (this._clone !== undefined) {
327
+ opt['clone'] = this._clone;
224
328
  }
225
- if (this._aliases) {
226
- result.aliases = this._aliases;
329
+ if (this._secret) {
330
+ if (this._secretOpt) {
331
+ opt['secret'] = this._secretOpt;
332
+ }
333
+ else {
334
+ opt['secret'] = true;
335
+ }
336
+ }
337
+ if (this._aliases !== undefined) {
338
+ opt['aliases'] = this._aliases;
227
339
  }
228
- return result;
229
- }
230
- get _plainValue() {
231
- const value = process.env[this._field];
232
340
  if (this._array) {
233
- if (Array.isArray(value)) {
234
- return value.join('^~|');
341
+ if (this._arrayOpt) {
342
+ opt['array'] = this._arrayOpt;
343
+ }
344
+ else {
345
+ opt['array'] = true;
235
346
  }
236
- return '';
237
347
  }
238
- return common_1.$is.empty(value) ? '' : value;
348
+ if (this._aliases) {
349
+ opt['aliases'] = this._aliases;
350
+ }
351
+ if (this._onOta) {
352
+ opt['onOta'] = true;
353
+ }
354
+ if (this._onSet) {
355
+ opt['onSet'] = true;
356
+ }
357
+ if (this._onChangeList) {
358
+ opt['onChange'] = this._onChangeList.length;
359
+ }
360
+ if (Object.keys(opt).length) {
361
+ result.opt = opt;
362
+ }
363
+ return result;
239
364
  }
240
- $run() {
365
+ /** {@inheritDoc} */
366
+ read() {
241
367
  this._initialize();
242
368
  const old = this._plainValue;
243
- if (common_1.$is.empty(process.env[this._field])) {
244
- process.env[this._field] = this._fromDef;
369
+ if (this._clone && !common_1.$is.empty(process.env[this._clone])) {
370
+ this.$set(process.env[this._clone]);
245
371
  }
246
- if (typeof this._cast === 'function') {
247
- process.env[this._field] = this._cast(process.env[this._field]);
248
- if (common_1.$is.empty(process.env[this._field])) {
249
- process.env[this._field] = this._fromDef;
372
+ if (common_1.$is.empty(this.raw) && Array.isArray(this._aliases)) {
373
+ for (const alias of this._aliases) {
374
+ if (!common_1.$is.empty(process.env[alias])) {
375
+ this.$set(process.env[alias]);
376
+ break;
377
+ }
250
378
  }
251
379
  }
252
- if (typeof this._assert === 'function') {
253
- this._assert(process.env[this._field]);
380
+ if (common_1.$is.empty(this.raw)) {
381
+ this.$set(this._fromDef);
382
+ }
383
+ if (this._cast) {
384
+ this.$set(this._cast(this.raw));
385
+ if (common_1.$is.empty(this.raw)) {
386
+ this.$set(this._fromDef);
387
+ }
254
388
  }
255
- this.scope.$clear();
389
+ if (this._assert) {
390
+ this._assert(this.raw);
391
+ }
392
+ this.scope.clear();
256
393
  const current = this._plainValue;
257
- if (this._onChange && current !== old) {
258
- error_enveloper_1.errorEnveloper.handle(() => this._onChange(current, this.name, this.scope.raw), (e) => console.log(`OnChange Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
394
+ if (this._onChangeList && current !== old) {
395
+ this._onChangeList.forEach(fn => {
396
+ error_enveloper_1.errorEnveloper.handle(() => fn(this), (e) => console.log(`OnChange Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
397
+ });
259
398
  }
260
399
  if (this._onSet) {
261
- error_enveloper_1.errorEnveloper.handle(() => this._onSet(current, this.name, this.scope.raw), (e) => console.log(`OnSet Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
400
+ error_enveloper_1.errorEnveloper.handle(() => this._onSet(this), (e) => console.log(`OnSet Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
262
401
  }
263
402
  return current !== old;
264
403
  }
265
- $fromOta(value) {
266
- process.env[this._field] = value;
404
+ /** {@inheritDoc} */
405
+ fromOta(value) {
406
+ this.$set(value);
267
407
  let changed = false;
268
408
  try {
269
- changed = this.$run();
409
+ changed = this.read();
270
410
  }
271
411
  catch (e) {
272
412
  console.log(`Ota Run Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`);
273
413
  }
274
414
  if (changed && this._onOta) {
275
- error_enveloper_1.errorEnveloper.handle(() => this._onOta(process.env[this._field], this.name, this.scope.raw), (e) => console.log(`OnOta Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
415
+ error_enveloper_1.errorEnveloper.handle(() => this._onOta(this), (e) => console.log(`OnOta Error: ${e.message}, where: ${WHERE}, scope: ${this.scope.name}, field: ${this._field}`));
276
416
  }
277
417
  return changed;
278
418
  }
419
+ /** {@inheritDoc} */
420
+ get raw() {
421
+ return process.env[this._field];
422
+ }
423
+ // endregion runtime
424
+ // region secure
425
+ $set(value) {
426
+ process.env[this._field] = value;
427
+ }
428
+ $cast(fn) {
429
+ this._cast = fn;
430
+ }
431
+ $assert(fn) {
432
+ this._assert = fn;
433
+ }
434
+ // endregion secure
435
+ // region mode
436
+ /** {@inheritDoc} */
437
+ get configure() {
438
+ return this;
439
+ }
440
+ /** {@inheritDoc} */
441
+ get runtime() {
442
+ return this;
443
+ }
444
+ get $secure() {
445
+ return this;
446
+ }
279
447
  }
280
448
  exports.EnvFieldImpl = EnvFieldImpl;
449
+ // region private
281
450
  EnvFieldImpl._lambdaMap = {
282
451
  string: ((value, opt, required) => common_1.$to.string(value, opt, required)),
283
452
  text: ((value, opt, required) => common_1.$to.text(value, opt, required)),
@@ -1 +1 @@
1
- {"version":3,"file":"env-field.impl.js","sourceRoot":"","sources":["../../src/field/env-field.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-field.impl.js","sourceRoot":"","sources":["../../src/field/env-field.impl.ts"],"names":[],"mappings":";;;AAAA,0CAAsD;AACtD,4DAAsD;AACtD,0CAAgC;AAgBhC,MAAM,KAAK,GAAG,GAAG,cAAG,eAAe,CAAC;AAGpC,MAAa,YAAY;IAqBrB,uBAAuB;IAEvB,YAAqB,KAAyB,EAAW,IAAO;QAA3C,UAAK,GAAL,KAAK,CAAoB;QAAW,SAAI,GAAJ,IAAI,CAAG;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAc,CAAC;IACtC,CAAC;IAYO,UAAU,CAAC,MAAmB,UAAU;QAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IACO,eAAe,CAAC,GAAgB,EAAE,KAAc,EAAE,OAAiB;QACvE,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,GAAiB,CAAC,GAAG,KAAY,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,IAAI,YAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,GAAiB,CAAC,GAAG,KAAY,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,IAAY,OAAO;QACf,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC;IACtE,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC1B,OAAO,EAAC,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC;IACrF,CAAC;IAED,IAAY,aAAa;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,gCAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAEO,WAAW;QACf,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS,CAAC;YACf,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACV,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAoC,CAAC;gBACrF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACpI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,CAAC;yBACI,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACpE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,KAAK,SAAS,CAAC;YACf,KAAK,aAAa;gBACd,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAqC,CAAC;gBACtF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACnJ,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACtD,CAAC;yBACI,CAAC;wBACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;4BACb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACnC,gBAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAS,CAAC,CAAC;oBACnF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACL,CAAC;gBACD,MAAM;QACd,CAAC;IACL,CAAC;IAED,IAAY,QAAQ;;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAU,CAAC;YACtB,CAAC;iBACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAS,CAAC;QAC/B,CAAC;aACI,CAAC;YACF,OAAO,MAAA,IAAI,CAAC,IAAI,mCAAI,SAAS,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAY,WAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAa,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,YAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC;IACD,oBAAoB;IAEpB,mBAAmB;IAEnB,oBAAoB;IACpB,QAAQ,CAAC,EAA8C;QACnD,IAAI,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,CAAC;aACI,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAmB;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,GAAoB;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,IAAY;QACd,gBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;YACrI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;YACtI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;aACI,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,GAAG,CAAC,KAAW;QACX,IAAK,CAAC,YAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAS,CAAC;YACjE,CAAC;iBACI,CAAC;gBACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAG,IAAc;QACnB,gBAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACf,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;gBACxI,CAAC;qBACI,IAAI,GAAG,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3B,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;gBACzI,CAAC;qBACI,CAAC;oBACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvB,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAuB,EAAE,GAAG,CAAC,CAAC;oBACvE,CAAC;yBACI,CAAC;wBACF,aAAI,CAAC,GAAG,CAAC,EAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,EAAE,MAAM,CAAC,CAAC;oBAC9I,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,GAAoB;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,GAAoB;QACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,GAAmB;QACrB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAqB;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAqB;QACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,OAAO,CAA8B,IAAoB;QACrD,gBAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QACnG,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,WAAW,CAA8B,GAAe;QACpD,gBAAO,CAAC,UAAU,CAAC,GAAG,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC3G,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,EAAiC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,EAAgC;QACrC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC;QACjG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,EAAgC;QAClC,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC,EAA4B;QAC7B,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,EAAwB;QAC3B,gBAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,sBAAsB;IAEtB,iBAAiB;IAEjB,oBAAoB;IACpB,GAAG,CAAC,KAAW;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,KAAK;QACD,MAAM,MAAM,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAkB,CAAC;QAC7F,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QAC5B,CAAC;aACI,CAAC;YACF,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,EAA6B,CAAC;QAC1C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YACpC,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACzB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,CAAC;iBACI,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,IAAI;QACA,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9B,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,YAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;gBAC5B,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EACd,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,OAAO,YAAY,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CACxH,CAAC;YACN,CAAC,CAAC,CAAA;QACN,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,OAAO,YAAY,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CACrH,CAAC;QACN,CAAC;QACD,OAAO,OAAO,KAAK,GAAG,CAAC;IAC3B,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,KAAc;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,OAAO,YAAY,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,gCAAc,CAAC,MAAM,CACjB,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,OAAO,YAAY,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CACrH,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG;QACH,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAS,CAAC;IAC5C,CAAC;IAED,oBAAoB;IAEpB,gBAAgB;IAChB,IAAI,CAAC,KAAc;QACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAe,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,EAA4B;QAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,EAAwB;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,mBAAmB;IAEnB,cAAc;IAEd,oBAAoB;IACpB,IAAI,SAAS;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC;IAChB,CAAC;;AA/fL,oCAmgBC;AAxeG,iBAAiB;AACF,uBAAU,GAAuB;IAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACvG,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACnG,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACrG,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAoC;IACzG,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAqC;IAC1G,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAqC;IACjI,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAG,CAAC,WAAW,CAAC,KAAK,EAAE,GAAc,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAqC;CACrJ,CAAC"}