velocious 1.0.613 → 1.0.615

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.
Files changed (37) hide show
  1. package/README.md +2 -2
  2. package/build/background-jobs/store.js +32 -5
  3. package/build/database/drivers/base.js +19 -0
  4. package/build/database/drivers/mysql/index.js +12 -0
  5. package/build/database/drivers/mysql/sql/alter-table.js +14 -2
  6. package/build/database/drivers/pgsql/index.js +13 -0
  7. package/build/database/migration/change-table.js +324 -0
  8. package/build/database/migration/index.js +197 -13
  9. package/build/src/background-jobs/store.d.ts +1 -1
  10. package/build/src/background-jobs/store.d.ts.map +1 -1
  11. package/build/src/background-jobs/store.js +28 -6
  12. package/build/src/database/drivers/base.d.ts +13 -0
  13. package/build/src/database/drivers/base.d.ts.map +1 -1
  14. package/build/src/database/drivers/base.js +18 -1
  15. package/build/src/database/drivers/mysql/index.d.ts +10 -0
  16. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  17. package/build/src/database/drivers/mysql/index.js +11 -1
  18. package/build/src/database/drivers/mysql/sql/alter-table.d.ts.map +1 -1
  19. package/build/src/database/drivers/mysql/sql/alter-table.js +14 -3
  20. package/build/src/database/drivers/pgsql/index.d.ts +11 -0
  21. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  22. package/build/src/database/drivers/pgsql/index.js +12 -1
  23. package/build/src/database/migration/change-table.d.ts +403 -0
  24. package/build/src/database/migration/change-table.d.ts.map +1 -0
  25. package/build/src/database/migration/change-table.js +286 -0
  26. package/build/src/database/migration/index.d.ts +46 -38
  27. package/build/src/database/migration/index.d.ts.map +1 -1
  28. package/build/src/database/migration/index.js +179 -14
  29. package/build/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +1 -1
  31. package/src/background-jobs/store.js +32 -5
  32. package/src/database/drivers/base.js +19 -0
  33. package/src/database/drivers/mysql/index.js +12 -0
  34. package/src/database/drivers/mysql/sql/alter-table.js +14 -2
  35. package/src/database/drivers/pgsql/index.js +13 -0
  36. package/src/database/migration/change-table.js +324 -0
  37. package/src/database/migration/index.js +197 -13
@@ -0,0 +1,286 @@
1
+ // @ts-check
2
+ /**
3
+ * ChangeTableAddIndexArgsType type.
4
+ * @typedef {object} ChangeTableAddIndexArgsType
5
+ * @property {boolean} [ifNotExists] - Skip creation if the index already exists.
6
+ * @property {string} [name] - Explicit index name to use.
7
+ * @property {boolean} [unique] - Whether the index should be unique.
8
+ */
9
+ /**
10
+ * ChangeTableRemoveIndexArgsType type.
11
+ * @typedef {object} ChangeTableRemoveIndexArgsType
12
+ * @property {string} [name] - Explicit index name to remove.
13
+ */
14
+ /**
15
+ * ChangeTableRemoveReferenceArgsType type.
16
+ * @typedef {object} ChangeTableRemoveReferenceArgsType
17
+ * @property {string} [columnName] - Override the derived reference column name.
18
+ * @property {string} [indexName] - Explicit generated index name to remove.
19
+ */
20
+ /**
21
+ * ChangeTableAddColumnOperationType type.
22
+ * @typedef {object} ChangeTableAddColumnOperationType
23
+ * @property {"addColumn"} type - Operation type.
24
+ * @property {string} columnName - Column name.
25
+ * @property {string} columnType - Column type.
26
+ * @property {import("../table-data/table-column.js").TableColumnArgsType | undefined} args - Column args.
27
+ */
28
+ /**
29
+ * ChangeTableRemoveColumnOperationType type.
30
+ * @typedef {object} ChangeTableRemoveColumnOperationType
31
+ * @property {"removeColumn"} type - Operation type.
32
+ * @property {string} columnName - Column name.
33
+ */
34
+ /**
35
+ * ChangeTableAddIndexOperationType type.
36
+ * @typedef {object} ChangeTableAddIndexOperationType
37
+ * @property {"addIndex"} type - Operation type.
38
+ * @property {Array<string | import("../table-data/table-column.js").default>} columns - Columns to index.
39
+ * @property {ChangeTableAddIndexArgsType | undefined} args - Index args.
40
+ */
41
+ /**
42
+ * ChangeTableRemoveIndexOperationType type.
43
+ * @typedef {object} ChangeTableRemoveIndexOperationType
44
+ * @property {"removeIndex"} type - Operation type.
45
+ * @property {string | Array<string | import("../table-data/table-column.js").default>} nameOrColumns - Index name or columns.
46
+ * @property {ChangeTableRemoveIndexArgsType | undefined} args - Index args.
47
+ */
48
+ /**
49
+ * ChangeTableAddReferenceOperationType type.
50
+ * @typedef {object} ChangeTableAddReferenceOperationType
51
+ * @property {"addReference"} type - Operation type.
52
+ * @property {string} referenceName - Reference name.
53
+ * @property {object | undefined} args - Reference args.
54
+ */
55
+ /**
56
+ * ChangeTableRemoveReferenceOperationType type.
57
+ * @typedef {object} ChangeTableRemoveReferenceOperationType
58
+ * @property {"removeReference"} type - Operation type.
59
+ * @property {string} referenceName - Reference name.
60
+ * @property {ChangeTableRemoveReferenceArgsType | undefined} args - Reference args.
61
+ */
62
+ /**
63
+ * ChangeTableRenameColumnOperationType type.
64
+ * @typedef {object} ChangeTableRenameColumnOperationType
65
+ * @property {"renameColumn"} type - Operation type.
66
+ * @property {string} oldColumnName - Previous column name.
67
+ * @property {string} newColumnName - New column name.
68
+ */
69
+ /**
70
+ * ChangeTableChangeColumnNullOperationType type.
71
+ * @typedef {object} ChangeTableChangeColumnNullOperationType
72
+ * @property {"changeColumnNull"} type - Operation type.
73
+ * @property {string} columnName - Column name.
74
+ * @property {boolean} nullable - Whether the column becomes nullable.
75
+ */
76
+ /**
77
+ * ChangeTableOperationType type.
78
+ * @typedef {ChangeTableAddColumnOperationType | ChangeTableRemoveColumnOperationType | ChangeTableAddIndexOperationType | ChangeTableRemoveIndexOperationType | ChangeTableAddReferenceOperationType | ChangeTableRemoveReferenceOperationType | ChangeTableRenameColumnOperationType | ChangeTableChangeColumnNullOperationType} ChangeTableOperationType
79
+ */
80
+ /**
81
+ * Table-scoped recorder used by `migration.changeTable`. Each call records a
82
+ * single DDL operation synchronously; `changeTable` replays them after the
83
+ * callback completes so a failed callback executes zero recorded DDL.
84
+ */
85
+ export default class VelociousDatabaseMigrationChangeTable {
86
+ /**
87
+ * Operations.
88
+ * @type {ChangeTableOperationType[]} */
89
+ _operations = [];
90
+ /**
91
+ * Runs constructor.
92
+ * @param {object} args - Options object.
93
+ * @param {string} args.tableName - Table name.
94
+ */
95
+ constructor({ tableName }) {
96
+ if (!tableName)
97
+ throw new Error(`Invalid table name: ${tableName}`);
98
+ this._tableName = tableName;
99
+ }
100
+ /**
101
+ * Runs get table name.
102
+ * @returns {string} - The table name.
103
+ */
104
+ getTableName() { return this._tableName; }
105
+ /**
106
+ * Runs get operations.
107
+ * @returns {ChangeTableOperationType[]} - The recorded operations.
108
+ */
109
+ getOperations() { return this._operations; }
110
+ /**
111
+ * Records a new column.
112
+ * @param {string} name - Column name.
113
+ * @param {string} type - Column type.
114
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
115
+ * @returns {void} - No return value.
116
+ */
117
+ column(name, type, args) {
118
+ this._operations.push({ type: "addColumn", columnName: name, columnType: type, args });
119
+ }
120
+ /**
121
+ * Records a bigint column.
122
+ * @param {string} name - Column name.
123
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
124
+ * @returns {void} - No return value.
125
+ */
126
+ bigint(name, args) { this.column(name, "bigint", args); }
127
+ /**
128
+ * Records a blob column.
129
+ * @param {string} name - Column name.
130
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
131
+ * @returns {void} - No return value.
132
+ */
133
+ blob(name, args) { this.column(name, "blob", args); }
134
+ /**
135
+ * Records a boolean column.
136
+ * @param {string} name - Column name.
137
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
138
+ * @returns {void} - No return value.
139
+ */
140
+ boolean(name, args) { this.column(name, "boolean", args); }
141
+ /**
142
+ * Records a datetime column.
143
+ * @param {string} name - Column name.
144
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
145
+ * @returns {void} - No return value.
146
+ */
147
+ datetime(name, args) { this.column(name, "datetime", args); }
148
+ /**
149
+ * Records a decimal column.
150
+ * @param {string} name - Column name.
151
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
152
+ * @returns {void} - No return value.
153
+ */
154
+ decimal(name, args) { this.column(name, "decimal", args); }
155
+ /**
156
+ * Records an integer column.
157
+ * @param {string} name - Column name.
158
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
159
+ * @returns {void} - No return value.
160
+ */
161
+ integer(name, args) { this.column(name, "integer", args); }
162
+ /**
163
+ * Records a json column.
164
+ * @param {string} name - Column name.
165
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
166
+ * @returns {void} - No return value.
167
+ */
168
+ json(name, args) { this.column(name, "json", args); }
169
+ /**
170
+ * Records a string column.
171
+ * @param {string} name - Column name.
172
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
173
+ * @returns {void} - No return value.
174
+ */
175
+ string(name, args) { this.column(name, "string", args); }
176
+ /**
177
+ * Records a text column.
178
+ * @param {string} name - Column name.
179
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
180
+ * @returns {void} - No return value.
181
+ */
182
+ text(name, args) { this.column(name, "text", args); }
183
+ /**
184
+ * Records a tinyint column.
185
+ * @param {string} name - Column name.
186
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
187
+ * @returns {void} - No return value.
188
+ */
189
+ tinyint(name, args) { this.column(name, "tinyint", args); }
190
+ /**
191
+ * Records a uuid column.
192
+ * @param {string} name - Column name.
193
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
194
+ * @returns {void} - No return value.
195
+ */
196
+ uuid(name, args) { this.column(name, "uuid", args); }
197
+ /**
198
+ * Records created_at and updated_at datetime columns.
199
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
200
+ * @returns {void} - No return value.
201
+ */
202
+ timestamps(args) {
203
+ this.datetime("created_at", args);
204
+ this.datetime("updated_at", args);
205
+ }
206
+ /**
207
+ * Records a new index.
208
+ * @param {string | Array<string | import("../table-data/table-column.js").default>} columns - Column name or array of column names.
209
+ * @param {ChangeTableAddIndexArgsType} [args] - Options object.
210
+ * @returns {void} - No return value.
211
+ */
212
+ index(columns, args) {
213
+ const normalizedColumns = typeof columns == "string" ? [columns] : columns;
214
+ this._operations.push({ type: "addIndex", columns: normalizedColumns, args });
215
+ }
216
+ /**
217
+ * Records a reference column, index, and optional foreign key.
218
+ * @param {string} name - Reference name.
219
+ * @param {object} [args] - Options object.
220
+ * @returns {void} - No return value.
221
+ */
222
+ references(name, args) {
223
+ this._operations.push({ type: "addReference", referenceName: name, args });
224
+ }
225
+ /**
226
+ * Alias for {@link references}.
227
+ * @param {string} name - Reference name.
228
+ * @param {object} [args] - Options object.
229
+ * @returns {void} - No return value.
230
+ */
231
+ belongsTo(name, args) { this.references(name, args); }
232
+ /**
233
+ * Records removal of one or more columns.
234
+ * @param {string[]} columnNames - Column names to remove.
235
+ * @returns {void} - No return value.
236
+ */
237
+ remove(...columnNames) {
238
+ for (const columnName of columnNames) {
239
+ this._operations.push({ type: "removeColumn", columnName });
240
+ }
241
+ }
242
+ /**
243
+ * Records removal of an index.
244
+ * @param {string | Array<string | import("../table-data/table-column.js").default>} nameOrColumns - Index name or columns.
245
+ * @param {ChangeTableRemoveIndexArgsType} [args] - Options object.
246
+ * @returns {void} - No return value.
247
+ */
248
+ removeIndex(nameOrColumns, args) {
249
+ this._operations.push({ type: "removeIndex", nameOrColumns, args });
250
+ }
251
+ /**
252
+ * Records removal of a reference column and its generated index and foreign keys.
253
+ * @param {string} name - Reference name.
254
+ * @param {ChangeTableRemoveReferenceArgsType} [args] - Options object.
255
+ * @returns {void} - No return value.
256
+ */
257
+ removeReferences(name, args) {
258
+ this._operations.push({ type: "removeReference", referenceName: name, args });
259
+ }
260
+ /**
261
+ * Records removal of the created_at and updated_at columns.
262
+ * @returns {void} - No return value.
263
+ */
264
+ removeTimestamps() {
265
+ this.remove("created_at", "updated_at");
266
+ }
267
+ /**
268
+ * Records a column rename.
269
+ * @param {string} oldColumnName - Previous column name.
270
+ * @param {string} newColumnName - New column name.
271
+ * @returns {void} - No return value.
272
+ */
273
+ rename(oldColumnName, newColumnName) {
274
+ this._operations.push({ type: "renameColumn", oldColumnName, newColumnName });
275
+ }
276
+ /**
277
+ * Records a change to a column's nullability.
278
+ * @param {string} columnName - Column name.
279
+ * @param {boolean} nullable - Whether the column becomes nullable.
280
+ * @returns {void} - No return value.
281
+ */
282
+ changeNull(columnName, nullable) {
283
+ this._operations.push({ type: "changeColumnNull", columnName, nullable });
284
+ }
285
+ }
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL21pZ3JhdGlvbi9jaGFuZ2UtdGFibGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFFSDs7Ozs7R0FLRztBQUVIOzs7Ozs7O0dBT0c7QUFFSDs7Ozs7R0FLRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7R0FHRztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHFDQUFxQztJQUN4RDs7NENBRXdDO0lBQ3hDLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFFaEI7Ozs7T0FJRztJQUNILFlBQVksRUFBQyxTQUFTLEVBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRW5FLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFBLENBQUMsQ0FBQztJQUV6Qzs7O09BR0c7SUFDSCxhQUFhLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBLENBQUMsQ0FBQztJQUUzQzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXhEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVwRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFMUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUxRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFMUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXBEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FB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QUksQ0FBQyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBDaGFuZ2VUYWJsZUFkZEluZGV4QXJnc1R5cGUgdHlwZS5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IENoYW5nZVRhYmxlQWRkSW5kZXhBcmdzVHlwZVxuICogQHByb3BlcnR5IHtib29sZWFufSBbaWZOb3RFeGlzdHNdIC0gU2tpcCBjcmVhdGlvbiBpZiB0aGUgaW5kZXggYWxyZWFkeSBleGlzdHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdIC0gRXhwbGljaXQgaW5kZXggbmFtZSB0byB1c2UuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFt1bmlxdWVdIC0gV2hldGhlciB0aGUgaW5kZXggc2hvdWxkIGJlIHVuaXF1ZS5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlUmVtb3ZlSW5kZXhBcmdzVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gQ2hhbmdlVGFibGVSZW1vdmVJbmRleEFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW25hbWVdIC0gRXhwbGljaXQgaW5kZXggbmFtZSB0byByZW1vdmUuXG4gKi9cblxuLyoqXG4gKiBDaGFuZ2VUYWJsZVJlbW92ZVJlZmVyZW5jZUFyZ3NUeXBlIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDaGFuZ2VUYWJsZVJlbW92ZVJlZmVyZW5jZUFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NvbHVtbk5hbWVdIC0gT3ZlcnJpZGUgdGhlIGRlcml2ZWQgcmVmZXJlbmNlIGNvbHVtbiBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpbmRleE5hbWVdIC0gRXhwbGljaXQgZ2VuZXJhdGVkIGluZGV4IG5hbWUgdG8gcmVtb3ZlLlxuICovXG5cbi8qKlxuICogQ2hhbmdlVGFibGVBZGRDb2x1bW5PcGVyYXRpb25UeXBlIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDaGFuZ2VUYWJsZUFkZENvbHVtbk9wZXJhdGlvblR5cGVcbiAqIEBwcm9wZXJ0eSB7XCJhZGRDb2x1bW5cIn0gdHlwZSAtIE9wZXJhdGlvbiB0eXBlLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNvbHVtbk5hbWUgLSBDb2x1bW4gbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjb2x1bW5UeXBlIC0gQ29sdW1uIHR5cGUuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGUgfCB1bmRlZmluZWR9IGFyZ3MgLSBDb2x1bW4gYXJncy5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlUmVtb3ZlQ29sdW1uT3BlcmF0aW9uVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gQ2hhbmdlVGFibGVSZW1vdmVDb2x1bW5PcGVyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge1wicmVtb3ZlQ29sdW1uXCJ9IHR5cGUgLSBPcGVyYXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjb2x1bW5OYW1lIC0gQ29sdW1uIG5hbWUuXG4gKi9cblxuLyoqXG4gKiBDaGFuZ2VUYWJsZUFkZEluZGV4T3BlcmF0aW9uVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gQ2hhbmdlVGFibGVBZGRJbmRleE9wZXJhdGlvblR5cGVcbiAqIEBwcm9wZXJ0eSB7XCJhZGRJbmRleFwifSB0eXBlIC0gT3BlcmF0aW9uIHR5cGUuXG4gKiBAcHJvcGVydHkge0FycmF5PHN0cmluZyB8IGltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLmRlZmF1bHQ+fSBjb2x1bW5zIC0gQ29sdW1ucyB0byBpbmRleC5cbiAqIEBwcm9wZXJ0eSB7Q2hhbmdlVGFibGVBZGRJbmRleEFyZ3NUeXBlIHwgdW5kZWZpbmVkfSBhcmdzIC0gSW5kZXggYXJncy5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlUmVtb3ZlSW5kZXhPcGVyYXRpb25UeXBlIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBDaGFuZ2VUYWJsZVJlbW92ZUluZGV4T3BlcmF0aW9uVHlwZVxuICogQHByb3BlcnR5IHtcInJlbW92ZUluZGV4XCJ9IHR5cGUgLSBPcGVyYXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgQXJyYXk8c3RyaW5nIHwgaW1wb3J0KFwiLi4vdGFibGUtZGF0YS90YWJsZS1jb2x1bW4uanNcIikuZGVmYXVsdD59IG5hbWVPckNvbHVtbnMgLSBJbmRleCBuYW1lIG9yIGNvbHVtbnMuXG4gKiBAcHJvcGVydHkge0NoYW5nZVRhYmxlUmVtb3ZlSW5kZXhBcmdzVHlwZSB8IHVuZGVmaW5lZH0gYXJncyAtIEluZGV4IGFyZ3MuXG4gKi9cblxuLyoqXG4gKiBDaGFuZ2VUYWJsZUFkZFJlZmVyZW5jZU9wZXJhdGlvblR5cGUgdHlwZS5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IENoYW5nZVRhYmxlQWRkUmVmZXJlbmNlT3BlcmF0aW9uVHlwZVxuICogQHByb3BlcnR5IHtcImFkZFJlZmVyZW5jZVwifSB0eXBlIC0gT3BlcmF0aW9uIHR5cGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcmVmZXJlbmNlTmFtZSAtIFJlZmVyZW5jZSBuYW1lLlxuICogQHByb3BlcnR5IHtvYmplY3QgfCB1bmRlZmluZWR9IGFyZ3MgLSBSZWZlcmVuY2UgYXJncy5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlUmVtb3ZlUmVmZXJlbmNlT3BlcmF0aW9uVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gQ2hhbmdlVGFibGVSZW1vdmVSZWZlcmVuY2VPcGVyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge1wicmVtb3ZlUmVmZXJlbmNlXCJ9IHR5cGUgLSBPcGVyYXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByZWZlcmVuY2VOYW1lIC0gUmVmZXJlbmNlIG5hbWUuXG4gKiBAcHJvcGVydHkge0NoYW5nZVRhYmxlUmVtb3ZlUmVmZXJlbmNlQXJnc1R5cGUgfCB1bmRlZmluZWR9IGFyZ3MgLSBSZWZlcmVuY2UgYXJncy5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlUmVuYW1lQ29sdW1uT3BlcmF0aW9uVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gQ2hhbmdlVGFibGVSZW5hbWVDb2x1bW5PcGVyYXRpb25UeXBlXG4gKiBAcHJvcGVydHkge1wicmVuYW1lQ29sdW1uXCJ9IHR5cGUgLSBPcGVyYXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBvbGRDb2x1bW5OYW1lIC0gUHJldmlvdXMgY29sdW1uIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmV3Q29sdW1uTmFtZSAtIE5ldyBjb2x1bW4gbmFtZS5cbiAqL1xuXG4vKipcbiAqIENoYW5nZVRhYmxlQ2hhbmdlQ29sdW1uTnVsbE9wZXJhdGlvblR5cGUgdHlwZS5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IENoYW5nZVRhYmxlQ2hhbmdlQ29sdW1uTnVsbE9wZXJhdGlvblR5cGVcbiAqIEBwcm9wZXJ0eSB7XCJjaGFuZ2VDb2x1bW5OdWxsXCJ9IHR5cGUgLSBPcGVyYXRpb24gdHlwZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjb2x1bW5OYW1lIC0gQ29sdW1uIG5hbWUuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IG51bGxhYmxlIC0gV2hldGhlciB0aGUgY29sdW1uIGJlY29tZXMgbnVsbGFibGUuXG4gKi9cblxuLyoqXG4gKiBDaGFuZ2VUYWJsZU9wZXJhdGlvblR5cGUgdHlwZS5cbiAqIEB0eXBlZGVmIHtDaGFuZ2VUYWJsZUFkZENvbHVtbk9wZXJhdGlvblR5cGUgfCBDaGFuZ2VUYWJsZVJlbW92ZUNvbHVtbk9wZXJhdGlvblR5cGUgfCBDaGFuZ2VUYWJsZUFkZEluZGV4T3BlcmF0aW9uVHlwZSB8IENoYW5nZVRhYmxlUmVtb3ZlSW5kZXhPcGVyYXRpb25UeXBlIHwgQ2hhbmdlVGFibGVBZGRSZWZlcmVuY2VPcGVyYXRpb25UeXBlIHwgQ2hhbmdlVGFibGVSZW1vdmVSZWZlcmVuY2VPcGVyYXRpb25UeXBlIHwgQ2hhbmdlVGFibGVSZW5hbWVDb2x1bW5PcGVyYXRpb25UeXBlIHwgQ2hhbmdlVGFibGVDaGFuZ2VDb2x1bW5OdWxsT3BlcmF0aW9uVHlwZX0gQ2hhbmdlVGFibGVPcGVyYXRpb25UeXBlXG4gKi9cblxuLyoqXG4gKiBUYWJsZS1zY29wZWQgcmVjb3JkZXIgdXNlZCBieSBgbWlncmF0aW9uLmNoYW5nZVRhYmxlYC4gRWFjaCBjYWxsIHJlY29yZHMgYVxuICogc2luZ2xlIERETCBvcGVyYXRpb24gc3luY2hyb25vdXNseTsgYGNoYW5nZVRhYmxlYCByZXBsYXlzIHRoZW0gYWZ0ZXIgdGhlXG4gKiBjYWxsYmFjayBjb21wbGV0ZXMgc28gYSBmYWlsZWQgY2FsbGJhY2sgZXhlY3V0ZXMgemVybyByZWNvcmRlZCBEREwuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlTWlncmF0aW9uQ2hhbmdlVGFibGUge1xuICAvKipcbiAgICogT3BlcmF0aW9ucy5cbiAgICogQHR5cGUge0NoYW5nZVRhYmxlT3BlcmF0aW9uVHlwZVtdfSAqL1xuICBfb3BlcmF0aW9ucyA9IFtdXG5cbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnRhYmxlTmFtZSAtIFRhYmxlIG5hbWUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7dGFibGVOYW1lfSkge1xuICAgIGlmICghdGFibGVOYW1lKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFibGUgbmFtZTogJHt0YWJsZU5hbWV9YClcblxuICAgIHRoaXMuX3RhYmxlTmFtZSA9IHRhYmxlTmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHRhYmxlIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHRhYmxlIG5hbWUuXG4gICAqL1xuICBnZXRUYWJsZU5hbWUoKSB7IHJldHVybiB0aGlzLl90YWJsZU5hbWUgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBvcGVyYXRpb25zLlxuICAgKiBAcmV0dXJucyB7Q2hhbmdlVGFibGVPcGVyYXRpb25UeXBlW119IC0gVGhlIHJlY29yZGVkIG9wZXJhdGlvbnMuXG4gICAqL1xuICBnZXRPcGVyYXRpb25zKCkgeyByZXR1cm4gdGhpcy5fb3BlcmF0aW9ucyB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBuZXcgY29sdW1uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSAtIENvbHVtbiB0eXBlLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjb2x1bW4obmFtZSwgdHlwZSwgYXJncykge1xuICAgIHRoaXMuX29wZXJhdGlvbnMucHVzaCh7dHlwZTogXCJhZGRDb2x1bW5cIiwgY29sdW1uTmFtZTogbmFtZSwgY29sdW1uVHlwZTogdHlwZSwgYXJnc30pXG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGJpZ2ludCBjb2x1bW4uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gQ29sdW1uIG5hbWUuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vdGFibGUtZGF0YS90YWJsZS1jb2x1bW4uanNcIikuVGFibGVDb2x1bW5BcmdzVHlwZX0gW2FyZ3NdIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIGJpZ2ludChuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwiYmlnaW50XCIsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGJsb2IgY29sdW1uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBibG9iKG5hbWUsIGFyZ3MpIHsgdGhpcy5jb2x1bW4obmFtZSwgXCJibG9iXCIsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGJvb2xlYW4gY29sdW1uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBib29sZWFuKG5hbWUsIGFyZ3MpIHsgdGhpcy5jb2x1bW4obmFtZSwgXCJib29sZWFuXCIsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGRhdGV0aW1lIGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgZGF0ZXRpbWUobmFtZSwgYXJncykgeyB0aGlzLmNvbHVtbihuYW1lLCBcImRhdGV0aW1lXCIsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIGRlY2ltYWwgY29sdW1uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBkZWNpbWFsKG5hbWUsIGFyZ3MpIHsgdGhpcy5jb2x1bW4obmFtZSwgXCJkZWNpbWFsXCIsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhbiBpbnRlZ2VyIGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgaW50ZWdlcihuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwiaW50ZWdlclwiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBqc29uIGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAganNvbihuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwianNvblwiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBzdHJpbmcgY29sdW1uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIENvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzdHJpbmcobmFtZSwgYXJncykgeyB0aGlzLmNvbHVtbihuYW1lLCBcInN0cmluZ1wiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSB0ZXh0IGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgdGV4dChuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwidGV4dFwiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSB0aW55aW50IGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgdGlueWludChuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwidGlueWludFwiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSB1dWlkIGNvbHVtbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5UYWJsZUNvbHVtbkFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgdXVpZChuYW1lLCBhcmdzKSB7IHRoaXMuY29sdW1uKG5hbWUsIFwidXVpZFwiLCBhcmdzKSB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgY3JlYXRlZF9hdCBhbmQgdXBkYXRlZF9hdCBkYXRldGltZSBjb2x1bW5zLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3RhYmxlLWRhdGEvdGFibGUtY29sdW1uLmpzXCIpLlRhYmxlQ29sdW1uQXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICB0aW1lc3RhbXBzKGFyZ3MpIHtcbiAgICB0aGlzLmRhdGV0aW1lKFwiY3JlYXRlZF9hdFwiLCBhcmdzKVxuICAgIHRoaXMuZGF0ZXRpbWUoXCJ1cGRhdGVkX2F0XCIsIGFyZ3MpXG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkcyBhIG5ldyBpbmRleC5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBBcnJheTxzdHJpbmcgfCBpbXBvcnQoXCIuLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5kZWZhdWx0Pn0gY29sdW1ucyAtIENvbHVtbiBuYW1lIG9yIGFycmF5IG9mIGNvbHVtbiBuYW1lcy5cbiAgICogQHBhcmFtIHtDaGFuZ2VUYWJsZUFkZEluZGV4QXJnc1R5cGV9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBpbmRleChjb2x1bW5zLCBhcmdzKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZENvbHVtbnMgPSB0eXBlb2YgY29sdW1ucyA9PSBcInN0cmluZ1wiID8gW2NvbHVtbnNdIDogY29sdW1uc1xuXG4gICAgdGhpcy5fb3BlcmF0aW9ucy5wdXNoKHt0eXBlOiBcImFkZEluZGV4XCIsIGNvbHVtbnM6IG5vcm1hbGl6ZWRDb2x1bW5zLCBhcmdzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIGEgcmVmZXJlbmNlIGNvbHVtbiwgaW5kZXgsIGFuZCBvcHRpb25hbCBmb3JlaWduIGtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBSZWZlcmVuY2UgbmFtZS5cbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXSAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICByZWZlcmVuY2VzKG5hbWUsIGFyZ3MpIHtcbiAgICB0aGlzLl9vcGVyYXRpb25zLnB1c2goe3R5cGU6IFwiYWRkUmVmZXJlbmNlXCIsIHJlZmVyZW5jZU5hbWU6IG5hbWUsIGFyZ3N9KVxuICB9XG5cbiAgLyoqXG4gICAqIEFsaWFzIGZvciB7QGxpbmsgcmVmZXJlbmNlc30uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUmVmZXJlbmNlIG5hbWUuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgYmVsb25nc1RvKG5hbWUsIGFyZ3MpIHsgdGhpcy5yZWZlcmVuY2VzKG5hbWUsIGFyZ3MpIH1cblxuICAvKipcbiAgICogUmVjb3JkcyByZW1vdmFsIG9mIG9uZSBvciBtb3JlIGNvbHVtbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGNvbHVtbk5hbWVzIC0gQ29sdW1uIG5hbWVzIHRvIHJlbW92ZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcmVtb3ZlKC4uLmNvbHVtbk5hbWVzKSB7XG4gICAgZm9yIChjb25zdCBjb2x1bW5OYW1lIG9mIGNvbHVtbk5hbWVzKSB7XG4gICAgICB0aGlzLl9vcGVyYXRpb25zLnB1c2goe3R5cGU6IFwicmVtb3ZlQ29sdW1uXCIsIGNvbHVtbk5hbWV9KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIHJlbW92YWwgb2YgYW4gaW5kZXguXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgQXJyYXk8c3RyaW5nIHwgaW1wb3J0KFwiLi4vdGFibGUtZGF0YS90YWJsZS1jb2x1bW4uanNcIikuZGVmYXVsdD59IG5hbWVPckNvbHVtbnMgLSBJbmRleCBuYW1lIG9yIGNvbHVtbnMuXG4gICAqIEBwYXJhbSB7Q2hhbmdlVGFibGVSZW1vdmVJbmRleEFyZ3NUeXBlfSBbYXJnc10gLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcmVtb3ZlSW5kZXgobmFtZU9yQ29sdW1ucywgYXJncykge1xuICAgIHRoaXMuX29wZXJhdGlvbnMucHVzaCh7dHlwZTogXCJyZW1vdmVJbmRleFwiLCBuYW1lT3JDb2x1bW5zLCBhcmdzfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmRzIHJlbW92YWwgb2YgYSByZWZlcmVuY2UgY29sdW1uIGFuZCBpdHMgZ2VuZXJhdGVkIGluZGV4IGFuZCBmb3JlaWduIGtleXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gUmVmZXJlbmNlIG5hbWUuXG4gICAqIEBwYXJhbSB7Q2hhbmdlVGFibGVSZW1vdmVSZWZlcmVuY2VBcmdzVHlwZX0gW2FyZ3NdIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHJlbW92ZVJlZmVyZW5jZXMobmFtZSwgYXJncykge1xuICAgIHRoaXMuX29wZXJhdGlvbnMucHVzaCh7dHlwZTogXCJyZW1vdmVSZWZlcmVuY2VcIiwgcmVmZXJlbmNlTmFtZTogbmFtZSwgYXJnc30pXG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkcyByZW1vdmFsIG9mIHRoZSBjcmVhdGVkX2F0IGFuZCB1cGRhdGVkX2F0IGNvbHVtbnMuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHJlbW92ZVRpbWVzdGFtcHMoKSB7XG4gICAgdGhpcy5yZW1vdmUoXCJjcmVhdGVkX2F0XCIsIFwidXBkYXRlZF9hdFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBjb2x1bW4gcmVuYW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb2xkQ29sdW1uTmFtZSAtIFByZXZpb3VzIGNvbHVtbiBuYW1lLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3Q29sdW1uTmFtZSAtIE5ldyBjb2x1bW4gbmFtZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgcmVuYW1lKG9sZENvbHVtbk5hbWUsIG5ld0NvbHVtbk5hbWUpIHtcbiAgICB0aGlzLl9vcGVyYXRpb25zLnB1c2goe3R5cGU6IFwicmVuYW1lQ29sdW1uXCIsIG9sZENvbHVtbk5hbWUsIG5ld0NvbHVtbk5hbWV9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYSBjaGFuZ2UgdG8gYSBjb2x1bW4ncyBudWxsYWJpbGl0eS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbk5hbWUgLSBDb2x1bW4gbmFtZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBudWxsYWJsZSAtIFdoZXRoZXIgdGhlIGNvbHVtbiBiZWNvbWVzIG51bGxhYmxlLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjaGFuZ2VOdWxsKGNvbHVtbk5hbWUsIG51bGxhYmxlKSB7XG4gICAgdGhpcy5fb3BlcmF0aW9ucy5wdXNoKHt0eXBlOiBcImNoYW5nZUNvbHVtbk51bGxcIiwgY29sdW1uTmFtZSwgbnVsbGFibGV9KVxuICB9XG59XG4iXX0=
@@ -1,39 +1,3 @@
1
- export type AddColumnArgsType = {
2
- /**
3
- * - Default value for the column.
4
- */
5
- default?: ReturnType<typeof JSON.parse>;
6
- /**
7
- * - Foreign key definition for the column.
8
- */
9
- foreignKey?: object;
10
- /**
11
- * - Whether to add an index (optionally unique).
12
- */
13
- index?: boolean | {
14
- unique: boolean;
15
- };
16
- /**
17
- * - Alias for maxLength (varchar length limit) on string-like columns.
18
- */
19
- limit?: number;
20
- /**
21
- * - Maximum length for string-like columns (e.g. varchar length).
22
- */
23
- maxLength?: number;
24
- /**
25
- * - Whether the column allows null values.
26
- */
27
- null?: boolean;
28
- /**
29
- * - Whether the column is a primary key.
30
- */
31
- primaryKey?: boolean;
32
- /**
33
- * - Whether the column enforces uniqueness.
34
- */
35
- unique?: boolean;
36
- };
37
1
  export type CreateTableIdArgsType = {
38
2
  /**
39
3
  * - Default value for the ID column.
@@ -70,6 +34,7 @@ export type LegacyLocalDateTimesMigrationArgsType = {
70
34
  tables?: string[];
71
35
  };
72
36
  import TableData from "../table-data/index.js";
37
+ import TableIndex from "../table-data/table-index.js";
73
38
  declare class NotImplementedError extends Error {
74
39
  }
75
40
  export { NotImplementedError };
@@ -127,6 +92,16 @@ export type RemoveReferenceArgsType = {
127
92
  */
128
93
  indexName?: string;
129
94
  };
95
+ export type ChangeTableArgsType = {
96
+ /**
97
+ * - Combine compatible contiguous DDL into single
98
+ * ALTER TABLE statements on drivers that support bulk alters (MySQL/MariaDB
99
+ * and PostgreSQL). `bulk` controls DDL grouping only, not transactional
100
+ * atomicity; unchanged drivers execute the recorded commands sequentially.
101
+ */
102
+ bulk?: boolean;
103
+ };
104
+ export type ChangeTableCallbackType = (table: import("./change-table.js").default) => void | Promise<void>;
130
105
  export default class VelociousDatabaseMigration {
131
106
  static _databaseIdentifiers: string[] | undefined;
132
107
  configuration: import("../../configuration.js").default;
@@ -176,10 +151,10 @@ export default class VelociousDatabaseMigration {
176
151
  * @param {string} tableName - Table name.
177
152
  * @param {string} columnName - Column name.
178
153
  * @param {string} columnType - Column type.
179
- * @param {AddColumnArgsType} [args] - Options object.
154
+ * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
180
155
  * @returns {Promise<void>} - Resolves when complete.
181
156
  */
182
- addColumn(tableName: string, columnName: string, columnType: string, args?: AddColumnArgsType): Promise<void>;
157
+ addColumn(tableName: string, columnName: string, columnType: string, args?: import("../table-data/table-column.js").TableColumnArgsType): Promise<void>;
183
158
  /**
184
159
  * Runs remove column.
185
160
  * @param {string} tableName - Table name.
@@ -373,6 +348,39 @@ export default class VelociousDatabaseMigration {
373
348
  }): Promise<void>;
374
349
  createTable(tableName: string, callback: CreateTableCallbackType): Promise<void>;
375
350
  createTable(tableName: string, args: CreateTableArgsType, callback: CreateTableCallbackType): Promise<void>;
351
+ changeTable(tableName: string, callback: ChangeTableCallbackType): Promise<void>;
352
+ changeTable(tableName: string, args: ChangeTableArgsType, callback: ChangeTableCallbackType): Promise<void>;
353
+ /**
354
+ * Executes recorded changeTable operations. With `bulk` enabled on a
355
+ * supporting driver, compatible contiguous column operations accumulate into
356
+ * a single TableData flushed through `alterTableSQLs`; incompatible commands
357
+ * flush the batch first and run through the existing migration helpers.
358
+ * @param {string} tableName - Table name.
359
+ * @param {import("./change-table.js").ChangeTableOperationType[]} operations - Recorded operations.
360
+ * @param {object} args - Options object.
361
+ * @param {boolean} args.bulk - Whether to enable bulk command grouping.
362
+ * @returns {Promise<void>} - Resolves when complete.
363
+ */
364
+ _executeChangeTableOperations(tableName: string, operations: import("./change-table.js").ChangeTableOperationType[], { bulk }: {
365
+ bulk: boolean;
366
+ }): Promise<void>;
367
+ /**
368
+ * Builds a TableIndex for a batch from a recorded addIndex operation,
369
+ * resolving the default addIndex name eagerly so a combined MySQL ALTER
370
+ * never silently names the index differently.
371
+ * @param {string} tableName - Table name.
372
+ * @param {import("./change-table.js").ChangeTableAddIndexOperationType} operation - Recorded operation.
373
+ * @returns {TableIndex} - The table index.
374
+ */
375
+ _changeTableTableIndex(tableName: string, operation: import("./change-table.js").ChangeTableAddIndexOperationType): TableIndex;
376
+ /**
377
+ * Executes a single recorded changeTable operation through the existing
378
+ * migration helper with the same semantics as a direct helper call.
379
+ * @param {string} tableName - Table name.
380
+ * @param {import("./change-table.js").ChangeTableOperationType} operation - Recorded operation.
381
+ * @returns {Promise<void>} - Resolves when complete.
382
+ */
383
+ _executeChangeTableOperation(tableName: string, operation: import("./change-table.js").ChangeTableOperationType): Promise<void>;
376
384
  /**
377
385
  * Runs drop table.
378
386
  * @param {string} tableName - Table name.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/index.js"],"names":[],"mappings":"AAIG,YAAkB,qBAAqB,GACvC;;;;IAA2C,OAAO,AAAlD,CACA,EADW,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CACxC;;;;IAAoB,IAAI,AAAxB,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AAGE,YAAkB,mBAAmB,GACrC;;;;IAAqB,WAAW,AAAhC,CACA,EADW,OAAO,CAClB;;;;IAA2C,EAAE,AAA7C,CACF,EADa,qBAAqB,GAAG,KAAK,CAC1C;CAAA,CAAA;AAGE,YAAsC,uBAAuB,GAAnD,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAyB;AAI7D,YAAkB,qCAAqC,GACvD;;;;IAAsC,cAAc,AAApD,CACA,EADW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CACnC;;;;IAAoB,wBAAwB,AAA5C,CACA,EADW,MAAM,CACjB;;;;IAAsB,MAAM,AAA5B,CACF,EADa,MAAM,EAAE,CACrB;CAAA,CAAA;AAQD,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,OAAO,UAAU,MAAM,8BAA8B,CAAA;AACrD,cAAM,mBAAoB,SAAQ,KAAK;CAAG;AAE1C,OAAO,EAAC,mBAAmB,EAAC,CAAA;AAkHvB,YAAkB,gBAAgB,GAClC;;;;IAAqB,WAAW,AAAhC,CACA,EADW,OAAO,CAClB;;;;IAAoB,IAAI,AAAxB,CACA,EADW,MAAM,CACjB;;;;IAAqB,MAAM,AAA3B,CACF,EADa,OAAO,CACpB;CAAA,CAAA;AA0BE,YAAkB,mBAAmB,GACrC;;;;IAAoB,IAAI,AAAxB,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AAyCE,YAAkB,qBAAqB,GACvC;;;;IAAoB,UAAU,AAA9B,CACA,EADW,MAAM,CACjB;;;;IAAoB,IAAI,AAAxB,CACA,EADW,MAAM,CACjB;;;;IAAoB,oBAAoB,AAAxC,CACA,EADW,MAAM,CACjB;;;;IAAoB,mBAAmB,AAAvC,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AAqCE,YAAkB,wBAAwB,GAC1C;;;;IAAoB,UAAU,AAA9B,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AA6EE,YAAkB,uBAAuB,GACzC;;;;IAAoB,UAAU,AAA9B,CACA,EADW,MAAM,CACjB;;;;IAAoB,SAAS,AAA7B,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AA+UE,YAAkB,mBAAmB,GACrC;;;;;;;IAAqB,IAAI,AAAzB,CAIF,EAJa,OAAO,CAIpB;CAAA,CAAA;AAIE,YAAgF,uBAAuB,GAA7F,CAAC,KAAK,EAAE,OAAO,mBAAmB,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAyB;AA7oB5G,MAAM,CAAC,OAAO,OAAO,0BAA0B;WAOtC,oBAAoB;IAsBpB,aAAa;IACb,mBAAmB;IACnB,GAAG;IA9BV;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAH3B,MAAM,EAGqB,GAFzB,IAAI,CAIhB;IAED;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAFhB,MAAM,EAAE,GAAG,SAAS,CAIhC;IAED;;;;;;OAMG;IACH,YAAY,EAAC,aAAa,EAAE,kBAA8B,EAAE,EAAE,EAAC,EAJ5D;QAAuD,aAAa,EAA5D,OAAO,wBAAwB,EAAE,OAAO,CAChD;QAAqB,kBAAkB,EAA/B,MAAM,CACd;QAAmD,EAAE,EAA7C,OAAO,oBAAoB,EAAE,OAAO,CAC9C;KAC8D,EAO9D;IAED,sBAAsB,WAIrB;IAED;;;OAGG;IACH,SAAS,IAFI,OAAO,oBAAoB,EAAE,OAAO,CAElB;IAC/B,UAAU,yCAA8B;IAElC,MAAM,kBAEX;IAEK,EAAE,kBAEP;IAEK,IAAI,kBAET;IAED;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAHN,MAGM,GAFJ,OAAO,CAAC,OAAO,oBAAoB,EAAE,eAAe,CAAC,CAIjE;IAED;;;;;;;OAOG;IACG,SAAS,CAAC,SAAS,EANd,MAMc,EAAE,UAAU,EAL1B,MAK0B,EAAE,UAAU,EAJtC,MAIsC,EAAE,IAAI,AAHpD,CACA,EADQ,OAAO,+BAA+B,EAAE,mBAGI,GAF1C,OAAO,CAAC,IAAI,CAAC,CAezB;IAED;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAJjB,MAIiB,EAAE,UAAU,EAH7B,MAG6B,GAF3B,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;;;;OAMG;IACH;;;;;;OAMG;IACG,QAAQ,CAAC,SAAS,EALb,MAKa,EAAE,OAAO,EAJtB,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,+BAA+B,EAAE,OAAO,CAIjD,EAAE,IAAI,AAHpC,CACA,EADQ,gBAG4B,GAF1B,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;OAIG;IACH;;;;;;OAMG;IACG,WAAW,CAAC,SAAS,EALhB,MAKgB,EAAE,aAAa,EAJ/B,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,+BAA+B,EAAE,OAAO,CAIxC,EAAE,IAAI,AAH7C,CACA,EADQ,mBAG0C,GAFxC,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAS,EAJf,MAIe,EAAE,aAAa,EAH9B,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,+BAA+B,EAAE,OAAO,CAGzC,GAF5B,MAAM,CAYlB;IAED;;;;;;;OAOG;IACH;;;;;;;;;;OAUG;IACG,aAAa,CAAC,SAAS,EATlB,MASkB,EAAE,aAAa,EARjC,MAQiC,EAAE,IAAI,AAH/C,CACA,EADQ,qBAG4C,GAF1C,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACH;;;;;;OAMG;IACG,gBAAgB,CAAC,SAAS,EALrB,MAKqB,EAAE,aAAa,EAJpC,MAIoC,EAAE,IAAI,AAHlD,CACA,EADQ,wBAG+C,GAF7C,OAAO,CAAC,IAAI,CAAC,CAuCzB;IAED;;;;;;;;;;OAUG;IACG,YAAY,CAAC,SAAS,EATjB,MASiB,EAAE,aAAa,EARhC,MAQgC,EAAE,IAAI,EAN9C;QAAuB,UAAU,AAAjC,CACA,EADQ,OAAO,CACf;QAAuB,IAAI,AAA3B,CACA,EADQ,OAAO,CACf;QAAsB,IAAI,AAA1B,CACA,EADQ,MAAM,CACd;QAAuB,MAAM,AAA7B,CACA,EADQ,OAAO,CACf;KAE8C,GAFpC,OAAO,CAAC,IAAI,CAAC,CAiBzB;IAED;;;;;OAKG;IACH;;;;;;OAMG;IACG,eAAe,CAAC,SAAS,EALpB,MAKoB,EAAE,aAAa,EAJnC,MAImC,EAAE,IAAI,AAHjD,CACA,EADQ,uBAG8C,GAF5C,OAAO,CAAC,IAAI,CAAC,CAqCzB;IAED;;;;;;OAMG;IACG,gBAAgB,CAAC,SAAS,EALrB,MAKqB,EAAE,UAAU,EAJjC,MAIiC,EAAE,QAAQ,EAH3C,OAG2C,GAFzC,OAAO,CAAC,IAAI,CAAC,CAYzB;IAED;;;;;OAKG;IACG,uCAAuC,CAAC,IAAI,AAH/C,CACA,EADQ,qCAG4C,GAF1C,OAAO,CAAC,IAAI,CAAC,CAgBzB;IAED;;;;OAIG;IACG,+BAA+B,CAAC,MAAM,EAHjC,MAAM,EAAE,GAAG,SAGsB,GAF/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ7B;IAED;;;;;;;OAOG;IACG,iCAAiC,CAAC,EAAC,cAAc,EAAE,wBAAwB,EAAE,SAAS,EAAC,EAL1F;QAAmD,cAAc,EAAzD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAC5C;QAAiC,wBAAwB,EAAjD,MAAM,GAAG,SAAS,CAC1B;QAAqB,SAAS,EAAtB,MAAM,CACd;KAE0F,GAFhF,OAAO,CAAC,IAAI,CAAC,CAiCzB;IAED;;;;;;OAMG;IACG,4BAA4B,CAAC,EAAC,cAAc,EAAE,KAAK,EAAC,EAJvD;QAAmD,cAAc,EAAzD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAC5C;QAAyD,KAAK,EAAtD,OAAO,0BAA0B,EAAE,OAAO,CAClD;KAEuD,GAF7C,OAAO,CAAC,MAAM,EAAE,CAAC,CAU7B;IAED;;;;OAIG;IACH,qCAAqC,CAAC,MAAM,EAHjC,OAAO,2BAA2B,EAAE,OAGH,GAF/B,OAAO,CAMnB;IAED;;;;OAIG;IACG,+BAA+B,CAAC,KAAK,EAHhC,OAAO,0BAA0B,EAAE,OAGH,GAF9B,OAAO,CAAC,MAAM,CAAC,CAU3B;IAED;;;;;OAKG;IACG,YAAY,CAAC,SAAS,EAJjB,MAIiB,EAAE,UAAU,EAH7B,MAG6B,GAF3B,OAAO,CAAC,OAAO,CAAC,CAc5B;IAED;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAJhB,MAIgB,EAAE,SAAS,EAH3B,MAG2B,GAFzB,OAAO,CAAC,OAAO,CAAC,CAc5B;IAED;;;;;;;;;;OAUG;IACG,aAAa,CAAC,SAAS,EANlB,MAMkB,EAAE,cAAc,EALlC,MAKkC,EAAE,EAAC,KAAK,EAAC,EAHnD;QAAwB,KAAK,EAArB,MAAM,CACd;KAEmD,GAFzC,OAAO,CAAC,IAAI,CAAC,CAUzB;IAwBK,WAAW,CAnBE,SAAS,EAAjB,MACR,EAAiC,QAAQ,EAAjC,uBACR,GAAU,OAAO,CAAC,IAAI,CAAC,CAHd;IAoBN,WAAW,CAZE,SAAS,EAAjB,MACR,EAA6B,IAAI,EAAzB,mBACR,EAAiC,QAAQ,EAAjC,uBACR,GAAU,OAAO,CAAC,IAAI,CAAC,CAJd;IAoHN,WAAW,CAnBE,SAAS,EAAjB,MACR,EAAiC,QAAQ,EAAjC,uBACR,GAAU,OAAO,CAAC,IAAI,CAAC,CAHd;IAoBN,WAAW,CAZE,SAAS,EAAjB,MACR,EAA6B,IAAI,EAAzB,mBACR,EAAiC,QAAQ,EAAjC,uBACR,GAAU,OAAO,CAAC,IAAI,CAAC,CAJd;IAqCZ;;;;;;;;;;OAUG;IACG,6BAA6B,CAAC,SAAS,EANlC,MAMkC,EAAE,UAAU,EAL9C,OAAO,mBAAmB,EAAE,wBAAwB,EAKN,EAAE,EAAC,IAAI,EAAC,EAH9D;QAAsB,IAAI,EAAlB,OAAO,CACf;KAE8D,GAFpD,OAAO,CAAC,IAAI,CAAC,CAkEzB;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,EAJrB,MAIqB,EAAE,SAAS,EAHhC,OAAO,mBAAmB,EAAE,gCAGI,GAF9B,UAAU,CAUtB;IAED;;;;;;OAMG;IACG,4BAA4B,CAAC,SAAS,EAJjC,MAIiC,EAAE,SAAS,EAH5C,OAAO,mBAAmB,EAAE,wBAGgB,GAF1C,OAAO,CAAC,IAAI,CAAC,CA+BzB;IAED;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAHd,MAGc,GAFZ,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EALjB,MAKiB,EAAE,aAAa,EAJhC,MAIgC,EAAE,aAAa,EAH/C,MAG+C,GAF7C,OAAO,CAAC,IAAI,CAAC,CAIzB;IAED;;;;OAIG;IACG,WAAW,CAAC,SAAS,EAHhB,MAGgB,GAFd,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;OAKG;IACG,uBAAuB,CAAC,OAAO,AAHlC,CACA,EADQ;QAAC,EAAE,CAAC,EAAE;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAC,CAAA;KAGU,GAF7B,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;;;;OAOG;IACG,yBAAyB,CAAC,cAAc,EAJnC,MAImC,EAAE,OAAO,AAHpD,CACA,EADQ;QAAC,EAAE,CAAC,EAAE;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAC,CAAA;KAG4B,GAF/C,OAAO,CAAC,MAAM,CAAC,CAiB3B;CACF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAH3C,MAG2C,GAFzC,MAAM,CAQlB"}