@capacitor-community/sqlite 4.1.0-6 → 4.1.0-7

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.
@@ -91,7 +91,7 @@ export class SQLiteConnection {
91
91
  return Promise.reject(err);
92
92
  }
93
93
  }
94
- async createConnection(database, encrypted, mode, version) {
94
+ async createConnection(database, encrypted, mode, version, readonly) {
95
95
  try {
96
96
  if (database.endsWith('.db'))
97
97
  database = database.slice(0, -3);
@@ -100,39 +100,44 @@ export class SQLiteConnection {
100
100
  encrypted,
101
101
  mode,
102
102
  version,
103
+ readonly,
103
104
  });
104
- const conn = new SQLiteDBConnection(database, this.sqlite);
105
- this._connectionDict.set(database, conn);
105
+ const conn = new SQLiteDBConnection(database, readonly, this.sqlite);
106
+ const connName = readonly ? `RO_${database}` : `RW_${database}`;
107
+ this._connectionDict.set(connName, conn);
106
108
  return Promise.resolve(conn);
107
109
  }
108
110
  catch (err) {
109
111
  return Promise.reject(err);
110
112
  }
111
113
  }
112
- async closeConnection(database) {
114
+ async closeConnection(database, readonly) {
113
115
  try {
114
116
  if (database.endsWith('.db'))
115
117
  database = database.slice(0, -3);
116
- await this.sqlite.closeConnection({ database });
117
- this._connectionDict.delete(database);
118
+ await this.sqlite.closeConnection({ database, readonly });
119
+ const connName = readonly ? `RO_${database}` : `RW_${database}`;
120
+ this._connectionDict.delete(connName);
118
121
  return Promise.resolve();
119
122
  }
120
123
  catch (err) {
121
124
  return Promise.reject(err);
122
125
  }
123
126
  }
124
- async isConnection(database) {
127
+ async isConnection(database, readonly) {
125
128
  const res = {};
126
129
  if (database.endsWith('.db'))
127
130
  database = database.slice(0, -3);
128
- res.result = this._connectionDict.has(database);
131
+ const connName = readonly ? `RO_${database}` : `RW_${database}`;
132
+ res.result = this._connectionDict.has(connName);
129
133
  return Promise.resolve(res);
130
134
  }
131
- async retrieveConnection(database) {
135
+ async retrieveConnection(database, readonly) {
132
136
  if (database.endsWith('.db'))
133
137
  database = database.slice(0, -3);
134
- if (this._connectionDict.has(database)) {
135
- const conn = this._connectionDict.get(database);
138
+ const connName = readonly ? `RO_${database}` : `RW_${database}`;
139
+ if (this._connectionDict.has(connName)) {
140
+ const conn = this._connectionDict.get(connName);
136
141
  if (typeof conn != 'undefined')
137
142
  return Promise.resolve(conn);
138
143
  else {
@@ -161,8 +166,9 @@ export class SQLiteConnection {
161
166
  databasePath,
162
167
  version,
163
168
  });
164
- const conn = new SQLiteDBConnection(databasePath, this.sqlite);
165
- this._connectionDict.set(databasePath, conn);
169
+ const conn = new SQLiteDBConnection(databasePath, true, this.sqlite);
170
+ const connName = `RO_${databasePath})`;
171
+ this._connectionDict.set(connName, conn);
166
172
  return Promise.resolve(conn);
167
173
  }
168
174
  catch (err) {
@@ -172,7 +178,8 @@ export class SQLiteConnection {
172
178
  async closeNCConnection(databasePath) {
173
179
  try {
174
180
  await this.sqlite.closeNCConnection({ databasePath });
175
- this._connectionDict.delete(databasePath);
181
+ const connName = `RO_${databasePath})`;
182
+ this._connectionDict.delete(connName);
176
183
  return Promise.resolve();
177
184
  }
178
185
  catch (err) {
@@ -181,12 +188,14 @@ export class SQLiteConnection {
181
188
  }
182
189
  async isNCConnection(databasePath) {
183
190
  const res = {};
184
- res.result = this._connectionDict.has(databasePath);
191
+ const connName = `RO_${databasePath})`;
192
+ res.result = this._connectionDict.has(connName);
185
193
  return Promise.resolve(res);
186
194
  }
187
195
  async retrieveNCConnection(databasePath) {
188
196
  if (this._connectionDict.has(databasePath)) {
189
- const conn = this._connectionDict.get(databasePath);
197
+ const connName = `RO_${databasePath})`;
198
+ const conn = this._connectionDict.get(connName);
190
199
  if (typeof conn != 'undefined')
191
200
  return Promise.resolve(conn);
192
201
  else {
@@ -212,12 +221,14 @@ export class SQLiteConnection {
212
221
  async closeAllConnections() {
213
222
  const delDict = new Map();
214
223
  try {
215
- for (const database of this._connectionDict.keys()) {
216
- await this.sqlite.closeConnection({ database });
217
- delDict.set(database, null);
224
+ for (const key of this._connectionDict.keys()) {
225
+ const database = key.substring(3);
226
+ const readonly = key.substring(0, 3) === ("RO_") ? true : false;
227
+ await this.sqlite.closeConnection({ database, readonly });
228
+ delDict.set(key, null);
218
229
  }
219
- for (const database of delDict.keys()) {
220
- this._connectionDict.delete(database);
230
+ for (const key of delDict.keys()) {
231
+ this._connectionDict.delete(key);
221
232
  }
222
233
  return Promise.resolve();
223
234
  }
@@ -341,16 +352,23 @@ export class SQLiteConnection {
341
352
  * SQLiteDBConnection Class
342
353
  */
343
354
  export class SQLiteDBConnection {
344
- constructor(dbName, sqlite) {
355
+ constructor(dbName, readonly, sqlite) {
345
356
  this.dbName = dbName;
357
+ this.readonly = readonly;
346
358
  this.sqlite = sqlite;
347
359
  }
348
360
  getConnectionDBName() {
349
361
  return this.dbName;
350
362
  }
363
+ getConnectionReadOnly() {
364
+ return this.readonly;
365
+ }
351
366
  async open() {
352
367
  try {
353
- await this.sqlite.open({ database: this.dbName });
368
+ await this.sqlite.open({
369
+ database: this.dbName,
370
+ readonly: this.readonly,
371
+ });
354
372
  return Promise.resolve();
355
373
  }
356
374
  catch (err) {
@@ -359,7 +377,10 @@ export class SQLiteDBConnection {
359
377
  }
360
378
  async close() {
361
379
  try {
362
- await this.sqlite.close({ database: this.dbName });
380
+ await this.sqlite.close({
381
+ database: this.dbName,
382
+ readonly: this.readonly,
383
+ });
363
384
  return Promise.resolve();
364
385
  }
365
386
  catch (err) {
@@ -370,6 +391,7 @@ export class SQLiteDBConnection {
370
391
  try {
371
392
  const res = await this.sqlite.getUrl({
372
393
  database: this.dbName,
394
+ readonly: this.readonly,
373
395
  });
374
396
  return Promise.resolve(res);
375
397
  }
@@ -381,6 +403,7 @@ export class SQLiteDBConnection {
381
403
  try {
382
404
  const version = await this.sqlite.getVersion({
383
405
  database: this.dbName,
406
+ readonly: this.readonly,
384
407
  });
385
408
  return Promise.resolve(version);
386
409
  }
@@ -392,6 +415,7 @@ export class SQLiteDBConnection {
392
415
  try {
393
416
  const res = await this.sqlite.getTableList({
394
417
  database: this.dbName,
418
+ readonly: this.readonly,
395
419
  });
396
420
  return Promise.resolve(res);
397
421
  }
@@ -401,12 +425,18 @@ export class SQLiteDBConnection {
401
425
  }
402
426
  async execute(statements, transaction = true) {
403
427
  try {
404
- const res = await this.sqlite.execute({
405
- database: this.dbName,
406
- statements: statements,
407
- transaction: transaction,
408
- });
409
- return Promise.resolve(res);
428
+ if (!this.readonly) {
429
+ const res = await this.sqlite.execute({
430
+ database: this.dbName,
431
+ statements: statements,
432
+ transaction: transaction,
433
+ readonly: false,
434
+ });
435
+ return Promise.resolve(res);
436
+ }
437
+ else {
438
+ return Promise.reject('not allowed in read-only mode');
439
+ }
410
440
  }
411
441
  catch (err) {
412
442
  return Promise.reject(err);
@@ -420,6 +450,7 @@ export class SQLiteDBConnection {
420
450
  database: this.dbName,
421
451
  statement: statement,
422
452
  values: values,
453
+ readonly: this.readonly,
423
454
  });
424
455
  }
425
456
  else {
@@ -427,6 +458,7 @@ export class SQLiteDBConnection {
427
458
  database: this.dbName,
428
459
  statement: statement,
429
460
  values: [],
461
+ readonly: this.readonly,
430
462
  });
431
463
  }
432
464
  if (res && typeof res.values[0] === 'object') {
@@ -454,24 +486,31 @@ export class SQLiteDBConnection {
454
486
  async run(statement, values, transaction = true) {
455
487
  let res;
456
488
  try {
457
- if (values && values.length > 0) {
458
- res = await this.sqlite.run({
459
- database: this.dbName,
460
- statement: statement,
461
- values: values,
462
- transaction: transaction,
463
- });
464
- // }
489
+ if (!this.readonly) {
490
+ if (values && values.length > 0) {
491
+ res = await this.sqlite.run({
492
+ database: this.dbName,
493
+ statement: statement,
494
+ values: values,
495
+ transaction: transaction,
496
+ readonly: false,
497
+ });
498
+ // }
499
+ }
500
+ else {
501
+ res = await this.sqlite.run({
502
+ database: this.dbName,
503
+ statement: statement,
504
+ values: [],
505
+ transaction: transaction,
506
+ readonly: false,
507
+ });
508
+ }
509
+ return Promise.resolve(res);
465
510
  }
466
511
  else {
467
- res = await this.sqlite.run({
468
- database: this.dbName,
469
- statement: statement,
470
- values: [],
471
- transaction: transaction,
472
- });
512
+ return Promise.reject('not allowed in read-only mode');
473
513
  }
474
- return Promise.resolve(res);
475
514
  }
476
515
  catch (err) {
477
516
  return Promise.reject(err);
@@ -479,13 +518,19 @@ export class SQLiteDBConnection {
479
518
  }
480
519
  async executeSet(set, transaction = true) {
481
520
  try {
482
- const res = await this.sqlite.executeSet({
483
- database: this.dbName,
484
- set: set,
485
- transaction: transaction,
486
- });
487
- // }
488
- return Promise.resolve(res);
521
+ if (!this.readonly) {
522
+ const res = await this.sqlite.executeSet({
523
+ database: this.dbName,
524
+ set: set,
525
+ transaction: transaction,
526
+ readonly: false,
527
+ });
528
+ // }
529
+ return Promise.resolve(res);
530
+ }
531
+ else {
532
+ return Promise.reject('not allowed in read-only mode');
533
+ }
489
534
  }
490
535
  catch (err) {
491
536
  return Promise.reject(err);
@@ -495,6 +540,7 @@ export class SQLiteDBConnection {
495
540
  try {
496
541
  const res = await this.sqlite.isDBExists({
497
542
  database: this.dbName,
543
+ readonly: this.readonly,
498
544
  });
499
545
  return Promise.resolve(res);
500
546
  }
@@ -507,6 +553,7 @@ export class SQLiteDBConnection {
507
553
  const res = await this.sqlite.isTableExists({
508
554
  database: this.dbName,
509
555
  table: table,
556
+ readonly: this.readonly,
510
557
  });
511
558
  return Promise.resolve(res);
512
559
  }
@@ -518,6 +565,7 @@ export class SQLiteDBConnection {
518
565
  try {
519
566
  const res = await this.sqlite.isDBOpen({
520
567
  database: this.dbName,
568
+ readonly: this.readonly,
521
569
  });
522
570
  return Promise.resolve(res);
523
571
  }
@@ -527,8 +575,16 @@ export class SQLiteDBConnection {
527
575
  }
528
576
  async delete() {
529
577
  try {
530
- await this.sqlite.deleteDatabase({ database: this.dbName });
531
- return Promise.resolve();
578
+ if (!this.readonly) {
579
+ await this.sqlite.deleteDatabase({
580
+ database: this.dbName,
581
+ readonly: false,
582
+ });
583
+ return Promise.resolve();
584
+ }
585
+ else {
586
+ return Promise.reject('not allowed in read-only mode');
587
+ }
532
588
  }
533
589
  catch (err) {
534
590
  return Promise.reject(err);
@@ -536,10 +592,16 @@ export class SQLiteDBConnection {
536
592
  }
537
593
  async createSyncTable() {
538
594
  try {
539
- const res = await this.sqlite.createSyncTable({
540
- database: this.dbName,
541
- });
542
- return Promise.resolve(res);
595
+ if (!this.readonly) {
596
+ const res = await this.sqlite.createSyncTable({
597
+ database: this.dbName,
598
+ readonly: false,
599
+ });
600
+ return Promise.resolve(res);
601
+ }
602
+ else {
603
+ return Promise.reject('not allowed in read-only mode');
604
+ }
543
605
  }
544
606
  catch (err) {
545
607
  return Promise.reject(err);
@@ -547,11 +609,17 @@ export class SQLiteDBConnection {
547
609
  }
548
610
  async setSyncDate(syncdate) {
549
611
  try {
550
- await this.sqlite.setSyncDate({
551
- database: this.dbName,
552
- syncdate: syncdate,
553
- });
554
- return Promise.resolve();
612
+ if (!this.readonly) {
613
+ await this.sqlite.setSyncDate({
614
+ database: this.dbName,
615
+ syncdate: syncdate,
616
+ readonly: false,
617
+ });
618
+ return Promise.resolve();
619
+ }
620
+ else {
621
+ return Promise.reject('not allowed in read-only mode');
622
+ }
555
623
  }
556
624
  catch (err) {
557
625
  return Promise.reject(err);
@@ -561,6 +629,7 @@ export class SQLiteDBConnection {
561
629
  try {
562
630
  const res = await this.sqlite.getSyncDate({
563
631
  database: this.dbName,
632
+ readonly: this.readonly,
564
633
  });
565
634
  let retDate = '';
566
635
  if (res.syncDate > 0)
@@ -576,6 +645,7 @@ export class SQLiteDBConnection {
576
645
  const res = await this.sqlite.exportToJson({
577
646
  database: this.dbName,
578
647
  jsonexportmode: mode,
648
+ readonly: this.readonly,
579
649
  });
580
650
  return Promise.resolve(res);
581
651
  }
@@ -585,8 +655,16 @@ export class SQLiteDBConnection {
585
655
  }
586
656
  async deleteExportedRows() {
587
657
  try {
588
- await this.sqlite.deleteExportedRows({ database: this.dbName });
589
- return Promise.resolve();
658
+ if (!this.readonly) {
659
+ await this.sqlite.deleteExportedRows({
660
+ database: this.dbName,
661
+ readonly: false,
662
+ });
663
+ return Promise.resolve();
664
+ }
665
+ else {
666
+ return Promise.reject('not allowed in read-only mode');
667
+ }
590
668
  }
591
669
  catch (err) {
592
670
  return Promise.reject(err);
@@ -594,55 +672,65 @@ export class SQLiteDBConnection {
594
672
  }
595
673
  async executeTransaction(txn) {
596
674
  try {
597
- const ret = await this.sqlite.execute({
598
- database: this.dbName,
599
- statements: 'BEGIN TRANSACTION;',
600
- transaction: false,
601
- });
602
- if (ret.changes.changes < 0) {
603
- return Promise.reject('Error in BEGIN TRANSACTION');
604
- }
605
- for (const task of txn) {
606
- if (task.values && task.values.length > 0) {
607
- const ret = await this.sqlite.run({
608
- database: this.dbName,
609
- statement: task.statement,
610
- values: task.values,
611
- transaction: false,
612
- });
613
- if (ret.changes.lastId === -1) {
614
- await this.execute('ROLLBACK;', false);
615
- return Promise.reject('Error in transaction run ');
616
- }
675
+ if (!this.readonly) {
676
+ const ret = await this.sqlite.execute({
677
+ database: this.dbName,
678
+ statements: 'BEGIN TRANSACTION;',
679
+ transaction: false,
680
+ });
681
+ if (ret.changes.changes < 0) {
682
+ return Promise.reject('Error in BEGIN TRANSACTION');
617
683
  }
618
- else {
619
- const ret = await this.sqlite.execute({
620
- database: this.dbName,
621
- statements: task.statement,
622
- transaction: false,
623
- });
624
- if (ret.changes.changes < 0) {
625
- await this.sqlite.execute({
684
+ for (const task of txn) {
685
+ if (task.values && task.values.length > 0) {
686
+ const ret = await this.sqlite.run({
687
+ database: this.dbName,
688
+ statement: task.statement,
689
+ values: task.values,
690
+ transaction: false,
691
+ readonly: false,
692
+ });
693
+ if (ret.changes.lastId === -1) {
694
+ await this.execute('ROLLBACK;', false);
695
+ return Promise.reject('Error in transaction run ');
696
+ }
697
+ }
698
+ else {
699
+ const ret = await this.sqlite.execute({
626
700
  database: this.dbName,
627
- statements: 'ROLLBACK;',
701
+ statements: task.statement,
628
702
  transaction: false,
703
+ readonly: false,
629
704
  });
630
- return Promise.reject('Error in transaction execute ');
705
+ if (ret.changes.changes < 0) {
706
+ await this.sqlite.execute({
707
+ database: this.dbName,
708
+ statements: 'ROLLBACK;',
709
+ transaction: false,
710
+ readonly: false,
711
+ });
712
+ return Promise.reject('Error in transaction execute ');
713
+ }
631
714
  }
632
715
  }
716
+ await this.sqlite.execute({
717
+ database: this.dbName,
718
+ statements: 'COMMIT;',
719
+ transaction: false,
720
+ readonly: false,
721
+ });
722
+ return Promise.resolve();
723
+ }
724
+ else {
725
+ return Promise.reject('not allowed in read-only mode');
633
726
  }
634
- await this.sqlite.execute({
635
- database: this.dbName,
636
- statements: 'COMMIT;',
637
- transaction: false,
638
- });
639
- return Promise.resolve();
640
727
  }
641
728
  catch (err) {
642
729
  await this.sqlite.execute({
643
730
  database: this.dbName,
644
731
  statements: 'ROLLBACK;',
645
732
  transaction: false,
733
+ readonly: false,
646
734
  });
647
735
  return Promise.reject(err);
648
736
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,8CAA8C;AA6+B9C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAE3B,YAAoB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QADvB,oBAAe,GAAoC,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAEnC,KAAK,CAAC,YAAY;QAChB,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAa;QACtB,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,cAAc;QAClB,IAAI;YACF,MAAM,GAAG,GAAoB,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,aAAqB;QAErB,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC;gBACvC,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,aAAa;aAC7B,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,qBAAqB;QACzB,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,SAAiB,EACjB,UAAoB;QAEpB,MAAM,OAAO,GAA4B;YACvC,SAAS;YACT,UAAU;SACX,CAAC;QACF,IAAI;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;gBACpC,QAAQ;gBACR,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,SAAkB,EAClB,IAAY,EACZ,OAAe;QAEf,IAAI;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACjC,QAAQ;gBACR,SAAS;gBACT,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,IAAI;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,GAAG,GAAoB,EAAqB,CAAC;QACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,OAAO,IAAI,IAAI,WAAW;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBACxD;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,QAAQ,eAAe,CAAC,CAAC;aAC9D;SACF;aAAM;YACL,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,QAAQ,iBAAiB,CAAC,CAAC;SAChE;IACH,CAAC;IACD,KAAK,CAAC,iBAAiB,CACrB,IAAY,EACZ,QAAgB;QAEhB,IAAI;YACF,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAClC,IAAI;gBACJ,QAAQ;aACT,CAAC,CAAC;YACL,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SACtC;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,kBAAkB,CACtB,YAAoB,EACpB,OAAe;QAEf,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBACnC,YAAY;gBACZ,OAAO;aACR,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAC1C,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,YAAoB;QACvC,MAAM,GAAG,GAAoB,EAAqB,CAAC;QACnD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,oBAAoB,CACxB,YAAoB;QAEpB,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,OAAO,IAAI,IAAI,WAAW;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBACxD;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,YAAY,eAAe,CAAC,CAAC;aAClE;SACF;aAAM;YACL,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,YAAY,iBAAiB,CAAC,CAAC;SACpE;IACH,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,YAAoB;QACrC,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,mBAAmB;QACvB,MAAM,OAAO,GAA2C,IAAI,GAAG,EAAE,CAAC;QAClE,IAAI;YACF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE;gBAClD,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC7B;YACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACvC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,2BAA2B;QAC/B,IAAI;YACF,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,GAAG,GACP,MAAM,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,SAAmB;QACtC,MAAM,UAAU,GAAY,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,eAAe;QACnB,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,UAAkB;QAC1C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;SACzD;QACD,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;gBAChD,UAAU,EAAE,UAAU;aACvB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,eAAe,CACnB,UAAmB,EACnB,UAAqB;QAErB,MAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,MAAM,GAAa,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC5C,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,kBAAkB,CACtB,UAAmB,EACnB,UAAqB;QAErB,MAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,MAAM,GAAa,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBAC/C,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAAmB,EACnB,UAAqB;QAErB,MAAM,IAAI,GAAW,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,MAAM,MAAM,GAAa,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;YAC3C,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAkJD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B,YAAoB,MAAc,EAAU,MAAW;QAAnC,WAAM,GAAN,MAAM,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAK;IAAG,CAAC;IAC3D,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,KAAK;QACT,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,GAAG,GAAiB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,UAAU;QACd,IAAI;YACF,MAAM,OAAO,GAAqB,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC7D,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,OAAO,CACX,UAAkB,EAClB,WAAW,GAAG,IAAI;QAElB,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,MAAc;QAC3C,IAAI,GAAQ,CAAC;QACb,IAAI;YACF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,MAAM;iBACf,CAAC,CAAC;aACJ;iBAAM;gBACL,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;aACJ;YACD,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBACtD,MAAM,UAAU,GAAa,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAU,EAAE,CAAC;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,MAAM,OAAO,GAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACnC,MAAM,UAAU,GAAQ,EAAE,CAAC;wBAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;4BAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;yBAClC;wBACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACzB;oBACD,GAAG,GAAG,EAAE,CAAC;oBACT,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;iBACxB;aACF;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,MAAc,EACd,WAAW,GAAG,IAAI;QAElB,IAAI,GAAQ,CAAC;QACb,IAAI;YACF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;gBACH,WAAW;aACZ;iBAAM;gBACL,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE,EAAE;oBACV,WAAW,EAAE,WAAW;iBACzB,CAAC,CAAC;aACJ;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,UAAU,CACd,GAAmB,EACnB,WAAW,GAAG,IAAI;QAElB,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC5C,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,GAAG,EAAE,GAAG;gBACR,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,SAAS;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC5C,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,IAAI;YACF,MAAM,GAAG,GAAoB,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3D,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,IAAI;YACF,MAAM,GAAG,GAAoB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACtD,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,eAAe;QACnB,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,WAAW;QACf,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;YACH,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC;gBAClB,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACjC;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,IAAI;YACF,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC7B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IACD,KAAK,CAAC,kBAAkB;QACtB,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAA4C;QAE5C,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,UAAU,EAAE,oBAAoB;gBAChC,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE;gBAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;aACrD;YACD,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;wBAChC,QAAQ,EAAE,IAAI,CAAC,MAAM;wBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;oBACH,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;wBAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;wBACvC,OAAO,OAAO,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;qBACpD;iBACF;qBAAM;oBACL,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;wBACpC,QAAQ,EAAE,IAAI,CAAC,MAAM;wBACrB,UAAU,EAAE,IAAI,CAAC,SAAS;wBAC1B,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC;oBACH,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE;wBAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;4BACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;4BACrB,UAAU,EAAE,WAAW;4BACvB,WAAW,EAAE,KAAK;yBACnB,CAAC,CAAC;wBACH,OAAO,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;qBACxD;iBACF;aACF;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,UAAU,EAAE,WAAW;gBACvB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC5B;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}