@foul11/awesome-db 1.1.2 → 1.1.3

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.1.3](https://awesome-lib.github.com/foul11/awesome-lib/compare/v1.1.2...v1.1.3) (2026-06-19)
7
+
8
+ **Note:** Version bump only for package @foul11/awesome-db
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.1.2](https://awesome-lib.github.com/foul11/awesome-lib/compare/v1.1.1...v1.1.2) (2026-06-03)
7
15
 
8
16
 
@@ -0,0 +1,11 @@
1
+ import type { Migration, MigrationProvider } from 'kysely/migration';
2
+ type TMigration = Migration & {
3
+ default?: Migration;
4
+ };
5
+ export declare class ObjectFileProvider implements MigrationProvider {
6
+ private migrations;
7
+ constructor(migrations: Record<string, TMigration>);
8
+ getMigrations(): Promise<Record<string, Migration>>;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=ObjectFileProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectFileProvider.d.ts","sourceRoot":"","sources":["../src/ObjectFileProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAerE,KAAK,UAAU,GAAG,SAAS,GAAG;IAAE,OAAO,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD,qBAAa,kBAAmB,YAAW,iBAAiB;IAC5C,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAI1D,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAiBtD"}
package/dist/index.d.ts CHANGED
@@ -12,9 +12,13 @@ export type * from './types';
12
12
  import { Kysely } from 'kysely';
13
13
  import { Migrator } from 'kysely/migration';
14
14
  import type { extend_logger_db } from './log';
15
+ import type { MigrationProvider } from 'kysely/migration';
15
16
  import type { LoggerContainerInferLogger } from '@foul11/awesome-log';
16
17
  type LoggerDB = LoggerContainerInferLogger<ReturnType<typeof extend_logger_db>, 'db'>;
17
- export declare function create_db<DB>(db_path: string, log_kysely: LoggerDB): Promise<{
18
+ interface CreateDBOptions {
19
+ migrationProvider?: MigrationProvider;
20
+ }
21
+ export declare function create_db<DB>(db_path: string, log_kysely: LoggerDB, opts?: CreateDBOptions): Promise<{
18
22
  db: Kysely<DB>;
19
23
  db_migrator: Migrator;
20
24
  db_sqlite: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,mBAAmB,SAAS,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,KAAK,QAAQ,GAAG,0BAA0B,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;AA0LtF,wBAAsB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ;QAQvD,MAAM,CAAC,EAAE,CAAC;;;;;;;GAK3B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;CAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,OAAO,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,mBAAmB,SAAS,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAiB,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,KAAK,QAAQ,GAAG,0BAA0B,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAAE,IAAI,CAAC,CAAC;AA+LtF,UAAU,eAAe;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,GAAE,eAAoB;QAQnF,MAAM,CAAC,EAAE,CAAC;;;;;;;GAK3B;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;CAAqB,CAAC"}
package/dist/index.mjs CHANGED
@@ -1485,13 +1485,13 @@ function create_kysely(db, log_kysely_db) {
1485
1485
  };
1486
1486
  return db_kysely;
1487
1487
  }
1488
- async function create_migrator(db_name, db, log_kysely_db) {
1488
+ async function create_migrator(db_name, db, log_kysely_db, provider = new WebpackFileProvider(db_name)) {
1489
1489
  db.in_migration = true;
1490
1490
  db.migration_log = [];
1491
1491
  db.transaction_logs = [];
1492
1492
  const migrator = new __WEBPACK_EXTERNAL_MODULE_kysely_migration_c9f7ddf4_Migrator__({
1493
1493
  db,
1494
- provider: new WebpackFileProvider(db_name)
1494
+ provider
1495
1495
  });
1496
1496
  async function migrateToLatest() {
1497
1497
  const {
@@ -1524,14 +1524,14 @@ async function create_migrator(db_name, db, log_kysely_db) {
1524
1524
  db.migration_log = [];
1525
1525
  return migrator;
1526
1526
  }
1527
- async function create_db(db_path, log_kysely) {
1527
+ async function create_db(db_path, log_kysely, opts = {}) {
1528
1528
  const db_name = __WEBPACK_EXTERNAL_MODULE_path_default__.parse(db_path).name;
1529
1529
  const db_sqlite = create_sqlite(db_path);
1530
1530
  const db_log = log_kysely.child({
1531
1531
  label5: db_name
1532
1532
  });
1533
1533
  const db = create_kysely(db_sqlite, db_log);
1534
- const db_migrator = await create_migrator(db_name, db, db_log);
1534
+ const db_migrator = await create_migrator(db_name, db, db_log, opts.migrationProvider);
1535
1535
  return {
1536
1536
  db: db,
1537
1537
  db_migrator,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","mappings":";;;;;;;;;SAAA;SACA;;;;;UCDA;UACA;UACA;UACA;UACA,yCAAyC,wCAAwC;UACjF;UACA;UACA,E;;;;;UCPA,wF;;;;;;;;AEA6B;AAa7B,SAASC,gBAAgBA,CAACC,GAA4B,EAAEC,SAA8D;EAClH,IAAIA,SAAS,CAACC,OAAO,EACjBF,GAAG,GAAGA,GAAG,CAACG,UAAU,EAAE;EAE1B,IAAIF,SAAS,CAACG,MAAM,EAChBJ,GAAG,GAAGA,GAAG,CAACI,MAAM,EAAE;EAEtB,IAAIH,SAAS,CAACI,cAAc,EACxBL,GAAG,GAAGA,GAAG,CAACM,aAAa,EAAE;EAE7B,IAAIL,SAAS,CAACM,QAAQ,EAClBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,EAAE;EAEvB,IAAIP,SAAS,CAACQ,OAAO,KAAK,IAAI,EAAE;IAC5B,IAAI,OAAOR,SAAS,CAACQ,OAAO,IAAI,QAAQ,IAAIR,SAAS,CAACQ,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;MACrET,GAAG,GAAGA,GAAG,CAACU,SAAS,CAACZ,sCAAG,CAACa,GAAG,CAACV,SAAS,CAACQ,OAAO,CAAC,CAAC;IACnD,CAAC,MAAM;MACHT,GAAG,GAAGA,GAAG,CAACU,SAAS,CAACZ,sCAAG,CAACc,GAAG,CAACX,SAAS,CAACQ,OAAO,CAAC,CAAC;IACnD;EACJ;EAEA,IAAIR,SAAS,CAACY,UAAU,EAAE;IACtB,IAAI,CAACZ,SAAS,CAACY,UAAU,CAACC,OAAO,CAACC,MAAM,IAAId,SAAS,CAACY,UAAU,CAACC,OAAO,CAACC,MAAM,GAAG,CAAC,EAC/E,MAAM,IAAIC,KAAK,CAAC,mCAAmC,CAAC;IAExD,MAAMC,WAAW,GAAGhB,SAAS,CAACY,UAAU,CAACC,OAAO,CAAC,CAAC,CAAC;IACnD,MAAMI,WAAW,GAAG,CAChB,GAAGjB,SAAS,CAACY,UAAU,CAACM,KAAK,CAACC,YAAY,EAC1CnB,SAAS,CAACY,UAAU,CAACM,KAAK,CAACE,IAAI,EAC/BJ,WAAW,CACd,CAACK,IAAI,CAAC,GAAG,CAAC;IAEXtB,GAAG,GAAGA,GAAG,CAACa,UAAU,CAACK,WAAW,CAAC;IAEjC,IAAIjB,SAAS,CAACY,UAAU,CAACU,WAAW,EAAE;MAClCvB,GAAG,GAAGA,GAAG,CAACwB,SAAS,CAAC1B,sCAAG,CAACa,GAAG,CAAC,IAAIV,SAAS,CAACY,UAAU,CAACU,WAAW,EAAE,CAAC,CAAC;IACxE;EACJ;EAEA,OAAOvB,GAAG;AACd;AAEM,SAAUyB,WAAWA,CAA4BC,OAA8C,EAAEZ,OAAyD;EAC5J,KAAK,MAAMa,MAAM,IAAIb,OAAO,EAAE;IAC1BY,OAAO,GAAGA,OAAO,CAACE,SAAS,CACvBD,MAAM,CAACN,IAAI,EACXM,MAAM,CAACE,IAAI,CAACC,WAAW,EAAmC,EAC1D9B,GAAG,IAAID,gBAAgB,CAACC,GAAG,EAAE2B,MAAM,CAAC,CACvC;EACL;EAEA,OAAOD,OAAO;AAClB;AAEM,SAAUK,YAAYA,CAACZ,KAAa;EACtC,OAAO,SAASa,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAIhB,KAAK,EAAS;AACnE,C;;;;AErEA;AACA;AACqE;AAErE;AACM,SAAUoB,IAAIA,CAACC,GAAG;EACpB,IAAIC,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,EAClBA,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;EAEhB,MAAMG,GAAG,GAAGH,GAAG,CAACI,QAAQ,EAAE,CAACC,KAAK,CAAC,OAAO,CAAC;EAEzC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,GAAG,CAAC5B,MAAM,EAAE+B,CAAC,EAAE,EAAE;IACjC,QAAQ,IAAI;MACR,KAAKH,GAAG,CAACG,CAAC,CAAC,CAACC,IAAI,EAAE,CAACC,UAAU,CAAC,aAAa,CAAC;MAC5C,KAAKL,GAAG,CAACG,CAAC,CAAC,CAACC,IAAI,EAAE,CAACC,UAAU,CAAC,aAAa,CAAC;MAC5C,KAAKL,GAAG,CAACG,CAAC,CAAC,CAACC,IAAI,EAAE,CAACC,UAAU,CAAC,YAAY,CAAC;MAC3C,KAAKL,GAAG,CAACG,CAAC,CAAC,CAACC,IAAI,EAAE,CAACC,UAAU,CAAC,iCAAiC,CAAC;QAC5DL,GAAG,CAACG,CAAC,CAAC,GAAGH,GAAG,CAACG,CAAC,CAAC,GAAG,GAAG;QACrB;IACR;EACJ;EAEA,OAAOH,GAAG,CAACrB,IAAI,CAAC,IAAI,CAAC;AACzB;AAEM,MAAO2B,SAAS;EAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiJA;;;;EAIA,OAAOC,eAAeA,CAACpD,GAAG,EAAEqD,IAAI;IAC5B,MAAMC,EAAE,GAAG,IAAIC,MAAM,CAAC,4FAA4FF,IAAI,GAAG,EAAE,GAAG,CAAC;IAC/H,MAAMG,GAAG,GAAG,uBAAyB,EAAG;IACxC,MAAMC,GAAG,GAAG,uBAAyB,EAAG;IAExC;IACA,MAAMC,GAAG,GAAG1D,GAAG,CAAC+C,KAAK,CAACO,EAAE,CAAC;IAEzB,KAAK,MAAMZ,GAAG,IAAIgB,GAAG,EAAE;MACnB,IAAI,CAAChB,GAAG,EACJ;MAEJe,GAAG,CAACE,IAAI,CAACjB,GAAG,CAAC;MAEb,IAAIA,GAAG,KAAKW,IAAI,EAAE;QACdG,GAAG,CAACG,IAAI,CAACF,GAAG,CAACjC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtBiC,GAAG,CAACxC,MAAM,GAAG,CAAC;MAClB;IACJ;IAEA,IAAIwC,GAAG,CAACxC,MAAM,EACVuC,GAAG,CAACG,IAAI,CAACF,GAAG,CAACjC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE1B,OAAOgC,GAAG;EACd;EAEA;;;;EAIA,OAAOI,YAAYA,CAACC,KAAK;IACrB,MAAML,GAAG,GAAG,uBAAyB,EAAG;IAExC;IACA,MAAME,GAAG,GAAGG,KAAK,CAACC,QAAQ,CAAC,wFAAwF,CAAC;IAEpH,KAAK,MAAMC,KAAK,IAAIL,GAAG,EAAE;MACrB,MAAMM,CAAC,GAAGD,KAAK,CAAC,CAAC,CAAC;MAElB,IAAI,CAACC,CAAC,IAAIA,CAAC,KAAK,GAAG,EACf;MAEJ,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAC9BR,GAAG,CAACG,IAAI,CAACK,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxB;MACJ;MAEAT,GAAG,CAACG,IAAI,CAACK,CAAC,CAAC;IACf;IAEA,IAAI,CAACR,GAAG,CAACvC,MAAM,EACX,MAAM,IAAIC,KAAK,CAAC,6BAA6B2C,KAAK,EAAE,CAAC;IAEzD,OAAO;MACHvC,YAAY,EAAEkC,GAAG,CAACU,MAAM,CAAC,CAAC,EAAEV,GAAG,CAACvC,MAAM,GAAG,CAAC,CAAC;MAC3CM,IAAI,EAAEiC,GAAG,CAACA,GAAG,CAACvC,MAAM,GAAG,CAAC;KAC3B;EACL;EAEA;EACA,OAAOkD,UAAUA,CAACN,KAAK;IACnB,IAAI,CAACA,KAAK,EACN,MAAM,IAAI3C,KAAK,CAAC,6BAA6B2C,KAAK,EAAE,CAAC;IAEzD,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAChB,OAAOA,KAAK,CAACI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,OAAOJ,KAAK;EAChB;EAEA;;;;EAIA,OAAOO,aAAaA,CAACP,KAAK;IACtB,MAAML,GAAG,GAAG,4DAA8D,EAAG;IAC7E,MAAMxC,OAAO,GAAGmC,SAAS,CAACC,eAAe,CAACS,KAAK,EAAE,GAAG,CAAC,CAChDQ,GAAG,CAAC3B,GAAG,IAAIA,GAAG,CAACO,IAAI,EAAE,CAACc,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACX,MAAM,CAAC,CAAC;IAEzD,KAAK,MAAMA,MAAM,IAAIb,OAAO,EAAE;MAC1B,IAAI,CAACa,MAAM,IAAI,CAACA,MAAM,CAACyC,MAAM,EACzB,MAAM,IAAIpD,KAAK,CAAC,uBAAuB2C,KAAK,EAAE,CAAC;MAEnD,MAAMU,IAAI,GAAG,4BAA8B1C,MAAM,CAACyC,MAAM,CAACC,IAAI,EAAEC,WAAW,EAAE,IAAI,IAAK;MAErF,IAAID,IAAI,IAAIA,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,MAAM,EACzC,MAAM,IAAIrD,KAAK,CAAC,qBAAqB2C,KAAK,EAAE,CAAC;MAEjDL,GAAG,CAACG,IAAI,CAAC;QACLpC,IAAI,EAAE4B,SAAS,CAACgB,UAAU,CAACtC,MAAM,CAACyC,MAAM,CAAC/C,IAAI,CAAC;QAC9CkD,EAAE,EAAI5C,MAAM,CAACyC,MAAM,CAACG,EAAE,GAAGtB,SAAS,CAACgB,UAAU,CAACtC,MAAM,CAACyC,MAAM,CAACG,EAAE,CAAC,GAAG,IAAI;QACtEF,IAAI,GAAE,oCAAsCA,IAAI;OACnD,CAAC;IACN;IAEA,OAAOf,GAAG;EACd;EAEA;;;;EAIA,OAAOkB,cAAcA,CAACC,GAAG,EAAEd,KAAK;IAC5B;IACA,MAAML,GAAG,GAAG,EAAE;IACd,MAAMoB,OAAO,GAAGf,KAAK,CAACC,QAAQ,CAACa,GAAG,CAAC;IAEnC,KAAK,MAAMZ,KAAK,IAAIa,OAAO,EACvBC,MAAM,CAACC,MAAM,CAACtB,GAAG,EAAE,GAAGlB,mEAAc,CAACyB,KAAK,CAACO,MAAM,IAAI,EAAE,CAAC,CAACD,GAAG,CAAC,CAAC,CAAEU,CAAC,EAAEC,CAAC,CAAE,KAAMA,CAAC,KAAKC,SAAS,GAAG,EAAE,GAAG;MAAE,CAACF,CAAC,GAAGC;IAAC,CAAG,CAAC,CAAC;IAEpH,OAAO;MAAEV,MAAM,EAAEd;IAAG,CAAE;EAC1B;EAEA;;;;EAIA,OAAO0B,gBAAgBA,CAACrB,KAAK;IACzB,MAAML,GAAG,GAAG,+DAAiE,EAAG;IAChF,MAAMxC,OAAO,GAAGmC,SAAS,CAACC,eAAe,CAACS,KAAK,EAAE,GAAG,CAAC,CAChDQ,GAAG,CAAC3B,GAAG,IAAIA,GAAG,CAACO,IAAI,EAAE,CAACc,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC2C,UAAU,CAAC,CAAC;IAE7D,KAAK,MAAMtD,MAAM,IAAIb,OAAO,EAAE;MAC1B,IAAI,CAACa,MAAM,IAAI,CAACA,MAAM,CAACyC,MAAM,EACzB,MAAM,IAAIpD,KAAK,CAAC,uBAAuB2C,KAAK,EAAE,CAAC;MAEnD,IAAI,CAAChC,MAAM,CAACyC,MAAM,CAAC/C,IAAI,EAAE;QAAE;QACvB,IAAI,CAACM,MAAM,CAACyC,MAAM,CAACc,gBAAgB,EAC/B,MAAM,IAAIlE,KAAK,CAAC,yCAAyC2C,KAAK,EAAE,CAAC;QAErE,MAAMuB,gBAAgB,GAAGvD,MAAM,CAACyC,MAAM,CAACc,gBAAgB,CAACnC,IAAI,EAAE,CACzDc,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC4C,gBAAgB,CAAC;QAE5C,IAAI,CAACA,gBAAgB,IAAI,CAACA,gBAAgB,CAACd,MAAM,EAC7C,MAAM,IAAIpD,KAAK,CAAC,iCAAiC2C,KAAK,EAAE,CAAC;QAE7D,MAAMwB,cAAc,GAAG,8BAAgC,EAAG;QAC1D,MAAMC,KAAK,GAAG,gFAAkF,EAAG;QAEnG,QAAQ,IAAI;UACR,KAAK,CAAC,CAACF,gBAAgB,CAACd,MAAM,CAACiB,gBAAgB;YAC3CF,cAAc,CAAC1B,IAAI,CACf,GAAGR,SAAS,CAACiB,aAAa,CAACgB,gBAAgB,CAACd,MAAM,CAACiB,gBAAgB,CAAC,CACvE;YAED,IAAIH,gBAAgB,CAACd,MAAM,CAAC/D,cAAc,EACtC+E,KAAK,CAAC/E,cAAc,GAAG,IAAI;YAE/B+E,KAAK,CAAClF,OAAO,GAAG,IAAI;YACpB;UAEJ,KAAK,CAAC,CAACgF,gBAAgB,CAACd,MAAM,CAACkB,WAAW;YACtCH,cAAc,CAAC1B,IAAI,CACf,GAAGR,SAAS,CAACiB,aAAa,CAACgB,gBAAgB,CAACd,MAAM,CAACkB,WAAW,CAAC,CAClE;YAEDF,KAAK,CAAChF,MAAM,GAAG,IAAI;YACnB;UAEJ;YACI,MAAM,IAAIY,KAAK,CAAC,sCAAsC2C,KAAK,EAAE,CAAC;QACtE;QAEA,MAAM4B,YAAY,GAAG,IAAIC,GAAG,CAACL,cAAc,CAAChB,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAC,CAAC;QAE7D,KAAK,MAAMqE,aAAa,IAAIpC,GAAG,CAACqC,MAAM,CAACF,CAAC,IAAIF,YAAY,CAACK,GAAG,CAACH,CAAC,CAACpE,IAAI,CAAC,CAAC,EAAE;UACnE,KAAK,MAAMwE,IAAI,IAAIxD,gEAAW,CAAC+C,KAAK,CAAC,EAAE;YACnC,IAAIA,KAAK,CAACS,IAAI,CAAC,KAAKd,SAAS,EACzB;YAEJW,aAAa,CAACG,IAAI,CAAC,GAAGT,KAAK,CAACS,IAAI,CAAC;UACrC;QACJ;QAEA;MACJ;MAEA,MAAMtE,WAAW,GAAG,gCAAkC;QAClDlB,cAAc,EAAE,KAAK;QACrBE,QAAQ,EAAE,KAAK;QACfL,OAAO,EAAE,KAAK;QACdE,MAAM,EAAE,KAAK;QACbK,OAAO,EAAE,IAAI;QACbI,UAAU,EAAE;OACd;MAEF,IAAIc,MAAM,CAACyC,MAAM,CAAC0B,UAAU,EAAE;QAC1B,MAAMC,iBAAiB,GAAG9C,SAAS,CAACuB,cAAc,CAACvB,SAAS,CAACX,KAAK,CAACwD,UAAU,EAAEnE,MAAM,CAACyC,MAAM,CAAC0B,UAAU,CAAC/C,IAAI,EAAE,CAAC;QACnF;QAE5B,IAAI,CAACgD,iBAAiB,IAAI,CAACA,iBAAiB,CAAC3B,MAAM,EAC/C,MAAM,IAAIpD,KAAK,CAAC,kCAAkCW,MAAM,CAACyC,MAAM,CAAC0B,UAAU,EAAE,CAAC;QAEjF,IAAIC,iBAAiB,CAAC3B,MAAM,CAAC/D,cAAc,EACvCkB,WAAW,CAAClB,cAAc,GAAG,IAAI;QAErC,IAAI0F,iBAAiB,CAAC3B,MAAM,CAAC7D,QAAQ,EACjCgB,WAAW,CAAChB,QAAQ,GAAG,IAAI;QAE/B,IAAIwF,iBAAiB,CAAC3B,MAAM,CAAC4B,WAAW,EACpCzE,WAAW,CAACrB,OAAO,GAAG,IAAI;QAE9B,IAAI6F,iBAAiB,CAAC3B,MAAM,CAAChE,MAAM,EAC/BmB,WAAW,CAACnB,MAAM,GAAG,IAAI;QAE7B,IAAI2F,iBAAiB,CAAC3B,MAAM,CAAC3D,OAAO,EAAE;UAClC,MAAMwF,CAAC,GAAGF,iBAAiB,CAAC3B,MAAM;UAElC,IAAI6B,CAAC,CAACC,YAAY,EAAE;YAChB3E,WAAW,CAACd,OAAO,GAAGwF,CAAC,CAACC,YAAY;UACxC,CAAC,MAAM;YACH3E,WAAW,CAACd,OAAO,GAAGwC,SAAS,CAACkD,WAAW,CAACF,CAAC,CAACG,cAAc,IAAIH,CAAC,CAACI,eAAe,IAAIJ,CAAC,CAACK,aAAa,CAAC;UACzG;QACJ;QAEA,IAAIP,iBAAiB,CAAC3B,MAAM,CAACvD,UAAU,EACnCU,WAAW,CAACV,UAAU,GAAG;UACrBM,KAAK,EAAI8B,SAAS,CAACS,YAAY,CAAIqC,iBAAiB,CAAC3B,MAAM,CAACmC,gBAAgB,IAAI,EAAE,CAAC;UACnFzF,OAAO,EAAEmC,SAAS,CAACC,eAAe,CAAC6C,iBAAiB,CAAC3B,MAAM,CAACoC,gBAAgB,IAAI,EAAE,EAAE,GAAG,CAAC,CAACrC,GAAG,CAACW,CAAC,IAAI7B,SAAS,CAACgB,UAAU,CAACa,CAAC,CAAC/B,IAAI,EAAE,CAAC,CAAC;UACjIxB,WAAW,EAAEwE,iBAAiB,CAAC3B,MAAM,CAACqC,qBAAqB,IAAI;SAClE;MACT;MAEA;MACA,MAAM5E,IAAI,GAAGF,MAAM,CAACyC,MAAM,CAACvC,IAAI,EAAEyC,WAAW,EAAE,IAAI,IAAI;MAEtD,IAAI,CAACzC,IAAI,EACL,MAAM,IAAIb,KAAK,CAAC,4BAA4B2C,KAAK,EAAE,CAAC;MAExDL,GAAG,CAACG,IAAI,CAAC;QACLpC,IAAI,EAAE4B,SAAS,CAACgB,UAAU,CAACtC,MAAM,CAACyC,MAAM,CAAC/C,IAAI,CAAC;QAC9CQ,IAAI,GAAE,2BAA6BA,IAAI,CAAC;QACxC,GAAGN;OACN,CAAC;IACN;IAEA,OAAO+B,GAAG;EACd;EAEA;;;;EAIA,OAAO6C,WAAWA,CAACxC,KAAK;IACpBA,KAAK,GAAGV,SAAS,CAACyD,SAAS,CAAC/C,KAAK,CAAC;IAElC,IAAIA,KAAK,KAAK,IAAI,EACd,OAAO,IAAI;IAEf,MAAMgD,GAAG,GAAGC,UAAU,CAACjD,KAAK,CAAC;IAE7B,IAAI,CAACkD,KAAK,CAACF,GAAG,CAAC,EACX,OAAOA,GAAG;IAEd,OAAOhD,KAAK;EAChB;EAEA;EACA,OAAO+C,SAASA,CAAClE,GAAG;IAChB,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKuC,SAAS,EACjC,OAAO,IAAI;IAEf,IAAIvC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EACd,OAAOA,GAAG,CAACuB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,OAAOvB,GAAG;EACd;EAEA;EACA,OAAOsE,SAASA,CAACtE,GAAG;IAChB,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKuC,SAAS,EACjC,OAAO,IAAI;IAEf,OAAOgC,QAAQ,CAACvE,GAAG,CAAC;EACxB;EAEA,OAAOF,KAAK,GAAG;IACX0E,MAAM,EAAE1E,0DAAM;;;;;;SAMZ,GAAG;IAEL2E,SAAS,EAAE3E,0DAAM;;;;;SAKf,GAAG;IAEL4E,OAAO,EAAE5E,0DAAM;;;;;SAKb,GAAG;IAEL6E,MAAM,EAAE7E,0DAAK;;;;;;;;;;;;SAYX,GAAG;IAEL8E,YAAY,EAAE9E,0DAAK;;;;;;;SAOjB,GAAG;IAEL+E,YAAY,EAAE/E,0DAAM;;;;;;;;;;;SAWlB,GAAG;IAELgF,MAAM,EAAEhF,0DAAM;;;;;SAKZ,GAAG;IAELiF,MAAM,EAAEjF,0DAAM;;;;;;;;;;SAUZ,GAAG;IAELkF,IAAI,EAAElF,0DAAM;;;;;;;;;;SAUV,GAAG;IAELmF,WAAW,EAAEnF,0DAAM;;;;;;;;;;;;;;;;;SAiBjB,GAAG;IAELX,MAAM,EAAEW,0DAAK;;;;;;;;SAQX,GAAG;IAEL2C,UAAU,EAAE3C,0DAAK;;;;;;;;;SASf,GAAG;IAELwD,UAAU,EAAExD,0DAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAgDf,IAAI;IAEN4C,gBAAgB,EAAE5C,0DAAK;;;;;;;;;;;;SAYrB;GACL;EAED;EACA,OAAOoF,KAAKA,CAAC5H,GAAG;IACZ,MAAMwD,GAAG,GAAG,6BAA+B,EAAG;IAC9C,MAAMqE,UAAU,GAAG1E,SAAS,CAACC,eAAe,CAACpD,GAAG,EAAE,GAAG,CAAC;IAEtD,KAAK,MAAM8H,OAAO,IAAID,UAAU,EAAE;MAC9B,MAAME,QAAQ,GAAGD,OAAO,CAAC7E,IAAI,EAAE;MAE/B,QAAQ,IAAI;QACR,KAAK,UAAU,CAAC+E,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC5B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC0E,MAAM,CAAC;YAEpD,IAAI,CAACU,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,QAAQ;cACdR,IAAI,EAAE4B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC/C,IAAI,CAAC;cAC/C0G,KAAK,EAAE9E,SAAS,CAACkD,WAAW,CAACuB,KAAK,CAACtD,MAAM,CAAC2D,KAAK;aAClD,CAAC;YAEF;UACJ;QAEA,KAAK,aAAa,CAACD,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC/B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC2E,SAAS,CAAC;YAEvD,IAAI,CAACS,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,WAAW;cACjBmG,cAAc,EAAE/E,SAAS,CAACyD,SAAS,CAACgB,KAAK,CAACtD,MAAM,CAAC/C,IAAI;aACxD,CAAC;YAEF;UACJ;QAEA,KAAK,WAAW,CAACyG,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC7B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC4E,OAAO,CAAC;YAErD,IAAI,CAACQ,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,SAAS;cACfmG,cAAc,EAAE/E,SAAS,CAACyD,SAAS,CAACgB,KAAK,CAACtD,MAAM,CAAC/C,IAAI;aACxD,CAAC;YAEF;UACJ;QAEA,KAAK,UAAU,CAACyG,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC5B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC6E,MAAM,CAAC;YAEpD,IAAI,CAACO,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,QAAQ;cACdoG,QAAQ,EAAE,CAAC,CAACP,KAAK,CAACtD,MAAM,CAAC6D,QAAQ;cACjCnH,OAAO,EAAGmC,SAAS,CAACiB,aAAa,CAACwD,KAAK,CAACtD,MAAM,CAACtD,OAAO,CAAC;cACvDoH,IAAI,EACAjF,SAAS,CAACC,eAAe,CAACwE,KAAK,CAACtD,MAAM,CAAC+D,UAAU,EAAE,GAAG,CAAC,CAClDhE,GAAG,CAACiE,CAAC,IAAInF,SAAS,CAACS,YAAY,CAAC0E,CAAC,CAAC,CAC1C;cACDC,KAAK,EAAKpF,SAAS,CAACyD,SAAS,CAACgB,KAAK,CAACtD,MAAM,CAACkE,UAAU,CAAE;cACvDC,QAAQ,EAAEtF,SAAS,CAACyD,SAAS,CAACgB,KAAK,CAACtD,MAAM,CAACoE,UAAU,CAAE;cACvDC,QAAQ,EAAExF,SAAS,CAACyD,SAAS,CAACgB,KAAK,CAACtD,MAAM,CAACsE,UAAU,CAAE;cACvDC,MAAM,EAAI1F,SAAS,CAAC6D,SAAS,CAACY,KAAK,CAACtD,MAAM,CAACwE,WAAW,CAAC;cACvDC,KAAK,EAAK5F,SAAS,CAAC6D,SAAS,CAACY,KAAK,CAACtD,MAAM,CAAC0E,UAAU;aACxD,CAAC;YAEF;UACJ;QAEA,KAAK,gBAAgB,CAAChB,IAAI,CAACD,QAAQ,CAAC;UAAE;YAClC,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC8E,YAAY,CAAC;YAE1D,IAAI,CAACM,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,cAAc;cACpBkH,aAAa,EAAE,CAAC,CAACrB,KAAK,CAACtD,MAAM,CAAC2E,aAAa;cAC3C5H,KAAK,EAAU8B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC4E,SAAS,CAAC;cAC7DlI,OAAO,EAAQmC,SAAS,CAAC+B,gBAAgB,CAAC0C,KAAK,CAACtD,MAAM,CAACoC,gBAAgB;aAC1E,CAAC;YAEF;UACJ;QAEA,KAAK,UAAU,CAACsB,IAAI,CAACD,QAAQ,CAAC;UAAE;YAAE;YAC9B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAAC+E,YAAY,CAAC;YAE1D,IAAI,CAACK,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,cAAc;cACpBR,IAAI,EAAW4B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC4E,SAAS,CAAC;cAC7DC,UAAU,EAAKhG,SAAS,CAACgB,UAAU,CAACyD,KAAK,CAACtD,MAAM,CAAC+D,UAAU,CAAC;cAC5DY,aAAa,EAAE,CAAC,CAACrB,KAAK,CAACtD,MAAM,CAAC2E,aAAa;cAC3C3I,MAAM,EAAS,CAAC,CAACsH,KAAK,CAACtD,MAAM,CAAChE,MAAM;cACpCU,OAAO,EAAQmC,SAAS,CAACiB,aAAa,CAACwD,KAAK,CAACtD,MAAM,CAAC8E,YAAY;aACnE,CAAC;YAEF;UACJ;QAEA,KAAK,UAAU,CAACpB,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC5B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACiF,MAAM,CAAC;YAEpD,IAAI,CAACG,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/C,MAAMsB,IAAI,GAAGlG,SAAS,CAACyE,KAAK,CAAC,GAAGA,KAAK,CAACtD,MAAM,CAACgF,WAAW,IAAI1B,KAAK,CAACtD,MAAM,CAACiF,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;YAE3F,IAAI,CAACF,IAAI,IAAKA,IAAI,CAACtH,IAAI,KAAK,QAAQ,IAAIsH,IAAI,CAACtH,IAAI,KAAK,QAAS,EAC3D,MAAM,IAAIb,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,QAAQ;cACdV,KAAK,EAAU8B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC+D,UAAU,CAAC;cAC9DrH,OAAO,EAAQmC,SAAS,CAACiB,aAAa,CAACwD,KAAK,CAACtD,MAAM,CAAC8E,YAAY,CAAC;cACjEC,IAAI,EAAWA;aAClB,CAAC;YAEF;UACJ;QAEA,KAAK,UAAU,CAACrB,IAAI,CAACD,QAAQ,CAAC;UAAE;YAC5B,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACgF,MAAM,CAAC;YAEpD,IAAI,CAACI,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/C,MAAMyB,MAAM,GAAGrG,SAAS,CAACC,eAAe,CAACwE,KAAK,CAACtD,MAAM,CAACkF,MAAM,EAAE,GAAG,CAAC,CAC7DnF,GAAG,CAACW,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG8B,UAAU,CAAC9B,CAAC,CAAC,GAAGA,CAAC,CAACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAE5DT,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,QAAQ;cACdyH;aACH,CAAC;YAEF;UACJ;QAEA,KAAK,cAAc,CAACxB,IAAI,CAACD,QAAQ,CAAC;UAAE;YAChC,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACkF,IAAI,CAAC;YAElD,IAAI,CAACE,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,YAAY;cAClBkH,aAAa,EAAE,CAAC,CAACrB,KAAK,CAACtD,MAAM,CAAC2E,aAAa;cAC3C5H,KAAK,EAAE8B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC/C,IAAI;aAClD,CAAC;YAEF;UACJ;QAEA,KAAK,cAAc,CAACyG,IAAI,CAACD,QAAQ,CAAC;UAAE;YAChC,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACkF,IAAI,CAAC;YAElD,IAAI,CAACE,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/CvE,GAAG,CAACG,IAAI,CAAC;cACL5B,IAAI,EAAE,YAAY;cAClBkH,aAAa,EAAE,CAAC,CAACrB,KAAK,CAACtD,MAAM,CAAC2E,aAAa;cAC3C1H,IAAI,EAAE4B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC/C,IAAI;aACjD,CAAC;YAEF;UACJ;QAEA,KAAK,eAAe,CAACyG,IAAI,CAACD,QAAQ,CAAC;UAAE;YACjC,MAAMH,KAAK,GAAGG,QAAQ,CAAChE,KAAK,CAACZ,SAAS,CAACX,KAAK,CAACmF,WAAW,CAAC;YAEzD,IAAI,CAACC,KAAK,IAAI,CAACA,KAAK,CAACtD,MAAM,EACvB,MAAM,IAAIpD,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YAE/C,MAAM1G,KAAK,GAAG8B,SAAS,CAACS,YAAY,CAACgE,KAAK,CAACtD,MAAM,CAAC+D,UAAU,CAAC;YAE7D,QAAQ,IAAI;cACR,KAAK,CAAC,CAACT,KAAK,CAACtD,MAAM,CAACmF,SAAS;gBACzBjG,GAAG,CAACG,IAAI,CAAC;kBACL5B,IAAI,EAAE,iBAAiB;kBACvBV,KAAK;kBACLqI,EAAE,EAAEvG,SAAS,CAACgB,UAAU,CAACyD,KAAK,CAACtD,MAAM,CAACmF,SAAS;iBAClD,CAAC;gBACF;cAEJ,KAAK,CAAC,CAAC7B,KAAK,CAACtD,MAAM,CAACqF,UAAU;gBAC1BnG,GAAG,CAACG,IAAI,CAAC;kBACL5B,IAAI,EAAE,qBAAqB;kBAC3BV,KAAK;kBACL+G,IAAI,EAAEjF,SAAS,CAACgB,UAAU,CAACyD,KAAK,CAACtD,MAAM,CAACsF,eAAe,CAAC;kBACxDF,EAAE,EAAEvG,SAAS,CAACgB,UAAU,CAACyD,KAAK,CAACtD,MAAM,CAACuF,aAAa;iBACtD,CAAC;gBACF;cAEJ,KAAK,CAAC,CAACjC,KAAK,CAACtD,MAAM,CAACwF,OAAO;gBAAE;kBACzB,MAAMjI,MAAM,GAAGsB,SAAS,CAAC+B,gBAAgB,CAAC0C,KAAK,CAACtD,MAAM,CAACwF,OAAO,CAAC,CAAC,CAAC,CAAC;kBAElE,IAAI,CAACjI,MAAM,EACP,MAAM,IAAIX,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;kBAE/CvE,GAAG,CAACG,IAAI,CAAC;oBACL5B,IAAI,EAAE,WAAW;oBACjBV,KAAK;oBACLQ,MAAM,EAAEA;mBACX,CAAC;kBACF;gBACJ;cAEA,KAAK,CAAC,CAAC+F,KAAK,CAACtD,MAAM,CAACyF,QAAQ;gBACxBvG,GAAG,CAACG,IAAI,CAAC;kBACL5B,IAAI,EAAE,YAAY;kBAClBV,KAAK;kBACLF,WAAW,EAAEgC,SAAS,CAACgB,UAAU,CAACyD,KAAK,CAACtD,MAAM,CAACyF,QAAQ;iBAC1D,CAAC;gBACF;cAEJ;gBACI,MAAM,IAAI7I,KAAK,CAAC,gBAAgB6G,QAAQ,EAAE,CAAC;YACnD;YAEA;UACJ;QAEA,KAAKA,QAAQ,CAAC9E,IAAI,EAAE,KAAK,EAAE;UACvB;QAEJ;UACI,MAAM,IAAI/B,KAAK,CAAC,0BAA0B6G,QAAQ,EAAE,CAAC;MAC7D;IACJ;IAEA,OAAOvE,GAAG;EACd;;AAGE,MAAOwG,cAAc;EACvB;;;;;;EAMA;EACA;EACAC,YAAYC,EAAE;IACV,IAAI,CAACA,EAAE,GAAGA,EAAE;EAChB;EAEA;;;;;;;;;;;EAWAC,SAASA,CAAC9I,KAAK;IACX,OAAO,IAAI,CAAC6I,EAAE,CAACE,OAAO,CAAC,oCAAoC/I,KAAK,IAAI,CAAC,CAChEgJ,GAAG,EAAE,CACLhG,GAAG,CAAC,CAAC,gBAAiBiG,CAAC,KAAI;MAAG,OAAO;QAAE,GAAGA,CAAC;QAAEC,OAAO,EAAE,CAAC,CAACD,CAAC,CAACC,OAAO;QAAEC,EAAE,EAAE,CAAC,CAACF,CAAC,CAACE;MAAE,CAAE;IAAE,CAAC,CAAC;EAC5F;EAEA;;;;;;;;;EASAC,WAAWA,CAAA;IACP,OAAO,gBAAkB,IAAI,CAACP,EAAE,CAACE,OAAO,CAAC,6BAA6B,CAAC,CAClEC,GAAG,EAAE,CAACxE,MAAM,CAAC,CAAC,gBAAiByE,CAAC,KAAKA,CAAC,CAAC/I,IAAI,IAAI,iBAAiB,CAAC;EAC1E;EAEA;;;;;;;;;;;;;;;;;;;;;;EAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA;;;;EAIA,OAAOmJ,WAAWA,CAACC,EAAE,EAAEC,EAAE;IACrB,IAAID,EAAE,KAAK,IAAI,IAAIC,EAAE,KAAK,IAAI,EAC1B,OAAO,IAAI;IAEf,IAAID,EAAE,KAAK,IAAI,IAAI,OAAOA,EAAE,IAAI,QAAQ,EACpCA,EAAE,GAAGzI,IAAI,CAAC2I,GAAG,CAACF,EAAE,CAACvC,IAAI,EAAEuC,EAAE,CAACjB,EAAE,CAAC;IAEjC,IAAIkB,EAAE,KAAK,IAAI,IAAI,OAAOA,EAAE,IAAI,QAAQ,EACpCA,EAAE,GAAG1I,IAAI,CAAC2I,GAAG,CAACD,EAAE,CAACxC,IAAI,EAAEwC,EAAE,CAAClB,EAAE,CAAC;IAEjC,IAAIiB,EAAE,KAAK,IAAI,EACX,OAAOC,EAAE;IAEb,IAAIA,EAAE,KAAK,IAAI,EACX,OAAOD,EAAE;IAEb,OAAOzI,IAAI,CAAC2I,GAAG,CAACF,EAAE,EAAEC,EAAE,CAAC;EAC3B;EAEA;;;;EAIA,OAAOE,WAAWA,CAACH,EAAE,EAAEC,EAAE;IACrB,IAAID,EAAE,KAAK,IAAI,IAAIC,EAAE,KAAK,IAAI,EAC1B,OAAO,IAAI;IAEf,IAAID,EAAE,KAAK,IAAI,IAAI,OAAOA,EAAE,IAAI,QAAQ,EACpCA,EAAE,GAAGzI,IAAI,CAAC6I,GAAG,CAACJ,EAAE,CAACvC,IAAI,EAAEuC,EAAE,CAACjB,EAAE,CAAC;IAEjC,IAAIkB,EAAE,KAAK,IAAI,IAAI,OAAOA,EAAE,IAAI,QAAQ,EACpCA,EAAE,GAAG1I,IAAI,CAAC6I,GAAG,CAACH,EAAE,CAACxC,IAAI,EAAEwC,EAAE,CAAClB,EAAE,CAAC;IAEjC,IAAIiB,EAAE,KAAK,IAAI,EACX,OAAOC,EAAE;IAEb,IAAIA,EAAE,KAAK,IAAI,EACX,OAAOD,EAAE;IAEb,OAAOzI,IAAI,CAAC6I,GAAG,CAACJ,EAAE,EAAEC,EAAE,CAAC;EAC3B;EAEA;;;;EAIA,OAAOI,gBAAgBA,CAACL,EAAE,EAAEC,EAAE;IAC1B,MAAMK,KAAK,GAAGjB,cAAc,CAACU,WAAW,CAACC,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMO,KAAK,GAAGlB,cAAc,CAACc,WAAW,CAACH,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMQ,KAAK,GAAGnB,cAAc,CAACU,WAAW,CAACE,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMQ,KAAK,GAAGpB,cAAc,CAACc,WAAW,CAACF,EAAE,EAAE,IAAI,CAAC;IAElD,IAAIK,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,EACpE,OAAO,IAAI;IAEf,OAAOH,KAAK,GAAGE,KAAK,IAAID,KAAK,GAAGE,KAAK;EACzC;EAEA;;;;EAIA,OAAOC,eAAeA,CAACV,EAAE,EAAEC,EAAE;IACzB,MAAMK,KAAK,GAAGjB,cAAc,CAACU,WAAW,CAACC,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMO,KAAK,GAAGlB,cAAc,CAACc,WAAW,CAACH,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMQ,KAAK,GAAGnB,cAAc,CAACU,WAAW,CAACE,EAAE,EAAE,IAAI,CAAC;IAClD,MAAMQ,KAAK,GAAGpB,cAAc,CAACc,WAAW,CAACF,EAAE,EAAE,IAAI,CAAC;IAElD,IAAIK,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,IAAIC,KAAK,KAAK,IAAI,EACpE,OAAO,IAAI;IAEf,OACIH,KAAK,IAAIE,KAAK,IAAIF,KAAK,IAAIG,KAAK,IAChCF,KAAK,IAAIE,KAAK,IAAIF,KAAK,IAAIC,KAAK;EAExC;EAEA;;;;EAIA,OAAOG,oBAAoBA,CAACX,EAAE,EAAEC,EAAE;IAC9B,MAAMW,QAAQ,GAAGvB,cAAc,CAACgB,gBAAgB,CAACL,EAAE,EAAEC,EAAE,CAAC;IACxD,MAAMY,OAAO,GAAGxB,cAAc,CAACqB,eAAe,CAACV,EAAE,EAAEC,EAAE,CAAC;IAEtD,OAAO,CAACW,QAAQ,IAAI,CAACC,OAAO;EAChC;EAEA;;;;;;;EAOAC,kBAAkBA,CAACC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,SAAS;IAC/C,IAAI,CAACF,IAAI,CAACG,MAAM,CAAChG,GAAG,CAAC8F,QAAQ,CAAC,EAC1BD,IAAI,CAACG,MAAM,CAACC,GAAG,CAACH,QAAQ,EAAE,IAAIlG,GAAG,CAAC,CAAEiG,IAAI,CAAE,CAAC,CAAC;IAEhD;IACA,MAAMnI,GAAG,GAAG,CAAEmI,IAAI,CAAE;IACpB,MAAMK,WAAW,GAAGL,IAAI,CAACG,MAAM,CAACG,GAAG,CAACL,QAAQ,CAAC;IAE7C,IAAI,CAACI,WAAW,EACZ,MAAM,IAAI9K,KAAK,CAAC,qBAAqB,CAAC;IAE1C,KAAK,MAAMgL,CAAC,IAAIR,KAAK,EAAE;MACnB,IAAI,CAACQ,CAAC,CAACJ,MAAM,CAAChG,GAAG,CAAC8F,QAAQ,CAAC,EACvBM,CAAC,CAACJ,MAAM,CAACC,GAAG,CAACH,QAAQ,EAAE,IAAIlG,GAAG,CAAC,CAAEwG,CAAC,CAAE,CAAC,CAAC;MAE1C,MAAMC,QAAQ,GAAGD,CAAC,CAACJ,MAAM,CAACG,GAAG,CAACL,QAAQ,CAAC;MAEvC,IAAI,CAACO,QAAQ,EACT,MAAM,IAAIjL,KAAK,CAAC,uBAAuB,CAAC;MAE5C,IAAI8K,WAAW,CAAClG,GAAG,CAACoG,CAAC,CAAC,EAClB;MAEJ,IAAIL,SAAS,CAACF,IAAI,EAAEO,CAAC,CAAC,EAAE;QACpBF,WAAW,CAACI,GAAG,CAACF,CAAC,CAAC;QAClBC,QAAQ,CAACC,GAAG,CAACT,IAAI,CAAC;QAElBnI,GAAG,CAACG,IAAI,CAACuI,CAAC,CAAC;MACf;IACJ;IAEA,IAAI,CAAC1I,GAAG,CAACvC,MAAM,EACX,OAAO,EAAE;IAEb,MAAMoL,KAAK,GAAG7I,GAAG,CAAC8I,MAAM,CAAC,CAACC,IAAI,EAAEL,CAAC,KAAKlC,cAAc,CAACU,WAAW,CAAC6B,IAAI,EAAEL,CAAC,CAACM,KAAK,CAAC,EAAE,sBAAwB,IAAK,CAAC;IAC/G,MAAMC,KAAK,GAAGjJ,GAAG,CAAC8I,MAAM,CAAC,CAACC,IAAI,EAAEL,CAAC,KAAKlC,cAAc,CAACc,WAAW,CAACyB,IAAI,EAAEL,CAAC,CAACM,KAAK,CAAC,EAAE,sBAAwB,IAAK,CAAC;IAE/G,IAAIH,KAAK,KAAK,IAAI,IAAII,KAAK,KAAK,IAAI,EAChC,MAAM,IAAIvL,KAAK,CAAC,eAAe,CAAC;IAEpC,OAAO,CAAC;MACJa,IAAI,EAAE,MAAM;MACZ6J,QAAQ;MACRc,KAAK,EAAElJ,GAAG;MACVgJ,KAAK,EAAE;QAAEpE,IAAI,EAAEiE,KAAK;QAAE3C,EAAE,EAAE+C;MAAK;KAClC,CAAC;EACN;EAEA;EACAE,6BAA6BA,CAAC3M,GAAG;IAC7B;IACA,MAAM4M,MAAM,GAAGzJ,SAAS,CAACyE,KAAK,CAAC5H,GAAG,CAAC,CAACqE,GAAG,CAAC,CAACwI,CAAC,EAAE7J,CAAC,KAAI;MAC7C,OAAO;QACHjB,IAAI,EAAE,aAAa;QACnByK,KAAK,EAAExJ,CAAC;QACR2I,IAAI,EAAEkB,CAAC;QACPf,MAAM,EAAE,IAAIgB,GAAG;OAClB;IACL,CAAC,CAAC;IAEF;IACA,MAAMC,MAAM,GAAG,EAAE;IAEjB,KAAK,MAAMpB,IAAI,IAAIiB,MAAM,EAAE;MACvB,QAAQjB,IAAI,CAACA,IAAI,CAAC5J,IAAI;QAClB,KAAK,WAAW;QAChB,KAAK,SAAS;UACVgL,MAAM,CAACpJ,IAAI,CAAC,GAAG,IAAI,CAAC8H,kBAAkB,CAACmB,MAAM,EAAEjB,IAAI,EAAE,cAAc,EAAE,CAACqB,SAAS,EAAEd,CAAC,KAAI;YAClF,IAAI,gBAAgB,IAAIc,SAAS,CAACrB,IAAI,IAAI,gBAAgB,IAAIO,CAAC,CAACP,IAAI,EAChE,OAAOqB,SAAS,CAACrB,IAAI,CAACzD,cAAc,KAAKgE,CAAC,CAACP,IAAI,CAACzD,cAAc;YAElE,OAAO,KAAK;UAChB,CAAC,CAAC,CAAC;UACH;QAEJ,KAAK,QAAQ;QACb,KAAK,cAAc;QACnB,KAAK,QAAQ;QACb,KAAK,YAAY;QACjB,KAAK,iBAAiB;QACtB,KAAK,qBAAqB;QAC1B,KAAK,WAAW;QAChB,KAAK,YAAY;UAAE;YACf,IAAI7G,KAAK,GAAG,IAAI;YAEhB,IAAI,OAAO,IAAIsK,IAAI,CAACA,IAAI,EAAE;cACtBtK,KAAK,GAAG,IAAIqE,GAAG,CAACiG,IAAI,CAACA,IAAI,CAACtK,KAAK,CAACE,IAAI,CAAC;YACzC,CAAC,MAAM,IAAI,MAAM,IAAIoK,IAAI,CAACA,IAAI,EAAE;cAC5BtK,KAAK,GAAG,IAAIqE,GAAG,CAACiG,IAAI,CAACA,IAAI,CAACvD,IAAI,CAAC/D,GAAG,CAACiE,CAAC,IAAIA,CAAC,CAAC/G,IAAI,CAAC,CAAC;YACpD,CAAC,MAAM;cACH,MAAM,IAAIL,KAAK,CAAC,eAAe,CAAC;YACpC;YAEA6L,MAAM,CAACpJ,IAAI,CAAC,GAAG,IAAI,CAAC8H,kBAAkB,CAACmB,MAAM,EAAEjB,IAAI,EAAE,YAAY,EAAE,CAACqB,SAAS,EAAEd,CAAC,KAAI;cAChF,IAAI,OAAO,IAAIA,CAAC,CAACP,IAAI,EAAE;gBACnB,OAAOtK,KAAK,CAACyE,GAAG,CAACoG,CAAC,CAACP,IAAI,CAACtK,KAAK,CAACE,IAAI,CAAC;cACvC,CAAC,MAAM,IAAI,MAAM,IAAI2K,CAAC,CAACP,IAAI,EAAE;gBACzB,OAAOO,CAAC,CAACP,IAAI,CAACvD,IAAI,CAAC6E,IAAI,CAAC3E,CAAC,IAAIjH,KAAK,CAACyE,GAAG,CAACwC,CAAC,CAAC/G,IAAI,CAAC,CAAC;cACnD;cAEA,OAAO,KAAK;YAChB,CAAC,CAAC,CAAC;YAEH;UACJ;MACJ;IACJ;IAEA2L,OAAO,CAACC,GAAG,CAACJ,MAAM,CAAC;EACvB;EAEA;EACAK,kBAAkBA,CAACpN,GAAG;IAClB,IAAI2C,KAAK,CAACC,OAAO,CAAC5C,GAAG,CAAC,EAClBA,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;IAEhB;EACJ;;;AClrCyB;AACW;AAIjC,eAAeqN,UAAUA,CAAKnD,EAAc,EAAE7I,KAAgC;EACjF,OACI,CAAC,MAAMrB,sCAAG,oCAAoCA,sCAAG,CAACa,GAAG,CAACQ,KAAK,CAAC,IAAI,CAACiM,OAAO,CAACpD,EAAE,CAAC,EACvEqD,IAAI,CAAClJ,GAAG,CAAEiG,CAAM,KAAM;IAAE,GAAGA,CAAC;IAAEC,OAAO,EAAE,CAAC,CAACD,CAAC,CAACC,OAAO;IAAEC,EAAE,EAAE,CAAC,CAACF,CAAC,CAACE,EAAE;IAAEzI,IAAI,EAAEuI,CAAC,CAACvI,IAAI,CAACyC,WAAW;EAAE,CAAE,CAAC,CAAC;AAS3G;AAEO,eAAegJ,YAAYA,CAACtD,EAAe;EAC9C,OACI,CAAC,MAAMA,EAAE,CACJuD,UAAU,CAAC,eAAe,CAAC,CAC3BC,SAAS,EAAE,CACXJ,OAAO,EAAE,EACZzH,MAAM,CAAEyE,CAAM,IAAKA,CAAC,CAAC/I,IAAI,IAAI,iBAAiB,CAAC;AAQzD;AAEO,eAAeoM,gBAAgBA,CAAKzD,EAAc,EAAE7I,KAAgC;EACvF,MAAMuM,MAAM,GAAG,CAAC,MAAMJ,YAAY,CAACtD,EAAE,CAAC,EAAE2D,IAAI,CAACvD,CAAC,IAAIA,CAAC,CAAC/I,IAAI,IAAIF,KAAK,CAAC;EAElE,IAAI,CAACuM,MAAM,EACP,OAAO,KAAK;EAEhB,MAAME,MAAM,GAAG3K,SAAS,CAACyE,KAAK,CAACgG,MAAM,CAAC5N,GAAG,CAAC,CAAC,CAAC,CAAC;EAE7C,IAAI8N,MAAM,EAAE/L,IAAI,IAAI,cAAc,EAC9B,OAAO,KAAK;EAEhB,OAAO+L,MAAM;AACjB,C;;AC/C6B;AAGtB,eAAeC,mBAAmBA,CAAC7D,EAAe,EAAE8D,MAAe;EACtE,OAAOhO,sCAAG,yBAAyBA,sCAAG,CAACc,GAAG,CAACkN,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAACV,OAAO,CAACpD,EAAE,CAAC;AAC5E;AAEO,eAAe+D,yBAAyBA,CAAC/D,EAAe,EAAE8D,MAAe;EAC5E,OAAOhO,sCAAG,+BAA+BA,sCAAG,CAACc,GAAG,CAACkN,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAACV,OAAO,CAACpD,EAAE,CAAC;AAClF,C;;ACToD;AACR;AACG;AAM/C;;;AAGO,eAAegE,gBAAgBA,CAClChE,EAAc,EACd7I,KAAS,EACTF,WAAe,EACfgN,WAAgC,EAChCC,KAAgB,EAChBlO,GAA8D,EAC9DmO,EAA2F;EAE3F,MAAMN,mBAAmB,CAAC7D,EAAE,EAAE,KAAK,CAAC;EACpC,MAAMA,EAAE,CACHoE,WAAW,EAAE,CACbhB,OAAO,CAAC,MAAOiB,GAAG,IAAI;IACnB,MAAMC,WAAW,GAAGvM,YAAY,CAACZ,KAAK,CAAC;IACvC,MAAMyM,MAAM,GAAG,MAAMH,gBAAgB,CAACY,GAAG,EAAElN,KAAK,CAAC;IAEjD,IAAI,CAACyM,MAAM,EACP,MAAM,IAAI5M,KAAK,CAAC,SAASG,KAAK,iBAAiB,CAAC;IAEpD,IAAIyM,MAAM,CAAC9M,OAAO,CAACiM,IAAI,CAACtH,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC,EAC/C,OAAO,CAAC;IAEZ,MAAMsN,gBAAgB,GAAGX,MAAM,CAAC9M,OAAO,CAAC0N,SAAS,CAAC/I,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAI6M,KAAK,CAAC;IAEvE,IAAIO,aAAa,GAAI,EAAW;IAChC,IAAIC,cAAc,GAAG,EAAW;IAEhC,IAAIH,gBAAgB,KAAK,CAAC,CAAC,EAAE;MACzBE,aAAa,GAAIb,MAAM,CAAC9M,OAAO,CAACiD,KAAK,CAAC,CAAC,EAAEwK,gBAAgB,GAAG,CAAC,CAAC;MAC9DG,cAAc,GAAGd,MAAM,CAAC9M,OAAO,CAACiD,KAAK,CAACwK,gBAAgB,GAAG,CAAC,CAAC;IAC/D,CAAC,MAAM;MACHE,aAAa,GAAG,EAAE;MAClBC,cAAc,GAAGd,MAAM,CAAC9M,OAAO;IACnC;IAEA,IAAIY,OAAO,GAAG2M,GAAG,CAACT,MAAM,CAACe,WAAW,CAACL,WAAW,CAAC;IAC7C5M,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAE+M,aAAa,CAAC;IAC7C/M,OAAO,GAAGA,OAAO,CAACE,SAAS,CAACX,WAAW,EAAEgN,WAAW,EAAEjO,GAAG,CAAC;IAC1D0B,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAEgN,cAAc,CAAC;IAClD,MAAMhN,OAAO,CAAC0L,OAAO,EAAE;IAEvB,MAAMiB,GAAG,CACJO,UAAU,CAACN,WAAW,CAAC,CACvBxN,OAAO,CAAC,CACL,GAAG2N,aAAa,CAACtK,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAC,EACjC,IAAI8M,EAAE,GAAG,CAAElN,WAAW,CAAE,GAAG,EAAE,CAAC,EAC9B,GAAGyN,cAAc,CAACvK,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAC,CACrC,CAAC,CACDwN,UAAU,CAAC,MAAOR,GAAW,CACzBd,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAAC,CACJ,GAAGL,aAAa,CAACtK,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,EAC/C,IAAI8M,EAAE,GAAG,CAAEA,EAAE,CAAE,GAAG,EAAE,CAAC,EACrB,GAAGO,cAAc,CAACvK,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,CACnD,CAAC,CAAC,CACN0N,uBAAuB,EAAE;IAE9B,MAAMV,GAAG,CAACT,MAAM,CACXoB,SAAS,CAAC7N,KAAK,CAAC,CAChBiM,OAAO,EAAE;IAEd,MAAMiB,GAAG,CAACT,MAAM,CACXqB,UAAU,CAACX,WAAW,CAAC,CACvBY,QAAQ,CAAC/N,KAAK,CAAC,CACfiM,OAAO,EAAE;EAClB,CAAC,CAAC;EACN,MAAMS,mBAAmB,CAAC7D,EAAE,EAAE,IAAI,CAAC;AACvC,C;;AC9EoD;AACR;AACG;AAM/C;;;AAGO,eAAemF,iBAAiBA,CACnCnF,EAAc,EACd7I,KAAS,EACTF,WAAmB;EAEnB,MAAM4M,mBAAmB,CAAC7D,EAAE,EAAE,KAAK,CAAC;EACpC,MAAMA,EAAE,CACHoE,WAAW,EAAE,CACbhB,OAAO,CAAC,MAAOiB,GAAG,IAAI;IACnB,MAAMC,WAAW,GAAGvM,YAAY,CAACZ,KAAK,CAAC;IACvC,MAAMyM,MAAM,GAAG,MAAMH,gBAAgB,CAACY,GAAG,EAAElN,KAAK,CAAC;IAEjD,IAAI,CAACyM,MAAM,EACP,MAAM,IAAI5M,KAAK,CAAC,SAASG,KAAK,iBAAiB,CAAC;IAEpD,IAAI,CAACyM,MAAM,CAAC9M,OAAO,CAAC6M,IAAI,CAAClI,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC,EAAEY,IAAI,EACtD,OAAO,CAAC;IAEZ,MAAMf,OAAO,GAAG8M,MAAM,CAAC9M,OAAO,CAAC6E,MAAM,CAACF,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC;IAEjE,IAAIS,OAAO,GAAG2M,GAAG,CAACT,MAAM,CAACe,WAAW,CAACL,WAAW,CAAC;IAC7C5M,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAEZ,OAAO,CAAC;IAC3C,MAAMY,OAAO,CAAC0L,OAAO,EAAE;IAEvB,MAAMiB,GAAG,CACJO,UAAU,CAACN,WAAW,CAAC,CACvBxN,OAAO,CAACA,OAAO,CAACqD,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAQ,CAAC,CACxCwN,UAAU,CAACV,EAAE,IAAKA,EAAU,CACxBZ,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAAChO,OAAO,CAACqD,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,CAAC,CAAC,CACnD0N,uBAAuB,EAAE;IAE9B,MAAMV,GAAG,CAACT,MAAM,CACXoB,SAAS,CAAC7N,KAAK,CAAC,CAChBiM,OAAO,EAAE;IAEd,MAAMiB,GAAG,CAACT,MAAM,CACXqB,UAAU,CAACX,WAAW,CAAC,CACvBY,QAAQ,CAAC/N,KAAK,CAAC,CACfiM,OAAO,EAAE;EAClB,CAAC,CAAC;EACN,MAAMS,mBAAmB,CAAC7D,EAAE,EAAE,IAAI,CAAC;AACvC,C;;ACrDoD;AACR;AACG;AAM/C;;;AAGO,eAAeoF,mBAAmBA,CACrCpF,EAAc,EACd7I,KAAS,EACTF,WAAmB,EACnBoO,eAAkC;EAElC,MAAMxB,mBAAmB,CAAC7D,EAAE,EAAE,KAAK,CAAC;EACpC,MAAMA,EAAE,CACHoE,WAAW,EAAE,CACbhB,OAAO,CAAC,MAAOiB,GAAG,IAAI;IACnB,MAAMC,WAAW,GAAGvM,YAAY,CAACZ,KAAK,CAAC;IACvC,MAAMyM,MAAM,GAAG,MAAMH,gBAAgB,CAACY,GAAG,EAAElN,KAAK,CAAC;IAEjD,IAAI,CAACyM,MAAM,EACP,MAAM,IAAI5M,KAAK,CAAC,SAASG,KAAK,iBAAiB,CAAC;IAEpD,MAAML,OAAO,GAAG8M,MAAM,CAAC9M,OAAO;IAE9B,IAAIA,OAAO,CAACiM,IAAI,CAACtH,CAAC,IAAIA,CAAC,CAACpE,IAAI,KAAKgO,eAAe,CAAC,EAC7C,OAAO,CAAC;IAEZ,IAAI3N,OAAO,GAAG2M,GAAG,CAACT,MAAM,CAACe,WAAW,CAACL,WAAW,CAAC;IAC7C5M,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAEZ,OAAO,CAACqD,GAAG,CAACsB,CAAC,KAAK;MAAE,GAAGA,CAAC;MAAEpE,IAAI,EAAEoE,CAAC,CAACpE,IAAI,IAAIJ,WAAW,GAAGoO,eAAe,GAAG5J,CAAC,CAACpE;IAAI,CAAE,CAAC,CAAC,CAAC;IACxH,MAAMK,OAAO,CAAC0L,OAAO,EAAE;IAEvB,MAAMiB,GAAG,CACJO,UAAU,CAACN,WAAW,CAAC,CACvBxN,OAAO,CAACA,OAAO,CAACqD,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,GAAGoO,eAAe,GAAG5J,CAAC,CAACpE,IAAI,CAAQ,CAAC,CAClFwN,UAAU,CAACV,EAAE,IAAKA,EAAU,CACxBZ,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAAChO,OAAO,CAACqD,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,CAAC,CAAC,CACnD0N,uBAAuB,EAAE;IAE9B,MAAMV,GAAG,CAACT,MAAM,CACXoB,SAAS,CAAC7N,KAAK,CAAC,CAChBiM,OAAO,EAAE;IAEd,MAAMiB,GAAG,CAACT,MAAM,CACXqB,UAAU,CAACX,WAAW,CAAC,CACvBY,QAAQ,CAAC/N,KAAK,CAAC,CACfiM,OAAO,EAAE;EAClB,CAAC,CAAC;EACN,MAAMS,mBAAmB,CAAC7D,EAAE,EAAE,IAAI,CAAC;AACvC,C;;ACtDoD;AACX;AACG;AACG;AAK/C;;;AAGO,eAAesF,mBAAmBA,CAKrCtF,EAAc,EACd7I,KAAS,EACTF,WAAe,EACfgN,WAAgC,EAChCjO,GAA8D,EAC9DmO,EAAA,GAAoG,IAAI;EAExG,MAAMN,mBAAmB,CAAC7D,EAAE,EAAE,KAAK,CAAC;EACpC,MAAMA,EAAE,CACHoE,WAAW,EAAE,CACbhB,OAAO,CAAC,MAAOiB,GAAG,IAAI;IACnB,MAAMC,WAAW,GAAGvM,YAAY,CAACZ,KAAK,CAAC;IACvC,MAAMyM,MAAM,GAAG,MAAMH,gBAAgB,CAACY,GAAG,EAAElN,KAAK,CAAC;IAEjD,IAAI,CAACyM,MAAM,EACP,MAAM,IAAI5M,KAAK,CAAC,SAASG,KAAK,iBAAiB,CAAC;IAEpD,IAAIsN,aAAa,GAAkC,IAAI;IACvD,IAAIC,cAAc,GAAiC,IAAI;IAEvD,MAAMa,eAAe,GAAG3B,MAAM,CAAC9M,OAAO,CAAC0N,SAAS,CAAC/I,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC;IAE5E,IAAIsO,eAAe,KAAK,CAAC,CAAC,EACtB,MAAM,IAAIvO,KAAK,CAAC,UAAUC,WAAW,iBAAiB,CAAC;IAE3DwN,aAAa,GAAIb,MAAM,CAAC9M,OAAO,CAACiD,KAAK,CAAC,CAAC,EAAEwL,eAAe,CAAC;IACzDb,cAAc,GAAGd,MAAM,CAAC9M,OAAO,CAACiD,KAAK,CAACwL,eAAe,GAAG,CAAC,CAAC;IAE1D,IAAI7N,OAAO,GAAG2M,GAAG,CAACT,MAAM,CAACe,WAAW,CAACL,WAAW,CAAC;IAC7C5M,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAE+M,aAAa,CAAC;IAC7C/M,OAAO,GAAGA,OAAO,CAACE,SAAS,CAACX,WAAW,EAAEgN,WAAW,EAAEjO,GAAG,CAAC;IAC1D0B,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAEgN,cAAc,CAAC;IAElD,MAAMc,aAAa,GAAGvM,SAAS,CAACyE,KAAK,CAAChG,OAAO,CAAC+N,OAAO,EAAE,CAAC3P,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI0P,aAAa,EAAE3N,IAAI,IAAI,cAAc,EACrC,MAAM,IAAIb,KAAK,CAAC,qBAAqB,CAAC;IAE1C,MAAM0O,UAAU,GAAG9B,MAAM,CAAC9M,OAAO,CAAC6M,IAAI,CAAClI,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC;IAClE,MAAM0O,UAAU,GAAGH,aAAa,CAAC1O,OAAO,CAAC6M,IAAI,CAAClI,CAAC,IAAIA,CAAC,CAACpE,IAAI,IAAIJ,WAAW,CAAC;IAEzE,IAAI,CAACyO,UAAU,IAAI,CAACC,UAAU,EAC1B,MAAM,IAAI3O,KAAK,CAAC,0BAA0B,CAAC;IAE/C,IAAI4O,IAAI,CAACC,SAAS,CAACH,UAAU,CAAC,IAAIE,IAAI,CAACC,SAAS,CAACF,UAAU,CAAC,EACxD,OAAO,CAAC;IAEZ,MAAMjO,OAAO,CAAC0L,OAAO,EAAE;IAEvB,MAAMiB,GAAG,CACJO,UAAU,CAACN,WAAW,CAAC,CACvBxN,OAAO,CAAC,CACL,GAAG2N,aAAa,CAACtK,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAC,EACjCJ,WAAW,EACX,GAAGyN,cAAc,CAACvK,GAAG,CAACsB,CAAC,IAAIA,CAAC,CAACpE,IAAI,CAAC,CAC9B,CAAC,CACRwN,UAAU,CAAC,MAAOR,GAAW,CACzBd,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAAC,CACJ,GAAGL,aAAa,CAACtK,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,EAC/C,IAAI8M,EAAE,GAAG,CAAEA,EAAE,CAAE,GAAG,CAAE,GAAGhN,KAAK,IAAIF,WAAW,EAAE,CAAE,CAAC,EAChD,GAAGyN,cAAc,CAACvK,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,CAACpE,IAAI,EAAE,CAAC,CACnD,CAAC,CAAC,CACN0N,uBAAuB,EAAE;IAE9B,MAAMV,GAAG,CAACT,MAAM,CACXoB,SAAS,CAAC7N,KAAK,CAAC,CAChBiM,OAAO,EAAE;IAEd,MAAMiB,GAAG,CAACT,MAAM,CACXqB,UAAU,CAACX,WAAW,CAAC,CACvBY,QAAQ,CAAC/N,KAAK,CAAC,CACfiM,OAAO,EAAE;EAClB,CAAC,CAAC;EACN,MAAMS,mBAAmB,CAAC7D,EAAE,EAAE,IAAI,CAAC;AACvC,C;;AC3FoD;AACR;AACG;AAM/C;;;AAGO,eAAe8F,kBAAkBA,CACpC9F,EAAc,EACd7I,KAAS,EACT4O,YAAiC;EAEjC,MAAMlC,mBAAmB,CAAC7D,EAAE,EAAE,KAAK,CAAC;EACpC,MAAMA,EAAE,CACHoE,WAAW,EAAE,CACbhB,OAAO,CAAC,MAAOiB,GAAG,IAAI;IACnB,MAAMC,WAAW,GAAGvM,YAAY,CAACZ,KAAK,CAAC;IACvC,MAAMyM,MAAM,GAAG,MAAMH,gBAAgB,CAACY,GAAG,EAAElN,KAAK,CAAC;IAEjD,IAAI,CAACyM,MAAM,EACP,MAAM,IAAI5M,KAAK,CAAC,SAASG,KAAK,iBAAiB,CAAC;IAEpD,MAAM6O,cAAc,GAAG,IAAIpD,GAAG,CAACgB,MAAM,CAAC9M,OAAO,CAACqD,GAAG,CAAC,CAACsB,CAAC,EAAE3C,CAAC,KAAK,CAAE2C,CAAC,CAACpE,IAAI,EAAIyB,CAAC,CAAE,CAAC,CAAC;IAC7E,MAAMmN,WAAW,GAAM,IAAIrD,GAAG,CAACmD,YAAY,CAAG5L,GAAG,CAAC,CAACsB,CAAC,EAAE3C,CAAC,KAAK,CAAE2C,CAAQ,EAAE3C,CAAC,CAAE,CAAC,CAAC;IAE7E,IAAIkN,cAAc,CAACE,IAAI,IAAID,WAAW,CAACC,IAAI,IAAIF,cAAc,CAACE,IAAI,IAAIH,YAAY,CAAChP,MAAM,EACrF,MAAM,IAAIC,KAAK,CAAC,SAASG,KAAK,wBAAwB,CAAC;IAE3D,IAAI,CAAC,CAAE,GAAG6O,cAAc,CAACG,OAAO,EAAE,CAAE,CAACpD,IAAI,CAAC,CAAC,CAAEqD,MAAM,EAAEC,GAAG,CAAE,KAAKJ,WAAW,CAAClE,GAAG,CAACqE,MAAM,CAAC,IAAIC,GAAG,CAAC,EAC1F,OAAO,CAAC;IAEZ,IAAI3O,OAAO,GAAG2M,GAAG,CAACT,MAAM,CAACe,WAAW,CAACL,WAAW,CAAC;IAC7C5M,OAAO,GAAGD,WAAW,CAACC,OAAO,EAAEqO,YAAY,CAAC5L,GAAG,CAACsB,CAAC,IAC7CmI,MAAM,CAAC9M,OAAO,CAACkP,cAAc,CAACjE,GAAG,CAACtG,CAAC,CAAE,CAAC,CACzC,CAAC;IACN,MAAM/D,OAAO,CAAC0L,OAAO,EAAE;IAEvB,MAAMiB,GAAG,CACJO,UAAU,CAACN,WAAW,CAAC,CACvBxN,OAAO,CAACiP,YAAY,CAAC,CACrBlB,UAAU,CAACV,EAAE,IAAKA,EAAU,CACxBZ,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAACiB,YAAY,CAAC5L,GAAG,CAACsB,CAAC,IAAI,GAAGtE,KAAK,IAAIsE,CAAC,EAAE,CAAC,CAAC,CAAC,CACnDsJ,uBAAuB,EAAE;IAE9B,MAAMV,GAAG,CAACT,MAAM,CACXoB,SAAS,CAAC7N,KAAK,CAAC,CAChBiM,OAAO,EAAE;IAEd,MAAMiB,GAAG,CAACT,MAAM,CACXqB,UAAU,CAACX,WAAW,CAAC,CACvBY,QAAQ,CAAC/N,KAAK,CAAC,CACfiM,OAAO,EAAE;EAClB,CAAC,CAAC;EACN,MAAMS,mBAAmB,CAAC7D,EAAE,EAAE,IAAI,CAAC;AACvC,C;;AC3D6B;AACC;AACE;AACA;AACA;;;ACJH;AAEtB,MAAMsG,eAAe,GAAGxQ,sCAAG,yBAAyB,C;;ACFrD,MAAOyQ,WAAY,SAAQvP,KAAK;AAEhC,MAAOwP,OAAQ,SAAQD,WAAW;AAElC,MAAOE,cAAe,SAAQD,OAAO;AACrC,MAAOE,WAAY,SAAQF,OAAO;AAClC,MAAOG,UAAW,SAAQH,OAAO;AACjC,MAAOI,YAAa,SAAQJ,OAAO;AAEnC,MAAOK,SAAU,SAAQD,YAAY;AACrC,MAAOE,aAAc,SAAQD,SAAS;AACtC,MAAOE,eAAgB,SAAQF,SAAS;AACxC,MAAOG,gBAAiB,SAAQH,SAAS,G;;ACZI;AAK5C,eAAeI,OAAOA,CACzBjH,EAAe,EACfkH,OAIC;EAED,MAAMxD,MAAM,GAAG,MAAMJ,YAAY,CAACtD,EAAE,CAAC;EAErC,MAAMmH,WAAW,GAAG,IAAIvE,GAAG,CAA0BsE,OAAO,CAACE,OAAO,IAAI,EAAE,CAAC;EAC3E,MAAMC,WAAW,GAAG,IAAIzE,GAAG,CAA0BsE,OAAO,CAACI,OAAO,IAAI,EAAE,CAAC;EAC3E,MAAMC,aAAa,GAAGL,OAAO,CAACK,aAAa,IAAI,KAAK;EAEpD,MAAMC,MAAM,GAAG9D,MAAM,CAChB/H,MAAM,CAACyE,CAAC,IAAIA,CAAC,CAACvI,IAAI,IAAI,OAAO,CAAC,CAC9B8D,MAAM,CAACyE,CAAC,IAAI,CAAC8G,OAAO,CAACI,OAAO,IAAID,WAAW,CAACzL,GAAG,CAACwE,CAAC,CAAC/I,IAAI,CAAC,CAAC,CACxD8C,GAAG,CAACiG,CAAC,IAAIA,CAAC,CAAC/I,IAAI,CAAC;EAErB,MAAMoQ,OAAO,GAAG,IAAIjM,GAAG,CAACkI,MAAM,CACzB/H,MAAM,CAACyE,CAAC,IAAIA,CAAC,CAACvI,IAAI,IAAI,OAAO,CAAC,CAC9BsC,GAAG,CAACiG,CAAC,IAAIA,CAAC,CAAC/I,IAAI,CAAC,CACpB;EAED,MAAMqQ,UAAU,GAAGA,CAACvQ,KAAa,EAAEQ,MAAwB,KAAI;IAC3D,MAAMyP,OAAO,GAAGD,WAAW,CAACpF,GAAG,CAAC5K,KAAK,CAAC;IAEtC,IAAIiQ,OAAO,KAAK,IAAI,IAAIA,OAAO,EAAEO,QAAQ,CAAChQ,MAAM,CAACN,IAAI,CAAC,EAClD,OAAO,IAAI;IAEf,OAAO,KAAK;EAChB,CAAC;EAED,MAAMuQ,UAAU,GAAGA,CAACzQ,KAAa,EAAEQ,MAAwB,KAAI;IAC3D,MAAM2P,OAAO,GAAGD,WAAW,CAACtF,GAAG,CAAC5K,KAAK,CAAC;IAEtC,IAAI+P,OAAO,CAACI,OAAO,IAAI,EAAEA,OAAO,IAAI,IAAI,IAAIA,OAAO,EAAEK,QAAQ,CAAChQ,MAAM,CAACN,IAAI,CAAC,CAAC,EACvE,OAAO,KAAK;IAEhB,OAAO,IAAI;EACf,CAAC;EAED,KAAK,MAAMF,KAAK,IAAIqQ,MAAM,EAAE;IACxB,MAAMK,IAAI,GAAG,MAAM1E,UAAU,CAACnD,EAAE,EAAE7I,KAAY,CAAC;IAE/C,KAAK,MAAMQ,MAAM,IAAIkQ,IAAI,EAAE;MACvB,MAAMC,QAAQ,GAAG,WAAW3Q,KAAK,IAAIQ,MAAM,CAACN,IAAI,EAAE;MAClD,MAAM0Q,IAAI,GAAG,CAACH,UAAU,CAACzQ,KAAK,EAAEQ,MAAM,CAAC,IAAI+P,UAAU,CAACvQ,KAAK,EAAEQ,MAAM,CAAC,IAAIA,MAAM,CAAC2I,EAAE;MAEjF,IAAImH,OAAO,CAAC7L,GAAG,CAACkM,QAAQ,CAAC,EAAE;QACvB,IAAIP,aAAa,IAAIQ,IAAI,EAAE;UACvB,MAAM/H,EAAE,CAAC4D,MAAM,CACVoE,SAAS,CAACF,QAAQ,CAAC,CACnB1E,OAAO,EAAE;QAClB;QAEA;MACJ;MAEA,IAAI2E,IAAI,EACJ;MAEJ,MAAM/H,EAAE,CAAC4D,MAAM,CACVqE,WAAW,CAACH,QAAQ,CAAC,CACrBI,EAAE,CAAC/Q,KAAK,CAAC,CACTQ,MAAM,CAACA,MAAM,CAACN,IAAI,CAAC,CACnB+L,OAAO,EAAE;IAClB;EACJ;AACJ,C;;AC1EuC;AAQjC,MAAO+E,GAAG;EACZ,aAAaC,UAAUA,CAKnBC,EAAU,EACVlR,KAAS,EACTQ,MAAU,EACV2Q,UAAsB;IAEtB,MAAM9O,GAAG,GAAG,MAAO8O,UAAkB,CAChC/E,UAAU,CAACpM,KAAK,CAAC,CACjB2N,MAAM,CAACnN,MAAa,CAAC,CACrB0G,KAAK,CAAC,IAAI,EAAE,GAAG,EAAEgK,EAAS,CAAC,CAC3BE,gBAAgB,EAAE;IAEvB,IAAI,CAAC/O,GAAG,EACJ,MAAM,IAAIoN,YAAY,CAAC,wBAAwB4B,MAAM,CAAC7Q,MAAM,CAAC,SAAS6Q,MAAM,CAACrR,KAAK,CAAC,EAAE,CAAC;IAE1F,OAAQqC,GAAW,CAAC7B,MAAM,CAAC;EAC/B;EAEA,aAAa8Q,UAAUA,CAKnBJ,EAAU,EACVlR,KAAS,EACT4G,KAAU,EACVuK,UAAsB;IAEtB,MAAMI,MAAM,GAAG,MAAOJ,UAAkB,CACnCK,WAAW,CAACxR,KAAY,CAAC,CACzB0K,GAAG,CAAC9D,KAAK,CAAC,CACVM,KAAK,CAAC,IAAI,EAAE,GAAG,EAAEgK,EAAS,CAAC,CAC3BE,gBAAgB,EAAE;IACvB,OAAOG,MAAM,CAACE,cAAc,IAAI,EAAE;EACtC;;;AC1CJ;AACA,SAASC,UAAUA,CAACC,GAAY;EAC5B,OAAO,OAAOA,GAAG,KAAK,UAAU;AACpC;AAEA,SAASC,QAAQA,CAACD,GAAY;EAC1B,OAAO,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI;AAClD;AAEA,SAASE,WAAWA,CAACF,GAAY;EAC7B,OAAOC,QAAQ,CAACD,GAAG,CAAC,IAAID,UAAU,CAACC,GAAG,CAACG,EAAE,CAAC;AAC9C;AAEM,MAAOC,mBAAmB;EAC5B,OAAOC,aAAa,GAAG,IAAIvG,GAAG,EAA+B;EAE7D,CAAAwG,OAAQ;EAERrJ,YAAYqJ,OAAe;IACvB,IAAI,CAAC,CAAAA,OAAQ,GAAGA,OAAO;EAC3B;EAEAC,aAAaA,CAAA;IACT,MAAMC,eAAe,GAA8B,EAAE;IACrD,MAAMC,UAAU,GAAGL,mBAAmB,CAACC,aAAa,CAACpH,GAAG,CAAC,IAAI,CAAC,CAAAqH,OAAQ,CAAC;IAEvE,IAAI,CAACG,UAAU,EACX,OAAOC,OAAO,CAACC,OAAO,CAACH,eAAe,CAAC;IAE3C,KAAK,MAAM,CAAEI,IAAI,EAAEC,OAAO,CAAE,IAAIhP,MAAM,CAACwL,OAAO,CAACoD,UAAU,CAAC,EAAE;MACxD,IAAIP,WAAW,CAACW,OAAO,EAAElT,OAAO,CAAC,EAAE;QAC/B6S,eAAe,CAACI,IAAI,CAAC,GAAGC,OAAO,CAAClT,OAAO;MAC3C,CAAC,MAAM,IAAIuS,WAAW,CAACW,OAAO,CAAC,EAAE;QAC7BL,eAAe,CAACI,IAAI,CAAC,GAAGC,OAAO;MACnC;IACJ;IAEA,OAAOH,OAAO,CAACC,OAAO,CAACH,eAAe,CAAC;EAC3C;EAEA,OAAOM,kBAAkBA,CAACC,GAAmB,EAAET,OAAgB;IAC3D,KAAK,MAAM,CAAEU,KAAK,EAAEH,OAAO,CAAE,IAAIE,GAAG,CAACE,IAAI,EAAE,CAAC5P,GAAG,CAAC6P,CAAC,IAAI,CAAEA,CAAC,EAAEH,GAAG,CAACG,CAAC,CAAC,CAAE,CAAC,EAAE;MACjE,MAAM,GAAIhK,EAAE,EAAE0J,IAAI,CAAE,GAAG,qCAAqC,CAACO,IAAI,CAACH,KAAK,CAAC,IAAI,EAAE;MAE9E,IAAI,CAACV,OAAO,EACRA,OAAO,GAAGpJ,EAAE;MAEhB,IAAI,CAACoJ,OAAO,IAAI,CAACM,IAAI,EACjB;MAEJ,IAAIR,mBAAmB,CAACC,aAAa,CAACvN,GAAG,CAACwN,OAAO,CAAC,EAAE;QAChDF,mBAAmB,CAACC,aAAa,CAACpH,GAAG,CAACqH,OAAO,CAAE,CAAGM,IAAI,CAAC,GAAGC,OAAO;MACrE,CAAC,MAAM;QACHT,mBAAmB,CAACC,aAAa,CAACtH,GAAG,CAACuH,OAAO,EAAE;UAAE,CAACM,IAAI,GAAGC;QAAO,CAAE,CAAC;MACvE;IACJ;EACJ;;;;;AE7DJ;AAEiF;AAI1E,MAAMW,wBAAwB,GAA+BC,OAAU,IAAI;EAC9E,MAAMC,iBAAiB,GAAGD,OAAO,CAACrI,GAAG,CAGlC,YAAY,EAAE;IACbuI,MAAM,EAAEP,iEAAQ,CAACrC,IAAI,IAAI,CAAC,EAAE,GACtB,GAAGuC,uEAAc,CAACvC,IAAI,EAAE;MAAE6C,aAAa,EAAE;IAAI,CAAE,CAAC,EAAE,GAClD,GAAG7C,IAAI,CAAC8C,OAAO,GACPR,8DAAK,CAAC,IAAI,EAAE,SAASE,kEAAS,CAACxC,IAAI,CAAC8C,OAAO,CAAC,CAACC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,GACjE,GAAG,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,CACvB,EAAE,GACJ,GAAGhD,IAAI,CAACiD,IAAI,GACJ,KAAKX,8DAAK,CAAC,QAAQ,EAAE,IAAItC,IAAI,CAACiD,IAAI,CAACC,MAAM,GAAG,CAAC,YAAYZ,8DAAK,CAAC,IAAI,EAAEE,kEAAS,CAACxC,IAAI,CAACiD,IAAI,CAACE,OAAO,CAACC,KAAK,GAAG,GAAG,CAAC,CAACL,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,GACnI,EACN,EAAE,EACR7R,IAAI,EAAE,EAAE;MACNmS,IAAI,EAAE;QAAEC,KAAK,EAAE;MAAY,CAAE;MAC7BC,QAAQ,EAAE,CACN,MAAM,EACN,SAAS;KAEhB;GACJ,CAAC;EAEF,OAAOb,OAEL;AACN,CAAC,C;;ACjCD;AAEiF;AAG1E,MAAMc,gBAAgB,GAA+Bd,OAAU,IAAI;EACtE,MAAMe,SAAS,GAAGf,OAAO,CAACrI,GAAG,CAG1B,IAAI,EAAE;IACLuI,MAAM,EAAEP,iEAAQ,CAACrC,IAAI,IAAI,CAAC,EAAE,GACtB,GAAGuC,uEAAc,CAACvC,IAAI,EAAE;MAAE6C,aAAa,EAAE;IAAI,CAAE,CAAC,EAAE,GAClD,GAAG7C,IAAI,CAAC0D,KAAK,GACL,KAAK1D,IAAI,CAAC0D,KAAK,IAAI,GACnB,EACN,EAAE,GACJ,GAAG1D,IAAI,CAAC8C,OAAO,GACPR,8DAAK,CAAC,QAAQ,EAAE,aAAaA,8DAAK,CAAC,IAAI,EAAEE,kEAAS,CAACxC,IAAI,CAAC8C,OAAO,CAAC,CAAC,GAAG,CAAC,GACrE,EACN,EAAE,EACR5R,IAAI,EAAE,EAAE;MACNmS,IAAI,EAAE;QAAEC,KAAK,EAAE;MAAI,CAAE;MACrBC,QAAQ,EAAE,CACN,OAAO,EACP,SAAS;KAEhB;GACJ,CAAC;EAEF,OAAOb,OAEL;AACN,CAAC,C;;AChC4B;;;;;;;;;;;;;;;AOAL;AACG;AACH;AACE;AACJ;AACM;AACJ;AACc;AAChB;AAEsB;AAIgB;AACb;AACH;AACiB;AACjB;AAClB;AAEU;AACJ;AACR;AASxB,SAAS0B,aAAaA,CAACC,OAAe;EAClC,MAAMlM,EAAE,GAAG,IAAI8L,2DAAM,CAACI,OAAO,EAAE;IAC3BC,aAAa,EAAEX,8DAAS,EAAE,GACpBO,4CAAQ,CAAC;MACPK,WAAW,EAAEC,OAAO,CAACC,GAAG,EAAE;MAC1BP,QAAQ,EAAE,qBAAqB;MAC/BQ,GAAG,EAAE,CACD,CAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAE,EACrC,CAAE,aAAa,EAAE,UAAU,CAAE,EAC7B,CAAE,MAAM,EAAE,UAAU,CAAE,EACtB,CAAE,UAAU,CAAE,CACjB;MACDP,IAAI,EAAE;KACF,CAAC,GACP;GACT,CAAC;EAEFhM,EAAE,CAACwM,QAAQ,CAAC,UAAU,EAAE,MAAK;IACzB,OAAOX,mCAAE,EAAE;EACf,CAAC,CAAC;EAEF,OAAO7L,EAAE;AACb;AASA,SAASyM,sBAAsBA,CAACC,aAAuB,EAAEnB,KAAsC;EAC3F,MAAMzV,GAAG,GAAG,OAAOyV,KAAK,KAAK,QAAQ,GAC/BA,KAAK,GACLA,KAAK,CAACzV,GAAG;EAEf,IAAI;IACA,OAAO8V,iEAAU,CAAC9V,GAAG,EAAE;MACnB6W,QAAQ,EAAE,QAAQ;MAClBC,QAAQ,EAAE,CAAC;MACXC,WAAW,EAAE,cAAc;MAC3B,IAAI,OAAOtB,KAAK,KAAK,QAAQ,IAAI;QAC7BuB,MAAM,EAAEvB,KAAK,CAACwB;OAClB;KACH,CAAC;EACN,CAAC,CAAC,OAAOpK,CAAC,EAAE;IACR+J,aAAa,CAACM,KAAK,CAACrK,CAAU,CAAC;IAC/B,OAAO7M,GAAG;EACd;AACJ;AAEA,SAASmX,aAAaA,CAAKjN,EAAW,EAAE0M,aAAuB;EAC3D,MAAMQ,SAAS,GAAG,IAAIzB,yCAAM,CAAK;IAC7B0B,OAAO,EAAE,IAAIzB,gDAAa,CAAC;MACvB0B,QAAQ,EAAEpN;KACb,CAAC;IACFiD,GAAG,EAAGoK,KAAK,IAAI;MACXH,SAAS,CAACI,gBAAgB,CAAC7T,IAAI,CAAC4T,KAAK,CAAC9B,KAAK,CAACzV,GAAG,CAAC;MAEhD,IAAI4W,aAAa,CAACa,cAAc,EAAE,EAAE;QAChC,IAAI,CAACL,SAAS,CAACM,YAAY,EAAE;UACzBd,aAAa,CAACe,KAAK,CAAC,KAAKhB,sBAAsB,CAACC,aAAa,EAAEW,KAAK,CAAC9B,KAAK,CAAC,IAAI,EAAE;YAC7EZ,OAAO,EAAE0C,KAAK,CAACK;WAClB,CAAC;QACN,CAAC,MAAM;UACHR,SAAS,CAACS,aAAa,CAAClU,IAAI,CAACgT,sBAAsB,CAACC,aAAa,EAAEW,KAAK,CAAC9B,KAAK,CAAC,CAAC;QACpF;MACJ;MAEA,IAAI8B,KAAK,CAACO,KAAK,KAAK,OAAO,EAAE;QACzBlB,aAAa,CAACM,KAAK,CAACK,KAAK,CAACL,KAAK,EAAE;UAC7BzB,KAAK,EAAE2B,SAAS,CAACI,gBAAgB,CAACvW,MAAM,GAClCmW,SAAS,CAACI,gBAAgB,CAACnT,GAAG,CAACrE,GAAG,IAAI2W,sBAAsB,CAACC,aAAa,EAAE5W,GAAG,CAAC,CAAC,CAACwB,IAAI,CAAC,IAAI,CAAC,GAC5FmV,sBAAsB,CAACC,aAAa,EAAEW,KAAK,CAAC9B,KAAK,CAAC;UACxDZ,OAAO,EAAE0C,KAAK,CAACK;SAClB,CAAC;MACN;MAEA,IAAI,uBAAuB,CAAC5P,IAAI,CAACuP,KAAK,CAAC9B,KAAK,CAACzV,GAAG,CAAC,EAAE;QAC/CoX,SAAS,CAACI,gBAAgB,GAAG,EAAE;MACnC;IACJ;GACH,CAAiB;EAElB;;;;;;EAMA,SAASO,iBAAiBA,CAACxJ,GAAQ;IAC/B,OAAO,IAAIyJ,KAAK,CAACzJ,GAAG,EAAE;MAClBtC,GAAGA,CAACgM,MAAW,EAAElS,IAAI;QACjB,IAAIA,IAAI,KAAK,aAAa,EACtB,OAAO,OAAO;UACV;UACAuH,OAAO,EAAG4K,EAAY,IAClBA,EAAE,CAACC,KAAK,CAACF,MAAM,EAAE,CAAEA,MAAM,CAAE;SAElC,CAAC;QAEN,IAAI,OAAOA,MAAM,CAAClS,IAAI,CAAC,IAAI,UAAU,EAAE;UACnC,OAAOkS,MAAM,CAAClS,IAAI,CAAC,CAACqS,IAAI,CAACH,MAAM,CAAC;QACpC,CAAC,MAAM;UACH,OAAOA,MAAM,CAAClS,IAAI,CAAC;QACvB;MACJ;KACH,CAAC;EACN;EAEA,MAAMsS,eAAe,GAAGjB,SAAS,CAAC9I,WAAW;EAC7C8I,SAAS,CAAC9I,WAAW,GAAG,UAAU,GAAGgK,QAAQ;IACzC,MAAMhK,WAAW,GAAG+J,eAAe,CAACE,IAAI,CAAC,IAAI,EAAE,GAAGD,QAAQ,CAAC;IAE3D,OAAO,IAAIN,KAAK,CAAC1J,WAAW,EAAE;MAC1BrC,GAAGA,CAACgM,MAAW,EAAElS,IAAI;QACjB,IAAIA,IAAI,KAAK,SAAS;UAClB;UACA,OAAQmS,EAAY,IAChBD,MAAM,CAAC3K,OAAO,CAAC,CAACiB,GAAQ,EAAE,GAAGiK,IAAW,KACpCN,EAAE,CAACC,KAAK,CAACF,MAAM,EAAE,CAAEF,iBAAiB,CAACxJ,GAAG,CAAC,EAAE,GAAGiK,IAAI,CAAE,CACvD,CACJ;QAEL,IAAI,OAAOP,MAAM,CAAClS,IAAI,CAAC,IAAI,UAAU,EAAE;UACnC,OAAOkS,MAAM,CAAClS,IAAI,CAAC,CAACqS,IAAI,CAACH,MAAM,CAAC;QACpC,CAAC,MAAM;UACH,OAAOA,MAAM,CAAClS,IAAI,CAAC;QACvB;MACJ;KACH,CAAC;EACN,CAAC;EAED,OAAOqR,SAAS;AACpB;AAEA,eAAeqB,eAAeA,CAAKnF,OAAe,EAAEpJ,EAAgB,EAAE0M,aAAuB;EACzF1M,EAAE,CAACwN,YAAY,GAAG,IAAI;EACtBxN,EAAE,CAAC2N,aAAa,GAAG,EAAE;EACrB3N,EAAE,CAACsN,gBAAgB,GAAG,EAAE;EAExB,MAAMkB,QAAQ,GAAG,IAAI7C,8DAAQ,CAAC;IAC1B3L,EAAE;IAAEyO,QAAQ,EAAE,IAAIvF,mBAAmB,CAACE,OAAO;GAChD,CAAC;EAEF,eAAesF,eAAeA,CAAA;IAC1B,MAAM;MAAE1B,KAAK;MAAE2B;IAAO,CAAE,GAAG,MAAMH,QAAQ,CAACE,eAAe,EAAE;IAE3D,KAAK,MAAMhG,MAAM,IAAIiG,OAAO,IAAI,EAAE,EAAE;MAChC,IAAIjG,MAAM,CAACkG,MAAM,KAAK,SAAS,EAAE;QAC7BlC,aAAa,CAAC7E,IAAI,CAAC,cAAca,MAAM,CAACmG,aAAa,6BAA6B,CAAC;MACvF,CAAC,MAAM,IAAInG,MAAM,CAACkG,MAAM,KAAK,OAAO,EAAE;QAClClC,aAAa,CAACM,KAAK,CAAC,gCAAgCtE,MAAM,CAACmG,aAAa,GAAG,CAAC;MAChF;IACJ;IAEA,IAAI7B,KAAK,EAAE;MACP,IAAI,EAAEA,KAAK,YAAYhW,KAAK,CAAC,EACzB,MAAMgW,KAAY;MAEtBN,aAAa,CAACM,KAAK,CAAC,mBAAmB,CAAC;MACxCN,aAAa,CAACM,KAAK,CAACA,KAAK,CAAC8B,KAAK,CAAC;MAEhC,IAAIpC,aAAa,CAACqC,cAAc,EAAE,EAAE;QAChCrC,aAAa,CAACsC,KAAK,CAAC,KAAKhP,EAAE,CAAC2N,aAAa,CAACrW,IAAI,CAAC,8DAA8D,CAAC,IAAI,EAAE,EAAE,CAAC;QAEvH;QACA;MACJ;MAEA,MAAM0V,KAAK;IACf;EACJ;EAEAN,aAAa,CAACsC,KAAK,CAAC,8BAA8B,CAAC;EACnD,MAAMN,eAAe,EAAE;EACvBhC,aAAa,CAACsC,KAAK,CAAC,+BAA+B,CAAC;EAEpDhP,EAAE,CAACwN,YAAY,GAAG,KAAK;EACvBxN,EAAE,CAAC2N,aAAa,GAAG,EAAE;EAErB,OAAOa,QAAQ;AACnB;AAEO,eAAeS,SAASA,CAAK/C,OAAe,EAAEgD,UAAoB;EACrE,MAAM9F,OAAO,GAAG4C,8CAAU,CAACE,OAAO,CAAC,CAAC7U,IAAI;EACxC,MAAM8X,SAAS,GAAGlD,aAAa,CAACC,OAAO,CAAY;EACnD,MAAMkD,MAAM,GAAGF,UAAU,CAAC1M,KAAK,CAAC;IAAE6M,MAAM,EAAEjG;EAAO,CAAE,CAAC;EACpD,MAAMpJ,EAAE,GAAGiN,aAAa,CAAKkC,SAAS,EAAEC,MAAM,CAAC;EAC/C,MAAME,WAAW,GAAG,MAAMf,eAAe,CAACnF,OAAO,EAAEpJ,EAAE,EAAEoP,MAAM,CAAC;EAE9D,OAAO;IACHpP,EAAE,EAAEA,EAAgB;IACpBsP,WAAW;IACXH,SAAS;IACTC;GACH;AACL;AAEO,MAAMG,WAAW,GAAGzD,uEAAkB,C","sources":["","webpack://@foul11/awesome-db/webpack/runtime/define property getters?6c9f","webpack://@foul11/awesome-db/webpack/runtime/hasOwnProperty shorthand?8bc5","webpack://@foul11/awesome-db/external module \"kysely\"?4204","src/alter/utils.ts","webpack://@foul11/awesome-db/external module \"@foul11/awesome\"?abbd","src/SQLParser.js","src/utils.ts","src/alter/pragma.ts","src/alter/column_add.ts","src/alter/column_drop.ts","src/alter/column_rename.ts","src/alter/column_update.ts","src/alter/columns_order.ts","src/alter/index.ts","src/defaults.ts","src/Error.ts","src/indexer.ts","src/ORM.ts","src/WebpackFileProvider.ts","webpack://@foul11/awesome-db/external module \"@foul11/awesome-log\"?742f","src/log/access_log.ts","src/log/db.ts","src/log/index.ts","webpack://@foul11/awesome-db/external module \"kysely/migration\"?016c","webpack://@foul11/awesome-db/external module \"@foul11/sql-formatter\"?3a6f","webpack://@foul11/awesome-db/external module \"uuid\"?e985","webpack://@foul11/awesome-db/external module \"better-sqlite3\"?cefa","webpack://@foul11/awesome-db/external module \"bindings\"?7dd8","webpack://@foul11/awesome-db/external module \"path\"?b39e","src/index.ts"],"names":["sql","columnDefinition","col","columnDef","primary","primaryKey","unique","auto_increment","autoIncrement","not_null","notNull","default","defaultTo","raw","lit","references","columns","length","Error","column_name","schema_name","table","scheme_parts","name","join","constraints","modifyEnd","itAddColumn","builder","column","addColumn","type","toLowerCase","tmpTableName","Math","floor","Date","now","Object_entries","Object_keys","regex","sqlv","str","Array","isArray","arr","toString","split","i","trim","startsWith","SQLParser","splitQStrByChar","char","re","RegExp","out","acc","res","push","sqliteSchema","input","matchAll","match","s","slice","splice","sqliteName","sqliteColumns","map","groups","sort","toUpperCase","as","matchAllGroups","rgx","matches","Object","assign","k","v","undefined","sqliteColumnsDef","column_def","table_constraint","inline_columns","props","primary_key_expr","unique_expr","inline_names","Set","c","inline_column","filter","has","prop","constraint","column_constraint","primary_key","g","default_expr","sqliteValue","default_number","default_literal","default_const","references_table","columns_def_expr","references_constraint","strOrNull","num","parseFloat","isNaN","intOrNull","parseInt","PRAGMA","SAVEPOINT","RELEASE","SELECT","CREATE_TABLE","CREATE_INDEX","VALUES","INSERT","DROP","ALTER_TABLE","parse","semi_split","raw_str","str_expr","test","value","savepoint_name","distinct","from","table_expr","t","where","where_expr","group_by","group_expr","order_by","order_expr","offset","offset_expr","limit","limit_expr","if_not_exists","name_expr","table_name","columns_expr","expr","values_expr","select_expr","values","rename_to","to","rename_col","rename_col_from","rename_col_to","add_col","drop_col","SQLiteDebugger","constructor","db","tableInfo","prepare","all","r","notnull","pk","masterTable","sql_idx_min","i1","i2","min","sql_idx_max","max","sql_idx_outRange","i1min","i1max","i2min","i2max","sql_idx_inRange","sql_idx_invalidRange","outRange","inRange","link_for_predicate","links","link","sub_type","predicate","linked","set","link_linked","get","l","l_linked","add","i_min","reduce","prev","index","i_max","child","Heuristics_DBBrowserForSQLite","parsed","e","Map","logics","stmt_link","some","console","log","execFrom_DBBrowser","table_info","execute","rows","master_table","selectFrom","selectAll","get_table_schema","master","find","schema","pragma_foreign_keys","enable","pragma_defer_foreign_keys","alter_column_add","column_type","after","eb","transaction","trx","alter_table","after_column_idx","findIndex","columns_after","columns_before","createTable","insertInto","expression","select","executeTakeFirstOrThrow","dropTable","alterTable","renameTo","alter_column_drop","alter_column_rename","new_column_name","alter_column_update","prev_column_idx","create_schema","compile","old_column","new_column","JSON","stringify","alter_column_order","columns_name","schema_columns","new_columns","size","entries","c_name","idx","currTimeDefault","ErrorModule","ErrorDB","ErrorMigration","ErrorSchema","ErrorQuery","ErrorUnknown","ErrorFlag","ErrorFlagPack","ErrorFlagUnpack","ErrorFlagInvalid","indexer","options","idx_exclude","exclude","idx_include","include","cleanupOthers","tables","indexes","isExcluded","includes","isIncluded","info","idx_name","skip","dropIndex","createIndex","on","ORM","getWhereId","id","db_builder","executeTakeFirst","String","setWhereId","result","updateTable","numUpdatedRows","isFunction","obj","isObject","isMigration","up","WebpackFileProvider","db_migrations","db_name","getMigrations","migrations_list","migrations","Promise","resolve","file","exports","setupDynamicImport","ctx","fpath","keys","m","exec","f_printf","color","pretty_message","pretty_ms","extend_logger_access_log","loggers","logger_access_log","format","disable_empty","runtime","padStart","repeat","data","action","timings","total","meta","label","sanitize","extend_logger_db","logger_db","query","isWebpack","Kysely","SqliteDialect","Migrator","format_sql","v4","Sqlite","bindings","path","create_sqlite","db_path","nativeBinding","module_root","process","cwd","try","function","format_sqlite_no_throw","log_kysely_db","language","tabWidth","indentStyle","params","parameters","error","create_kysely","db_kysely","dialect","database","event","transaction_logs","isSillyEnabled","in_migration","silly","queryDurationMillis","migration_log","level","proxy_transaction","Proxy","target","fn","apply","bind","old_transaction","trx_args","call","args","create_migrator","migrator","provider","migrateToLatest","results","status","migrationName","stack","isDebugEnabled","debug","create_db","log_kysely","db_sqlite","db_log","label5","db_migrator","SqliteError"],"sourceRoot":""}
1
+ {"version":3,"file":"index.mjs","mappings":"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","sources":["","webpack://@foul11/awesome-db/webpack/runtime/define property getters?6c9f","webpack://@foul11/awesome-db/webpack/runtime/hasOwnProperty shorthand?8bc5","webpack://@foul11/awesome-db/external module \"kysely\"?4204","src/alter/utils.ts","webpack://@foul11/awesome-db/external module \"@foul11/awesome\"?abbd","src/SQLParser.js","src/utils.ts","src/alter/pragma.ts","src/alter/column_add.ts","src/alter/column_drop.ts","src/alter/column_rename.ts","src/alter/column_update.ts","src/alter/columns_order.ts","src/alter/index.ts","src/defaults.ts","src/Error.ts","src/indexer.ts","src/ORM.ts","src/WebpackFileProvider.ts","webpack://@foul11/awesome-db/external module \"@foul11/awesome-log\"?742f","src/log/access_log.ts","src/log/db.ts","src/log/index.ts","webpack://@foul11/awesome-db/external module \"kysely/migration\"?016c","webpack://@foul11/awesome-db/external module \"@foul11/sql-formatter\"?3a6f","webpack://@foul11/awesome-db/external module \"uuid\"?e985","webpack://@foul11/awesome-db/external module \"better-sqlite3\"?cefa","webpack://@foul11/awesome-db/external module \"bindings\"?7dd8","webpack://@foul11/awesome-db/external module \"path\"?b39e","src/index.ts"],"names":["sql","columnDefinition","col","columnDef","primary","primaryKey","unique","auto_increment","autoIncrement","not_null","notNull","default","defaultTo","raw","lit","references","columns","length","Error","column_name","schema_name","table","scheme_parts","name","join","constraints","modifyEnd","itAddColumn","builder","column","addColumn","type","toLowerCase","tmpTableName","Math","floor","Date","now","Object_entries","Object_keys","regex","sqlv","str","Array","isArray","arr","toString","split","i","trim","startsWith","SQLParser","splitQStrByChar","char","re","RegExp","out","acc","res","push","sqliteSchema","input","matchAll","match","s","slice","splice","sqliteName","sqliteColumns","map","groups","sort","toUpperCase","as","matchAllGroups","rgx","matches","Object","assign","k","v","undefined","sqliteColumnsDef","column_def","table_constraint","inline_columns","props","primary_key_expr","unique_expr","inline_names","Set","c","inline_column","filter","has","prop","constraint","column_constraint","primary_key","g","default_expr","sqliteValue","default_number","default_literal","default_const","references_table","columns_def_expr","references_constraint","strOrNull","num","parseFloat","isNaN","intOrNull","parseInt","PRAGMA","SAVEPOINT","RELEASE","SELECT","CREATE_TABLE","CREATE_INDEX","VALUES","INSERT","DROP","ALTER_TABLE","parse","semi_split","raw_str","str_expr","test","value","savepoint_name","distinct","from","table_expr","t","where","where_expr","group_by","group_expr","order_by","order_expr","offset","offset_expr","limit","limit_expr","if_not_exists","name_expr","table_name","columns_expr","expr","values_expr","select_expr","values","rename_to","to","rename_col","rename_col_from","rename_col_to","add_col","drop_col","SQLiteDebugger","constructor","db","tableInfo","prepare","all","r","notnull","pk","masterTable","sql_idx_min","i1","i2","min","sql_idx_max","max","sql_idx_outRange","i1min","i1max","i2min","i2max","sql_idx_inRange","sql_idx_invalidRange","outRange","inRange","link_for_predicate","links","link","sub_type","predicate","linked","set","link_linked","get","l","l_linked","add","i_min","reduce","prev","index","i_max","child","Heuristics_DBBrowserForSQLite","parsed","e","Map","logics","stmt_link","some","console","log","execFrom_DBBrowser","table_info","execute","rows","master_table","selectFrom","selectAll","get_table_schema","master","find","schema","pragma_foreign_keys","enable","pragma_defer_foreign_keys","alter_column_add","column_type","after","eb","transaction","trx","alter_table","after_column_idx","findIndex","columns_after","columns_before","createTable","insertInto","expression","select","executeTakeFirstOrThrow","dropTable","alterTable","renameTo","alter_column_drop","alter_column_rename","new_column_name","alter_column_update","prev_column_idx","create_schema","compile","old_column","new_column","JSON","stringify","alter_column_order","columns_name","schema_columns","new_columns","size","entries","c_name","idx","currTimeDefault","ErrorModule","ErrorDB","ErrorMigration","ErrorSchema","ErrorQuery","ErrorUnknown","ErrorFlag","ErrorFlagPack","ErrorFlagUnpack","ErrorFlagInvalid","indexer","options","idx_exclude","exclude","idx_include","include","cleanupOthers","tables","indexes","isExcluded","includes","isIncluded","info","idx_name","skip","dropIndex","createIndex","on","ORM","getWhereId","id","db_builder","executeTakeFirst","String","setWhereId","result","updateTable","numUpdatedRows","isFunction","obj","isObject","isMigration","up","WebpackFileProvider","db_migrations","db_name","getMigrations","migrations_list","migrations","Promise","resolve","file","exports","setupDynamicImport","ctx","fpath","keys","m","exec","f_printf","color","pretty_message","pretty_ms","extend_logger_access_log","loggers","logger_access_log","format","disable_empty","runtime","padStart","repeat","data","action","timings","total","meta","label","sanitize","extend_logger_db","logger_db","query","isWebpack","Kysely","SqliteDialect","Migrator","format_sql","v4","Sqlite","bindings","path","create_sqlite","db_path","nativeBinding","module_root","process","cwd","try","function","format_sqlite_no_throw","log_kysely_db","language","tabWidth","indentStyle","params","parameters","error","create_kysely","db_kysely","dialect","database","event","transaction_logs","isSillyEnabled","in_migration","silly","queryDurationMillis","migration_log","level","proxy_transaction","Proxy","target","fn","apply","bind","old_transaction","trx_args","call","args","create_migrator","provider","migrator","migrateToLatest","results","status","migrationName","stack","isDebugEnabled","debug","create_db","log_kysely","opts","db_sqlite","db_log","label5","db_migrator","migrationProvider","SqliteError"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foul11/awesome-db",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
@@ -50,5 +50,5 @@
50
50
  "optional": true
51
51
  }
52
52
  },
53
- "gitHead": "e28544c4ee7ef396ac0295928543b6a95817eb6c"
53
+ "gitHead": "fce2142cf89f479382d287ba630e55d76e7056e3"
54
54
  }
@@ -0,0 +1,40 @@
1
+ import type { Migration, MigrationProvider } from 'kysely/migration';
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
4
+ function isFunction(obj: unknown): obj is Function {
5
+ return typeof obj === 'function';
6
+ }
7
+
8
+ function isObject(obj: unknown): obj is Record<string, unknown> {
9
+ return typeof obj === 'object' && obj !== null;
10
+ }
11
+
12
+ function isMigration(obj: unknown): obj is Migration {
13
+ return isObject(obj) && isFunction(obj.up);
14
+ }
15
+
16
+ type TMigration = Migration & { default?: Migration };
17
+
18
+ export class ObjectFileProvider implements MigrationProvider {
19
+ constructor(private migrations: Record<string, TMigration>) {
20
+
21
+ }
22
+
23
+ getMigrations(): Promise<Record<string, Migration>> {
24
+ const migrations_list: Record<string, Migration> = {};
25
+ const migrations = this.migrations;
26
+
27
+ if (!migrations)
28
+ return Promise.resolve(migrations_list);
29
+
30
+ for (const [ file, exports ] of Object.entries(migrations)) {
31
+ if (isMigration(exports?.default)) {
32
+ migrations_list[file] = exports.default;
33
+ } else if (isMigration(exports)) {
34
+ migrations_list[file] = exports;
35
+ }
36
+ }
37
+
38
+ return Promise.resolve(migrations_list);
39
+ }
40
+ }
package/src/index.ts CHANGED
@@ -26,6 +26,7 @@ import path from 'path';
26
26
  import type { extend_logger_db } from './log';
27
27
  import type { Database } from 'better-sqlite3';
28
28
  import type { CompiledQuery } from 'kysely';
29
+ import type { MigrationProvider } from 'kysely/migration';
29
30
  import type { LoggerContainerInferLogger } from '@foul11/awesome-log';
30
31
 
31
32
  type LoggerDB = LoggerContainerInferLogger<ReturnType<typeof extend_logger_db>, 'db'>;
@@ -166,13 +167,18 @@ function create_kysely<DB>(db: unknown, log_kysely_db: LoggerDB) {
166
167
  return db_kysely;
167
168
  }
168
169
 
169
- async function create_migrator<DB>(db_name: string, db: KyselyDB<DB>, log_kysely_db: LoggerDB) {
170
+ async function create_migrator<DB>(
171
+ db_name: string,
172
+ db: KyselyDB<DB>,
173
+ log_kysely_db: LoggerDB,
174
+ provider: MigrationProvider = new WebpackFileProvider(db_name)
175
+ ) {
170
176
  db.in_migration = true;
171
177
  db.migration_log = [];
172
178
  db.transaction_logs = [];
173
179
 
174
180
  const migrator = new Migrator({
175
- db, provider: new WebpackFileProvider(db_name),
181
+ db, provider,
176
182
  });
177
183
 
178
184
  async function migrateToLatest() {
@@ -214,12 +220,16 @@ async function create_migrator<DB>(db_name: string, db: KyselyDB<DB>, log_kysely
214
220
  return migrator;
215
221
  }
216
222
 
217
- export async function create_db<DB>(db_path: string, log_kysely: LoggerDB) {
223
+ interface CreateDBOptions {
224
+ migrationProvider?: MigrationProvider
225
+ }
226
+
227
+ export async function create_db<DB>(db_path: string, log_kysely: LoggerDB, opts: CreateDBOptions = {}) {
218
228
  const db_name = path.parse(db_path).name;
219
229
  const db_sqlite = create_sqlite(db_path) as unknown;
220
230
  const db_log = log_kysely.child({ label5: db_name });
221
231
  const db = create_kysely<DB>(db_sqlite, db_log);
222
- const db_migrator = await create_migrator(db_name, db, db_log);
232
+ const db_migrator = await create_migrator(db_name, db, db_log, opts.migrationProvider);
223
233
 
224
234
  return {
225
235
  db: db as Kysely<DB>,