lodash-walk-object 16.0.49 → 16.0.50

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.
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "name": "lodash-walk-object",
50
50
  "description": "Walk all properties deep in object with lodash help",
51
- "version": "16.0.49",
51
+ "version": "16.0.50",
52
52
  "scripts": {
53
53
  "test": "mocha --require ts-node/register src/**/*.spec.ts",
54
54
  "test:watch": "mocha --compilers ts-node/register src/**/*.spec.ts --watch"
@@ -68,11 +68,11 @@
68
68
  },
69
69
  "homepage": "https://github.com/darekf77/lodash-walk-object#readme",
70
70
  "dependencies": {
71
- "typescript-class-helpers": "~16.0.17"
71
+ "typescript-class-helpers": "~16.0.19"
72
72
  },
73
73
  "license": "MIT",
74
74
  "private": false,
75
- "lastBuildTagHash": "93754749261bf9a7bb30552ab4c9fb359bc07244",
75
+ "lastBuildTagHash": "9b8a4250ec47256ea41705a2053476dad96134d9",
76
76
  "devDependencies": {
77
77
  "@angular-devkit/build-angular": "~16.0.5",
78
78
  "@angular-devkit/core": "~16.0.5",
@@ -93,6 +93,9 @@
93
93
  "@angular/router": "~16.0.0",
94
94
  "@angular/service-worker": "~16.0.4",
95
95
  "@babel/cli": "7.18.6",
96
+ "@commitlint/cli": "12.1.1",
97
+ "@commitlint/config-conventional": "12.1.1",
98
+ "@commitlint/prompt-cli": "12.1.1",
96
99
  "@compodoc/compodoc": "1.1.20",
97
100
  "@cypress/schematic": "2.5.0",
98
101
  "@iconify/icons-fa-solid": "1.2.2",
@@ -112,7 +115,7 @@
112
115
  "@ngrx/store": "~16.0.1",
113
116
  "@ngrx/store-devtools": "~16.0.1",
114
117
  "@ngx-formly/core": "6.1.7",
115
- "@ngx-formly/material": "6.1.7",
118
+ "@ngx-formly/material": "6.1.8",
116
119
  "@ngx-translate/core": "15.0.0",
117
120
  "@ngx-translate/http-loader": "8.0.0",
118
121
  "@sweetalert2/ngx-sweetalert2": "12.1.0",
@@ -128,7 +131,6 @@
128
131
  "@types/glob": "5.0.35",
129
132
  "@types/http-proxy": "1.16.0",
130
133
  "@types/http-proxy-middleware": "0.19.2",
131
- "@types/inquirer": "7.3.1",
132
134
  "@types/jest": "29.5.2",
133
135
  "@types/json-stringify-safe": "5.0.0",
134
136
  "@types/json5": "0.0.29",
@@ -148,11 +150,13 @@
148
150
  "@types/vinyl": "2.0.2",
149
151
  "@types/watch": "1.0.0",
150
152
  "accepts": "1.3.4",
153
+ "ajv": "8.12.0",
151
154
  "angular-material-css-vars": "5.0.2",
155
+ "angular-resize-event": "3.2.0",
152
156
  "animate.css": "4.1.1 ",
153
- "any-project-cli": "~16.0.31",
157
+ "any-project-cli": "~16.0.33",
154
158
  "axios": "1.3.5",
155
- "background-worker-process": "~16.0.48",
159
+ "background-worker-process": "~16.0.50",
156
160
  "base32": "0.0.7",
157
161
  "bcryptjs": "2.4.3",
158
162
  "better-sqlite3": "7.6.2",
@@ -171,6 +175,7 @@
171
175
  "compression": "1.7.4",
172
176
  "concurrently": "3.5.1",
173
177
  "content-type": "1.0.4",
178
+ "conventional-changelog-cli": "3.0.0",
174
179
  "cookie-parser": "1.4.3",
175
180
  "copy-paste": "1.5.3",
176
181
  "cors": "2.8.4",
@@ -180,6 +185,10 @@
180
185
  "dateformat": "3.0.3",
181
186
  "detect-mocha": "0.1.0",
182
187
  "diff": "3.2.0",
188
+ "electron": "25.2.0",
189
+ "electron-builder": "24.4.0",
190
+ "electron-debug": "3.2.0",
191
+ "electron-reloader": "1.2.3",
183
192
  "element-resize-detector": "1.1.15",
184
193
  "enquirer": "2.3.0",
185
194
  "enum-values": "1.2.1",
@@ -195,13 +204,13 @@
195
204
  "file-saver": "2.0.5",
196
205
  "file-type": "18.5.0",
197
206
  "firedev": "^16",
198
- "firedev-crud": "~16.0.53",
199
- "firedev-crud-deamon": "~16.0.43",
200
- "firedev-ports": "~16.0.48",
201
- "firedev-storage": "~16.0.40",
202
- "firedev-type-sql": "~16.0.1",
203
- "firedev-typeorm": "~16.0.37",
204
- "firedev-ui": "~16.0.7",
207
+ "firedev-crud": "~16.0.56",
208
+ "firedev-crud-deamon": "~16.0.45",
209
+ "firedev-ports": "~16.0.51",
210
+ "firedev-storage": "~16.0.42",
211
+ "firedev-type-sql": "~16.0.3",
212
+ "firedev-typeorm": "~16.0.40",
213
+ "firedev-ui": "~16.0.10",
205
214
  "fkill": "6.1.0",
206
215
  "font-awesome": "4.7.0",
207
216
  "form-data": "4.0.0",
@@ -218,11 +227,11 @@
218
227
  "image-focus": "1.2.1",
219
228
  "immer": "10.0.2",
220
229
  "immutable": "4.3.0",
221
- "incremental-compiler": "~16.0.31",
230
+ "incremental-compiler": "~16.0.32",
222
231
  "inquirer": "7.3.3",
223
232
  "inquirer-autocomplete-prompt": "1.3.0",
224
233
  "is-elevated": "3.0.0",
225
- "isomorphic-region-loader": "~16.0.41",
234
+ "isomorphic-region-loader": "~16.0.43",
226
235
  "istanbul-instrumenter-loader": "2.0.0",
227
236
  "jest": "29.5.0",
228
237
  "jest-date-mock": "1.0.8",
@@ -233,8 +242,8 @@
233
242
  "joi": "17.9.2",
234
243
  "jscodeshift": "0.6.3",
235
244
  "json-stringify-safe": "5.0.1",
236
- "json10": "~16.0.48",
237
- "json10-writer": "~16.0.44",
245
+ "json10": "~16.0.49",
246
+ "json10-writer": "~16.0.47",
238
247
  "json5": "2.2.1",
239
248
  "json5-writer": "0.2.0",
240
249
  "jszip": "3.10.1",
@@ -243,23 +252,23 @@
243
252
  "localforage": "1.10.0",
244
253
  "lockfile": "1.0.4",
245
254
  "lodash": "4.17.20",
246
- "lodash-walk-object": "~16.0.48",
255
+ "lodash-walk-object": "~16.0.49",
247
256
  "lowdb": "1.0.0",
248
- "magic-renamer": "~16.0.46",
257
+ "magic-renamer": "~16.0.51",
249
258
  "material-design-icons": "3.0.1",
250
259
  "method-override": "2.3.10",
251
260
  "minimist": "1.2.0",
252
261
  "mkdirp": "0.5.1",
253
262
  "mocha": "10.2.0",
254
263
  "moment": "2.29.3",
255
- "morphi": "~16.0.7",
264
+ "morphi": "~16.2.3",
256
265
  "ng-for-track-by-property": "16.0.1",
257
266
  "ng-in-viewport": "15.0.2",
258
267
  "ng-lock": "16.0.1",
259
268
  "ng-packagr": "16.0.1",
260
269
  "ng-talkback": "~16.2.1",
261
- "ng2-logger": "~16.0.7",
262
- "ng2-rest": "~16.0.12",
270
+ "ng2-logger": "~16.0.9",
271
+ "ng2-rest": "~16.0.14",
263
272
  "ngx-ace-wrapper": "14.0.0",
264
273
  "ngx-editor": "15.3.0",
265
274
  "ngx-highlightjs": "9.0.0",
@@ -273,6 +282,7 @@
273
282
  "node-cli-tester": "~16.0.2",
274
283
  "node-localstorage": "2.1.6",
275
284
  "node-notifier": "6.0.0",
285
+ "node-polyfill-webpack-plugin": "2.0.1",
276
286
  "nodemon": "1.14.11",
277
287
  "npm-get-dependents": "1.0.1",
278
288
  "npm-run": "4.1.2",
@@ -284,7 +294,7 @@
284
294
  "password-hash": "1.2.2",
285
295
  "pica": "9.0.1",
286
296
  "portfinder": "1.0.21",
287
- "prettier": "2.5.1",
297
+ "prettier": "3.0.0",
288
298
  "progress": "2.0.3",
289
299
  "prompts": "0.1.8",
290
300
  "ps-list": "6.1.0",
@@ -303,7 +313,7 @@
303
313
  "socket.io": "2.4.1",
304
314
  "sort-package-json": "1.11.0",
305
315
  "sql.js": "1.8.0",
306
- "static-columns": "~16.0.5",
316
+ "static-columns": "~16.0.8",
307
317
  "string-similarity": "4.0.2",
308
318
  "sudo-block": "3.0.0",
309
319
  "supertest": "6.3.3",
@@ -311,12 +321,12 @@
311
321
  "systeminformation": "3.45.7",
312
322
  "task.js": "0.1.5",
313
323
  "threads": "1.7.0",
314
- "tnp-cli": "~16.0.6",
315
- "tnp-config": "~16.0.12",
316
- "tnp-core": "~16.0.14",
317
- "tnp-db": "~16.0.26",
318
- "tnp-helpers": "~16.0.7",
319
- "tnp-models": "~16.0.35",
324
+ "tnp-cli": "~16.0.8",
325
+ "tnp-config": "~16.0.20",
326
+ "tnp-core": "~16.0.24",
327
+ "tnp-db": "~16.0.29",
328
+ "tnp-helpers": "~16.0.11",
329
+ "tnp-models": "~16.0.38",
320
330
  "ts-debug": "1.3.0",
321
331
  "ts-loader": "2.3.1",
322
332
  "ts-node": "10.9.1",
@@ -330,16 +340,16 @@
330
340
  "uuid": "8.3.2",
331
341
  "validator": "9.2.0",
332
342
  "video.js": "8.3.0",
333
- "vpn-split": "~16.0.1",
343
+ "vpn-split": "~16.0.3",
334
344
  "watch": "1.0.2",
335
345
  "yup": "1.1.1",
336
346
  "zone.js": "~0.13.0"
337
347
  }
338
348
  },
339
349
  "build": {
340
- "number": 278,
341
- "date": "2023-06-29T23:44:58.000Z",
342
- "hash": "9b8a4250ec47256ea41705a2053476dad96134d9",
350
+ "number": 281,
351
+ "date": "2023-10-01T15:03:24.000Z",
352
+ "hash": "7110ecfbaa59238003b85ddaca6639d2e2dfb5a5",
343
353
  "options": {}
344
354
  },
345
355
  "currentProjectName": "lodash-walk-object",
@@ -347,17 +357,15 @@
347
357
  "currentProjectLaunchConfiguration": "{\"version\":\"0.2.0\",\"configurations\":[{\"type\":\"node\",\"request\":\"launch\",\"name\":\"Launch Server standalone\",\"program\":\"${workspaceFolder}/run.js\",\"args\":[\"--ENVoverride=%7B%0A%20%20%20%20%22clientProjectName%22%3A%20%22lodash-walk-object%22%0A%7D\"],\"runtimeArgs\":[\"--nolazy\",\"-r\",\"ts-node/register\",\"--experimental-worker\"]},{\"name\":\"Debugger with ng serve\",\"type\":\"chrome\",\"request\":\"launch\",\"preLaunchTask\":\"Ng Serve\",\"postDebugTask\":\"terminateall\",\"sourceMaps\":true,\"webRoot\":\"${workspaceFolder}\",\"sourceMapPathOverrides\":{\"webpack:/*\":\"${webRoot}/*\",\"/./*\":\"${webRoot}/*\",\"/tmp-src/*\":\"${webRoot}/*\",\"/*\":\"*\",\"/./~/*\":\"${webRoot}/node_modules/*\"}},{\"type\":\"node\",\"request\":\"attach\",\"name\":\"Attach to global cli tool\",\"port\":9229,\"skipFiles\":[\"<node_internals>/**\"]}],\"compounds\":[{\"name\":\"Debug backend/frontend\",\"configurations\":[\"Launch Server standalone\",\"Debugger with ng serve\"]}]}",
348
358
  "currentProjectTasksConfiguration": "{\"version\":\"2.0.0\",\"tasks\":[{\"label\":\"terminateall\",\"command\":\"echo ${input:terminate}\",\"type\":\"shell\",\"problemMatcher\":[]},{\"label\":\"Ng Serve\",\"type\":\"shell\",\"command\":\"tnp build\",\"isBackground\":true,\"presentation\":{\"reveal\":\"always\"},\"group\":{\"kind\":\"build\",\"isDefault\":true},\"problemMatcher\":{\"owner\":\"typescript\",\"source\":\"ts\",\"applyTo\":\"closedDocuments\",\"fileLocation\":[\"relative\",\"${cwd}\"],\"pattern\":\"$tsc\",\"background\":{\"activeOnStart\":true,\"beginsPattern\":{\"regexp\":\"(.*?)\"},\"endsPattern\":{\"regexp\":\"Compiled |Failed to compile.\"}}}}],\"inputs\":[{\"id\":\"terminate\",\"type\":\"command\",\"command\":\"workbench.action.tasks.terminate\",\"args\":\"terminateAll\"}]}",
349
359
  "currentProjectType": "isomorphic-lib",
350
- "currentFrameworkVersion": "16.0.18",
351
- "currentProjectIsStrictSite": false,
352
- "currentProjectIsDependencySite": false,
353
- "currentProjectIsStatic": false,
360
+ "currentFrameworkVersion": "16.0.21",
354
361
  "isStandaloneProject": true,
362
+ "isSmartContainer": false,
355
363
  "frameworks": [
356
364
  "bootstrap",
357
365
  "ionic",
358
366
  "material"
359
367
  ],
360
- "pathesTsconfig": "\"paths\": {},",
368
+ "pathesTsconfig": "\"paths\": {\"lodash-walk-object\":[\"./src/lib\"],\"lodash-walk-object/*\":[\"./src/lib/*\"]},",
361
369
  "customRootDir": "\"rootDir\": \"./src\",",
362
370
  "currentLibProjectSourceFolder": "src"
363
371
  }
package/websql/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -335,4 +335,4 @@ export const walk = {
335
335
  ObjectBy: Helpers.Walk.ObjectBy
336
336
  };
337
337
  ({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC9sb2Rhc2gtd2Fsay1vYmplY3QvcHJvamVjdHMvbG9kYXNoLXdhbGstb2JqZWN0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUd4RCxjQUFjLFVBQVUsQ0FBQztBQUV6QixTQUFTLFlBQVksQ0FBQyxHQUFlLEVBQUUsRUFBVSxFQUFFLFdBQW9CO0lBRXJFLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDakIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUM5RCxDQUFDLENBQUMsQ0FBQztLQUNKO1NBQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBRTFCLE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRSxNQUFNLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsVUFB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QUMsSUFBSSxDQUFDLFFBQVE7Q0FDaEMsQ0FFQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IENMQVNTIH0gZnJvbSAndHlwZXNjcmlwdC1jbGFzcy1oZWxwZXJzL3dlYnNxbCc7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuZnVuY3Rpb24gZmluZENoaWxkcmVuKHZlcjogTW9kZWxzLlZlciwgbHA6IHN0cmluZywgd2Fsa0dldHRlcnM6IGJvb2xlYW4pOiBNb2RlbHMuVmVyW10ge1xuXG4gIGNvbnN0IG9iaiA9IHZlci52XG4gIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgIHJldHVybiBvYmoubWFwKCh2LCBpKSA9PiB7XG4gICAgICByZXR1cm4geyB2LCBwOiBgJHtscH1bJHtpfV1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcblxuICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgY29uc3QgY2hpbGRyZW46IE1vZGVscy5WZXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBfLmlzRnVuY3Rpb24ob2JqLmhhc093blByb3BlcnR5KSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBfLnB1bGwoYWxsS2V5cywga2V5KVxuICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IGZhbHNlIH0pXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFsbEtleXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcbiAgICAgICAgICBjaGlsZHJlbi5wdXNoKHsgdjogb2JqW2tleV0sIHA6IGAkeyhscCA9PT0gJycpID8gJycgOiBgJHtscH0uYH0ke2tleX1gLCBwYXJlbnQ6IHZlciwgaXNHZXR0ZXI6IHRydWUgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIFtdO1xufVxuXG5cblxuZXhwb3J0IHR5cGUgSXRlcmF0b3IgPSAodmFsdWU6IGFueSxcbiAgbG9kYXNoUGF0aDogc3RyaW5nLFxuICAvLyBAdHMtaWdub3JlXG4gIGNoYW5nZVZhbHVlVG86IChuZXdWYWx1ZSkgPT4gdm9pZCxcbiAgb3B0aW9ucz86IE1vZGVscy5BZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zXG5cbikgPT4gdm9pZFxuZXhwb3J0IGNsYXNzIEhlbHBlcnMge1xuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IFdhbGsoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIHtcbiAgICAgIE9iamVjdChqc29uOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZT86IE1vZGVscy5TdGFydEl0ZXJhdG9yT3B0aW9ucykge1xuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUpKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSA9IHt9XG4gICAgICAgIH1cblxuICAgICAgICAob3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMpLmhhc0l0ZXJhdG9yID0gXy5pc0Z1bmN0aW9uKGl0ZXJhdG9yKVxuXG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGspKSB7XG4gICAgICAgICAgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZS5icmVhZHRoV2FsayA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHtcbiAgICAgICAgICBjaXJjdXJhbFxuICAgICAgICB9ID0gc2VsZi5fd2Fsayhqc29uLCBqc29uLCBpdGVyYXRvciwgdm9pZCAwLCBvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlIGFzIGFueSlcblxuICAgICAgICByZXR1cm4geyBjaXJjczogY2lyY3VyYWwgfVxuICAgICAgfSxcbiAgICAgIE9iamVjdEJ5KHByb3BlcnR5OiBzdHJpbmcsIGluQ29udGV4dDogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnM/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRvcikpIHtcbiAgICAgICAgICBpdGVyYXRvcihpbkNvbnRleHQsICcnLCBzZWxmLl9jaGFuZ2VWYWx1ZShpbkNvbnRleHQsIHByb3BlcnR5LCB0cnVlKSkgLy8gVE9ETyBBZGQgb3B0b2luc1xuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QganNvbiA9IGluQ29udGV4dFtwcm9wZXJ0eV1cbiAgICAgICAgcmV0dXJuIHNlbGYuV2Fsay5PYmplY3QoanNvbiwgaXRlcmF0b3IsIG9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2NoYW5nZVZhbHVlKGpzb246IE9iamVjdCwgbG9kYWhQYXRoOiBzdHJpbmcsIHNpbXBsZUNoYW5nZSA9IGZhbHNlLCBvcHRpb25zPzogTW9kZWxzLkludGVybmFsVmFsdWVzKSB7XG5cbiAgICB2YXIgeyBjb250ZXh0UGF0aCwgcHJvcGVydHkgfSA9IHRoaXMuX3ByZXBhcmVQYXJhbXMobG9kYWhQYXRoKTtcbiAgICB2YXIgY29udGV4dCA9IF8uZ2V0KGpzb24sIGNvbnRleHRQYXRoKTtcblxuICAgIHJldHVybiAobmV3VmFsdWU6IGFueSkgPT4ge1xuICAgICAgaWYgKGNvbnRleHRQYXRoID09PSAnJykge1xuICAgICAgICBzaW1wbGVDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2ltcGxlQ2hhbmdlKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAganNvbltwcm9wZXJ0eV0gPSBuZXdWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG5cblxuICAgICAgICBpZiAoY29udGV4dCkge1xuICAgICAgICAgIGNvbnRleHRbcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3ByZXBhcmVQYXJhbXMobG9kYXNoUGF0aDogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBjb250ZXh0UGF0aCA9IHRoaXMuX0hlbHBlcnMuUGF0aC5nZXRDb250ZXh0UGF0aChsb2Rhc2hQYXRoKTtcblxuXG4gICAgbGV0IHByb3BlcnR5ID0gdGhpcy5fSGVscGVycy5QYXRoLmdldFByb3BlcnR5UGF0aChsb2Rhc2hQYXRoLCBjb250ZXh0UGF0aCk7XG5cbiAgICBpZiAoXy5pc1N0cmluZyhwcm9wZXJ0eSkgJiYgcHJvcGVydHkudHJpbSgpICE9PSAnJyAmJiAhXy5pc05hTihOdW1iZXIocHJvcGVydHkpKSkge1xuICAgICAgcHJvcGVydHkgPSBOdW1iZXIocHJvcGVydHkpXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb250ZXh0UGF0aCwgcHJvcGVydHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXQgX0hlbHBlcnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBQYXRoKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBnZXRQcm9wZXJ0eVBhdGgobG9kYWhQYXRoLCBjb250ZXRQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gKGxvZGFoUGF0aFxuICAgICAgICAgICAgICAucmVwbGFjZShjb250ZXRQYXRoLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL15cXC4vLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcWy8sICcnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvXFxdLywgJycpKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2V0Q29udGV4dFBhdGgocDogc3RyaW5nKSB7XG4gICAgICAgICAgICBsZXQgcmVzOiBzdHJpbmc7XG4gICAgICAgICAgICBpZiAocC5lbmRzV2l0aCgnXScpKSB7XG4gICAgICAgICAgICAgIHJlcyA9IHAucmVwbGFjZSgvXFxbKFxcXCJ8XFwnKT9bMC05XSsoXFxcInxcXCcpP1xcXSQvLCAnJylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlcyA9IHAucmVwbGFjZSgvXFwuKFthLXpBLVowLTldfFxcJHxcXF98XFxAfFxcLXxcXC98XFw6KSskLywgJycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzID09PSBwID8gJycgOiByZXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3Nob3VkbFJldHVybihpbmNsdWRlID0gW10sIGV4Y2x1ZGUgPSBbXSwgbG9kYXNoUGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHJlcyA9IGZhbHNlO1xuICAgIGlmIChsb2Rhc2hQYXRoLnJlcGxhY2UoL15cXFsoXFwnfFxcXCIpP1swLTldKihcXCd8XFxcIik/XFxdLywgJycpLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGxvZGFzaFBhdGggPSBsb2Rhc2hQYXRoLnJlcGxhY2UoL15cXFsoXFwnfFxcXCIpP1swLTldKihcXCd8XFxcIik/XFxdXFwuLywgJycpXG4gICAgICByZXMgPSAoXG4gICAgICAgIChfLmlzQXJyYXkoaW5jbHVkZSkgJiYgaW5jbHVkZS5sZW5ndGggPiAwXG4gICAgICAgICAgJiYgIWluY2x1ZGUuZmluZChwID0+IGxvZGFzaFBhdGguc3RhcnRzV2l0aChwKSkpXG4gICAgICAgIHx8XG4gICAgICAgIChfLmlzQXJyYXkoZXhjbHVkZSkgJiYgZXhjbHVkZS5sZW5ndGggPiAwXG4gICAgICAgICAgJiYgISFleGNsdWRlLmZpbmQocCA9PiBsb2Rhc2hQYXRoLnN0YXJ0c1dpdGgocCkpKVxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgc3RhdGljIHByZXBhcmVPcHRpb25zKG9wdGlvbnM6IE1vZGVscy5JbnRlcm5hbFZhbHVlcywgb2JqLCBsb2Rhc2hQYXRoKSB7XG5cbiAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMud2Fsa0dldHRlcnMpKSB7XG4gICAgICBvcHRpb25zLndhbGtHZXR0ZXJzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmNoZWNrQ2lyY3VyYWwpKSB7XG4gICAgICBvcHRpb25zLmNoZWNrQ2lyY3VyYWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmlzR2V0dGVyKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCkpIHtcbiAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuX2V4aXQpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5leGl0KSkge1xuICAgICAgb3B0aW9ucy5leGl0ID0gKCkgPT4ge1xuICAgICAgICBvcHRpb25zLl9leGl0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLl9za2lwKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuc2tpcE9iamVjdCkpIHtcbiAgICAgIG9wdGlvbnMuc2tpcE9iamVjdCA9ICgpID0+IHtcbiAgICAgICAgb3B0aW9ucy5fc2tpcCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuY2hlY2tDaXJjdXJhbCkge1xuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5kYikpIHtcbiAgICAgICAgb3B0aW9ucy5kYiA9IHt9XG4gICAgICB9XG5cbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuc3RhY2spKSB7XG4gICAgICAgIG9wdGlvbnMuc3RhY2sgPSBbXVxuICAgICAgfVxuXG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLmNpcmN1cmFsKSkge1xuICAgICAgICBvcHRpb25zLmNpcmN1cmFsID0gW11cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IGRiLCBzdGFjayB9ID0gb3B0aW9ucztcbiAgICBvcHRpb25zLmlzQ2lyY3VyYWwgPSBmYWxzZTtcblxuICAgIGlmIChvcHRpb25zLmNoZWNrQ2lyY3VyYWwgJiYgXy5pc09iamVjdChvYmopKSB7XG4gICAgICBsZXQgaW5kZXhWYWx1ZSA9IENMQVNTLk9CSkVDVChvYmopLmluZGV4VmFsdWVcbiAgICAgIGlmIChDTEFTUy5PQkpFQ1Qob2JqKS5pc0NsYXNzT2JqZWN0ICYmICFfLmlzVW5kZWZpbmVkKGluZGV4VmFsdWUpKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWUgPSBDTEFTUy5nZXROYW1lRnJvbU9iamVjdChvYmopO1xuICAgICAgICBsZXQgcCA9IGAke2NsYXNzTmFtZX0uaWRfJHtpbmRleFZhbHVlfWA7XG4gICAgICAgIGNvbnN0IGluREI6IE1vZGVscy5JbkRCVHlwZSA9IF8uZ2V0KGRiLCBwKTtcblxuICAgICAgICBpZiAoaW5EQiAmJiBDTEFTUy5PQkpFQ1QoaW5EQi50YXJnZXQpLmlzRXF1YWwob2JqKSkge1xuICAgICAgICAgIGNvbnN0IGNpcmM6IE1vZGVscy5DaXJjID0ge1xuICAgICAgICAgICAgcGF0aFRvT2JqOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgY2lyY3VyYWxUYXJnZXRQYXRoOiBpbkRCLnBhdGhcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuY2lyY3VyYWwucHVzaChjaXJjKVxuICAgICAgICAgIG9wdGlvbnMuaXNDaXJjdXJhbCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgXy5zZXQoZGIsIHAsIHtcbiAgICAgICAgICAgIHBhdGg6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IG9ialxuICAgICAgICAgIH0gYXMgTW9kZWxzLkluREJUeXBlKVxuICAgICAgICB9XG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgaW5TdGFjayA9IHN0YWNrLmZpbmQoKGM6IE1vZGVscy5JbkRCVHlwZSkgPT4gYy50YXJnZXQgPT0gb2JqKTtcblxuICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQoaW5TdGFjaykpIHtcbiAgICAgICAgICBjb25zdCBjaXJjOiBNb2RlbHMuQ2lyYyA9IHtcbiAgICAgICAgICAgIHBhdGhUb09iajogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIGNpcmN1cmFsVGFyZ2V0UGF0aDogaW5TdGFjay5wYXRoXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvcHRpb25zLmNpcmN1cmFsLnB1c2goY2lyYylcbiAgICAgICAgICBvcHRpb25zLmlzQ2lyY3VyYWwgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBzdGFjay5wdXNoKHtcbiAgICAgICAgICAgIHBhdGg6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IG9ialxuICAgICAgICAgIH0gYXMgTW9kZWxzLkluREJUeXBlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3dhbGsoanNvbjogT2JqZWN0LCBvYmo6IE9iamVjdCwgaXRlcmF0b3I6IEl0ZXJhdG9yLCBsb2Rhc2hQYXRoID0gJycsXG4gICAgb3B0aW9ucz86IE1vZGVscy5JbnRlcm5hbFZhbHVlcywgZGVwdGhMZXZlbCA9IDApIHtcblxuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHt9IGFzIGFueTtcbiAgICB9XG5cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCFvcHRpb25zLmJyZWFkdGhXYWxrKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBvcHRpb25zID0gdGhpcy5wcmVwYXJlT3B0aW9ucyhvcHRpb25zLCBvYmosIGxvZGFzaFBhdGgpXG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICh0aGlzLl9zaG91ZGxSZXR1cm4ob3B0aW9ucy5pbmNsdWRlLCBvcHRpb25zLmV4Y2x1ZGUsIGxvZGFzaFBhdGgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuaGFzSXRlcmF0b3IgJiYgbG9kYXNoUGF0aCAhPT0gJycpIHtcbiAgICAgICAgaXRlcmF0b3Iob2JqLCBsb2Rhc2hQYXRoLCB0aGlzLl9jaGFuZ2VWYWx1ZShqc29uLCBsb2Rhc2hQYXRoLCBmYWxzZSwgb3B0aW9ucyksIG9wdGlvbnMpXG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgb2JqID0gXy5nZXQoanNvbiwgbG9kYXNoUGF0aClcbiAgICAgIH1cbiAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICBpZiAob3B0aW9ucy5pc0NpcmN1cmFsKSB7XG4gICAgICAgIG9wdGlvbnMuX3NraXAgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5fc2tpcCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG5cblxuICAgIGlmIChvcHRpb25zLmJyZWFkdGhXYWxrKSB7XG5cbiAgICAgIGxldCBxdWV1ZTogTW9kZWxzLlZlcltdID0gW3sgdjoganNvbiwgcDogbG9kYXNoUGF0aCwgcGFyZW50OiB2b2lkIDAgfV07XG5cblxuICAgICAgd2hpbGUgKHF1ZXVlLmxlbmd0aCA+IDApIHtcblxuICAgICAgICBjb25zdCB2ZXIgPSBxdWV1ZS5zaGlmdCgpO1xuXG5cblxuXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCB2ZXIucCkpIHtcblxuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBsZXQgeyB2LCBwIH0gPSB2ZXI7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgdiwgcClcblxuICAgICAgICBpZiAob3B0aW9ucy5fZXhpdCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFWElUJylcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucy5oYXNJdGVyYXRvciAmJiBwICE9PSAnJykge1xuICAgICAgICAgIGl0ZXJhdG9yKHYsIHAsIHRoaXMuX2NoYW5nZVZhbHVlKGpzb24sIHAsIGZhbHNlLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmIChvcHRpb25zLl92YWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICB2ZXIudiA9IF8uZ2V0KGpzb24sIHApO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMuX3ZhbHVlQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmlzQ2lyY3VyYWwpIHtcblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuX3NraXApIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5fc2tpcCA9IGZhbHNlO1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc0FycmF5KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9IGVsc2UgaWYgKF8uaXNPYmplY3QodikpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgcXVldWUgPSBxdWV1ZS5jb25jYXQoZmluZENoaWxkcmVuKHZlciwgcCwgb3B0aW9ucy53YWxrR2V0dGVycykpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB7IHdhbGtHZXR0ZXJzIH0gPSBvcHRpb25zO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgICAgIG9iai5mb3JFYWNoKChvLCBpKSA9PiB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2ldLCBpdGVyYXRvciwgYCR7bG9kYXNoUGF0aH1bJHtpfV1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgfSlcblxuICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgY29uc3QgYWxsS2V5cyA9ICF3YWxrR2V0dGVycyA/IFtdIDogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSAmJiBvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgb3B0aW9ucy5pc0dldHRlciA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5fd2Fsayhqc29uLCBvYmpba2V5XSwgaXRlcmF0b3IsIGAkeyhsb2Rhc2hQYXRoID09PSAnJykgPyAnJyA6IGAke2xvZGFzaFBhdGh9LmB9JHtrZXl9YCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh3YWxrR2V0dGVycykge1xuICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgaWYgKF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBhbGxLZXlzW2luZGV4XTtcblxuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fZXhpdCAmJiBqc29uID09PSBvYmopIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9leGl0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCB3YWxrID0ge1xuICBPYmplY3Q6IEhlbHBlcnMuV2Fsay5PYmplY3QsXG4gIE9iamVjdEJ5OiBIZWxwZXJzLldhbGsuT2JqZWN0Qnlcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPWxvZGFzaC13YWxrLW9iamVjdCBsaWIvaW5kZXgudHMiXX0=
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC9sb2Rhc2gtd2Fsay1vYmplY3QvcHJvamVjdHMvbG9kYXNoLXdhbGstb2JqZWN0L3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUd4RCxjQUFjLFVBQVUsQ0FBQztBQUV6QixTQUFTLFlBQVksQ0FBQyxHQUFlLEVBQUUsRUFBVSxFQUFFLFdBQW9CO0lBRXJFLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDakIsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUM5RCxDQUFDLENBQUMsQ0FBQztLQUNKO1NBQU0sSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBRTFCLE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwRSxNQUFNLFFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsVUFB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QUMsSUFBSSxDQUFDLFFBQVE7Q0FDaEMsQ0FFQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy93ZWJzcWwnO1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG5cbmZ1bmN0aW9uIGZpbmRDaGlsZHJlbih2ZXI6IE1vZGVscy5WZXIsIGxwOiBzdHJpbmcsIHdhbGtHZXR0ZXJzOiBib29sZWFuKTogTW9kZWxzLlZlcltdIHtcblxuICBjb25zdCBvYmogPSB2ZXIudlxuICBpZiAoXy5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcCgodiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHsgdiwgcDogYCR7bHB9WyR7aX1dYCwgcGFyZW50OiB2ZXIsIGlzR2V0dGVyOiBmYWxzZSB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoXy5pc09iamVjdChvYmopKSB7XG5cbiAgICBjb25zdCBhbGxLZXlzID0gIXdhbGtHZXR0ZXJzID8gW10gOiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopO1xuICAgIGNvbnN0IGNoaWxkcmVuOiBNb2RlbHMuVmVyW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikgJiYgXy5pc0Z1bmN0aW9uKG9iai5oYXNPd25Qcm9wZXJ0eSkgJiYgb2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgXy5wdWxsKGFsbEtleXMsIGtleSlcbiAgICAgICAgY2hpbGRyZW4ucHVzaCh7IHY6IG9ialtrZXldLCBwOiBgJHsobHAgPT09ICcnKSA/ICcnIDogYCR7bHB9LmB9JHtrZXl9YCwgcGFyZW50OiB2ZXIsIGlzR2V0dGVyOiBmYWxzZSB9KVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAod2Fsa0dldHRlcnMpIHtcbiAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhbGxLZXlzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBpZiAoXy5pc09iamVjdChvYmopKSB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gYWxsS2V5c1tpbmRleF07XG4gICAgICAgICAgY2hpbGRyZW4ucHVzaCh7IHY6IG9ialtrZXldLCBwOiBgJHsobHAgPT09ICcnKSA/ICcnIDogYCR7bHB9LmB9JHtrZXl9YCwgcGFyZW50OiB2ZXIsIGlzR2V0dGVyOiB0cnVlIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG4gIHJldHVybiBbXTtcbn1cblxuXG5cbmV4cG9ydCB0eXBlIEl0ZXJhdG9yID0gKHZhbHVlOiBhbnksXG4gIGxvZGFzaFBhdGg6IHN0cmluZyxcbiAgLy8gQHRzLWlnbm9yZVxuICBjaGFuZ2VWYWx1ZVRvOiAobmV3VmFsdWUpID0+IHZvaWQsXG4gIG9wdGlvbnM/OiBNb2RlbHMuQWRkaXRpb25hbEl0ZXJhdG9yT3B0aW9uc1xuXG4pID0+IHZvaWRcbmV4cG9ydCBjbGFzcyBIZWxwZXJzIHtcblxuICBwdWJsaWMgc3RhdGljIGdldCBXYWxrKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBPYmplY3QoanNvbjogT2JqZWN0LCBpdGVyYXRvcjogSXRlcmF0b3IsIG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWU/OiBNb2RlbHMuU3RhcnRJdGVyYXRvck9wdGlvbnMpIHtcblxuICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlKSkge1xuICAgICAgICAgIG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUgPSB7fVxuICAgICAgICB9XG5cbiAgICAgICAgKG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUgYXMgTW9kZWxzLkludGVybmFsVmFsdWVzKS5oYXNJdGVyYXRvciA9IF8uaXNGdW5jdGlvbihpdGVyYXRvcilcblxuICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zT3JXYWxrR2V0dGVyc1ZhbHVlLmJyZWFkdGhXYWxrKSkge1xuICAgICAgICAgIG9wdGlvbnNPcldhbGtHZXR0ZXJzVmFsdWUuYnJlYWR0aFdhbGsgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB7XG4gICAgICAgICAgY2lyY3VyYWxcbiAgICAgICAgfSA9IHNlbGYuX3dhbGsoanNvbiwganNvbiwgaXRlcmF0b3IsIHZvaWQgMCwgb3B0aW9uc09yV2Fsa0dldHRlcnNWYWx1ZSBhcyBhbnkpXG5cbiAgICAgICAgcmV0dXJuIHsgY2lyY3M6IGNpcmN1cmFsIH1cbiAgICAgIH0sXG4gICAgICBPYmplY3RCeShwcm9wZXJ0eTogc3RyaW5nLCBpbkNvbnRleHQ6IE9iamVjdCwgaXRlcmF0b3I6IEl0ZXJhdG9yLCBvcHRpb25zPzogTW9kZWxzLlN0YXJ0SXRlcmF0b3JPcHRpb25zKSB7XG4gICAgICAgIGlmIChfLmlzRnVuY3Rpb24oaXRlcmF0b3IpKSB7XG4gICAgICAgICAgaXRlcmF0b3IoaW5Db250ZXh0LCAnJywgc2VsZi5fY2hhbmdlVmFsdWUoaW5Db250ZXh0LCBwcm9wZXJ0eSwgdHJ1ZSkpIC8vIFRPRE8gQWRkIG9wdG9pbnNcbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGpzb24gPSBpbkNvbnRleHRbcHJvcGVydHldXG4gICAgICAgIHJldHVybiBzZWxmLldhbGsuT2JqZWN0KGpzb24sIGl0ZXJhdG9yLCBvcHRpb25zKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9jaGFuZ2VWYWx1ZShqc29uOiBPYmplY3QsIGxvZGFoUGF0aDogc3RyaW5nLCBzaW1wbGVDaGFuZ2UgPSBmYWxzZSwgb3B0aW9ucz86IE1vZGVscy5JbnRlcm5hbFZhbHVlcykge1xuXG4gICAgdmFyIHsgY29udGV4dFBhdGgsIHByb3BlcnR5IH0gPSB0aGlzLl9wcmVwYXJlUGFyYW1zKGxvZGFoUGF0aCk7XG4gICAgdmFyIGNvbnRleHQgPSBfLmdldChqc29uLCBjb250ZXh0UGF0aCk7XG5cbiAgICByZXR1cm4gKG5ld1ZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmIChjb250ZXh0UGF0aCA9PT0gJycpIHtcbiAgICAgICAgc2ltcGxlQ2hhbmdlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNpbXBsZUNoYW5nZSkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGpzb25bcHJvcGVydHldID0gbmV3VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuXG5cbiAgICAgICAgaWYgKGNvbnRleHQpIHtcbiAgICAgICAgICBjb250ZXh0W3Byb3BlcnR5XSA9IG5ld1ZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9wcmVwYXJlUGFyYW1zKGxvZGFzaFBhdGg6IHN0cmluZykge1xuXG4gICAgY29uc3QgY29udGV4dFBhdGggPSB0aGlzLl9IZWxwZXJzLlBhdGguZ2V0Q29udGV4dFBhdGgobG9kYXNoUGF0aCk7XG5cblxuICAgIGxldCBwcm9wZXJ0eSA9IHRoaXMuX0hlbHBlcnMuUGF0aC5nZXRQcm9wZXJ0eVBhdGgobG9kYXNoUGF0aCwgY29udGV4dFBhdGgpO1xuXG4gICAgaWYgKF8uaXNTdHJpbmcocHJvcGVydHkpICYmIHByb3BlcnR5LnRyaW0oKSAhPT0gJycgJiYgIV8uaXNOYU4oTnVtYmVyKHByb3BlcnR5KSkpIHtcbiAgICAgIHByb3BlcnR5ID0gTnVtYmVyKHByb3BlcnR5KVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgY29udGV4dFBhdGgsIHByb3BlcnR5XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0IF9IZWxwZXJzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgZ2V0UHJvcGVydHlQYXRoKGxvZGFoUGF0aCwgY29udGV0UGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuIChsb2RhaFBhdGhcbiAgICAgICAgICAgICAgLnJlcGxhY2UoY29udGV0UGF0aCwgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9eXFwuLywgJycpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFsvLCAnJylcbiAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcXS8sICcnKSlcbiAgICAgICAgICB9LFxuICAgICAgICAgIGdldENvbnRleHRQYXRoKHA6IHN0cmluZykge1xuICAgICAgICAgICAgbGV0IHJlczogc3RyaW5nO1xuICAgICAgICAgICAgaWYgKHAuZW5kc1dpdGgoJ10nKSkge1xuICAgICAgICAgICAgICByZXMgPSBwLnJlcGxhY2UoL1xcWyhcXFwifFxcJyk/WzAtOV0rKFxcXCJ8XFwnKT9cXF0kLywgJycpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXMgPSBwLnJlcGxhY2UoL1xcLihbYS16QS1aMC05XXxcXCR8XFxffFxcQHxcXC18XFwvfFxcOikrJC8sICcnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlcyA9PT0gcCA/ICcnIDogcmVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9zaG91ZGxSZXR1cm4oaW5jbHVkZSA9IFtdLCBleGNsdWRlID0gW10sIGxvZGFzaFBhdGg6IHN0cmluZykge1xuICAgIGxldCByZXMgPSBmYWxzZTtcbiAgICBpZiAobG9kYXNoUGF0aC5yZXBsYWNlKC9eXFxbKFxcJ3xcXFwiKT9bMC05XSooXFwnfFxcXCIpP1xcXS8sICcnKS50cmltKCkgIT09ICcnKSB7XG4gICAgICBsb2Rhc2hQYXRoID0gbG9kYXNoUGF0aC5yZXBsYWNlKC9eXFxbKFxcJ3xcXFwiKT9bMC05XSooXFwnfFxcXCIpP1xcXVxcLi8sICcnKVxuICAgICAgcmVzID0gKFxuICAgICAgICAoXy5pc0FycmF5KGluY2x1ZGUpICYmIGluY2x1ZGUubGVuZ3RoID4gMFxuICAgICAgICAgICYmICFpbmNsdWRlLmZpbmQocCA9PiBsb2Rhc2hQYXRoLnN0YXJ0c1dpdGgocCkpKVxuICAgICAgICB8fFxuICAgICAgICAoXy5pc0FycmF5KGV4Y2x1ZGUpICYmIGV4Y2x1ZGUubGVuZ3RoID4gMFxuICAgICAgICAgICYmICEhZXhjbHVkZS5maW5kKHAgPT4gbG9kYXNoUGF0aC5zdGFydHNXaXRoKHApKSlcbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBwcml2YXRlIHN0YXRpYyBwcmVwYXJlT3B0aW9ucyhvcHRpb25zOiBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMsIG9iaiwgbG9kYXNoUGF0aCkge1xuXG4gICAgaWYgKG9wdGlvbnMuX2V4aXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLndhbGtHZXR0ZXJzKSkge1xuICAgICAgb3B0aW9ucy53YWxrR2V0dGVycyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5jaGVja0NpcmN1cmFsKSkge1xuICAgICAgb3B0aW9ucy5jaGVja0NpcmN1cmFsID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5pc0dldHRlcikpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLl92YWx1ZUNoYW5nZWQpKSB7XG4gICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLl9leGl0KSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3B0aW9ucy5fZXhpdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZXhpdCkpIHtcbiAgICAgIG9wdGlvbnMuZXhpdCA9ICgpID0+IHtcbiAgICAgICAgb3B0aW9ucy5fZXhpdCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5fc2tpcCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLnNraXBPYmplY3QpKSB7XG4gICAgICBvcHRpb25zLnNraXBPYmplY3QgPSAoKSA9PiB7XG4gICAgICAgIG9wdGlvbnMuX3NraXAgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNoZWNrQ2lyY3VyYWwpIHtcbiAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9wdGlvbnMuZGIpKSB7XG4gICAgICAgIG9wdGlvbnMuZGIgPSB7fVxuICAgICAgfVxuXG4gICAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zLnN0YWNrKSkge1xuICAgICAgICBvcHRpb25zLnN0YWNrID0gW11cbiAgICAgIH1cblxuICAgICAgaWYgKF8uaXNVbmRlZmluZWQob3B0aW9ucy5jaXJjdXJhbCkpIHtcbiAgICAgICAgb3B0aW9ucy5jaXJjdXJhbCA9IFtdXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBkYiwgc3RhY2sgfSA9IG9wdGlvbnM7XG4gICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gZmFsc2U7XG5cbiAgICBpZiAob3B0aW9ucy5jaGVja0NpcmN1cmFsICYmIF8uaXNPYmplY3Qob2JqKSkge1xuICAgICAgbGV0IGluZGV4VmFsdWUgPSBDTEFTUy5PQkpFQ1Qob2JqKS5pbmRleFZhbHVlXG4gICAgICBpZiAoQ0xBU1MuT0JKRUNUKG9iaikuaXNDbGFzc09iamVjdCAmJiAhXy5pc1VuZGVmaW5lZChpbmRleFZhbHVlKSkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lID0gQ0xBU1MuZ2V0TmFtZUZyb21PYmplY3Qob2JqKTtcbiAgICAgICAgbGV0IHAgPSBgJHtjbGFzc05hbWV9LmlkXyR7aW5kZXhWYWx1ZX1gO1xuICAgICAgICBjb25zdCBpbkRCOiBNb2RlbHMuSW5EQlR5cGUgPSBfLmdldChkYiwgcCk7XG5cbiAgICAgICAgaWYgKGluREIgJiYgQ0xBU1MuT0JKRUNUKGluREIudGFyZ2V0KS5pc0VxdWFsKG9iaikpIHtcbiAgICAgICAgICBjb25zdCBjaXJjOiBNb2RlbHMuQ2lyYyA9IHtcbiAgICAgICAgICAgIHBhdGhUb09iajogbG9kYXNoUGF0aCxcbiAgICAgICAgICAgIGNpcmN1cmFsVGFyZ2V0UGF0aDogaW5EQi5wYXRoXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBvcHRpb25zLmNpcmN1cmFsLnB1c2goY2lyYylcbiAgICAgICAgICBvcHRpb25zLmlzQ2lyY3VyYWwgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF8uc2V0KGRiLCBwLCB7XG4gICAgICAgICAgICBwYXRoOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgdGFyZ2V0OiBvYmpcbiAgICAgICAgICB9IGFzIE1vZGVscy5JbkRCVHlwZSlcbiAgICAgICAgfVxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGluU3RhY2sgPSBzdGFjay5maW5kKChjOiBNb2RlbHMuSW5EQlR5cGUpID0+IGMudGFyZ2V0ID09IG9iaik7XG5cbiAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGluU3RhY2spKSB7XG4gICAgICAgICAgY29uc3QgY2lyYzogTW9kZWxzLkNpcmMgPSB7XG4gICAgICAgICAgICBwYXRoVG9PYmo6IGxvZGFzaFBhdGgsXG4gICAgICAgICAgICBjaXJjdXJhbFRhcmdldFBhdGg6IGluU3RhY2sucGF0aFxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgb3B0aW9ucy5jaXJjdXJhbC5wdXNoKGNpcmMpXG4gICAgICAgICAgb3B0aW9ucy5pc0NpcmN1cmFsID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgc3RhY2sucHVzaCh7XG4gICAgICAgICAgICBwYXRoOiBsb2Rhc2hQYXRoLFxuICAgICAgICAgICAgdGFyZ2V0OiBvYmpcbiAgICAgICAgICB9IGFzIE1vZGVscy5JbkRCVHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF93YWxrKGpzb246IE9iamVjdCwgb2JqOiBPYmplY3QsIGl0ZXJhdG9yOiBJdGVyYXRvciwgbG9kYXNoUGF0aCA9ICcnLFxuICAgIG9wdGlvbnM/OiBNb2RlbHMuSW50ZXJuYWxWYWx1ZXMsIGRlcHRoTGV2ZWwgPSAwKSB7XG5cbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fSBhcyBhbnk7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICghb3B0aW9ucy5icmVhZHRoV2Fsaykge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3B0aW9ucyA9IHRoaXMucHJlcGFyZU9wdGlvbnMob3B0aW9ucywgb2JqLCBsb2Rhc2hQYXRoKVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAodGhpcy5fc2hvdWRsUmV0dXJuKG9wdGlvbnMuaW5jbHVkZSwgb3B0aW9ucy5leGNsdWRlLCBsb2Rhc2hQYXRoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmIChvcHRpb25zLmhhc0l0ZXJhdG9yICYmIGxvZGFzaFBhdGggIT09ICcnKSB7XG4gICAgICAgIGl0ZXJhdG9yKG9iaiwgbG9kYXNoUGF0aCwgdGhpcy5fY2hhbmdlVmFsdWUoanNvbiwgbG9kYXNoUGF0aCwgZmFsc2UsIG9wdGlvbnMpLCBvcHRpb25zKVxuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgIG9iaiA9IF8uZ2V0KGpzb24sIGxvZGFzaFBhdGgpXG4gICAgICB9XG4gICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKG9wdGlvbnMuaXNDaXJjdXJhbCkge1xuICAgICAgICBvcHRpb25zLl9za2lwID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9wdGlvbnMuX3NraXApIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvcHRpb25zLl9za2lwID0gZmFsc2U7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBpZiAob3B0aW9ucy5icmVhZHRoV2Fsaykge1xuXG4gICAgICBsZXQgcXVldWU6IE1vZGVscy5WZXJbXSA9IFt7IHY6IGpzb24sIHA6IGxvZGFzaFBhdGgsIHBhcmVudDogdm9pZCAwIH1dO1xuXG5cbiAgICAgIHdoaWxlIChxdWV1ZS5sZW5ndGggPiAwKSB7XG5cbiAgICAgICAgY29uc3QgdmVyID0gcXVldWUuc2hpZnQoKTtcblxuXG5cblxuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHRoaXMuX3Nob3VkbFJldHVybihvcHRpb25zLmluY2x1ZGUsIG9wdGlvbnMuZXhjbHVkZSwgdmVyLnApKSB7XG5cblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cblxuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgbGV0IHsgdiwgcCB9ID0gdmVyO1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9wdGlvbnMgPSB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMsIHYsIHApXG5cbiAgICAgICAgaWYgKG9wdGlvbnMuX2V4aXQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnRVhJVCcpXG4gICAgICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuaGFzSXRlcmF0b3IgJiYgcCAhPT0gJycpIHtcbiAgICAgICAgICBpdGVyYXRvcih2LCBwLCB0aGlzLl9jaGFuZ2VWYWx1ZShqc29uLCBwLCBmYWxzZSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAob3B0aW9ucy5fdmFsdWVDaGFuZ2VkKSB7XG4gICAgICAgICAgdmVyLnYgPSBfLmdldChqc29uLCBwKTtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zLl92YWx1ZUNoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgICBpZiAob3B0aW9ucy5pc0NpcmN1cmFsKSB7XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLl9za2lwKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG9wdGlvbnMuX3NraXAgPSBmYWxzZTtcblxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF8uaXNBcnJheSh2KSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBxdWV1ZSA9IHF1ZXVlLmNvbmNhdChmaW5kQ2hpbGRyZW4odmVyLCBwLCBvcHRpb25zLndhbGtHZXR0ZXJzKSlcbiAgICAgICAgfSBlbHNlIGlmIChfLmlzT2JqZWN0KHYpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHF1ZXVlID0gcXVldWUuY29uY2F0KGZpbmRDaGlsZHJlbih2ZXIsIHAsIG9wdGlvbnMud2Fsa0dldHRlcnMpKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgeyB3YWxrR2V0dGVycyB9ID0gb3B0aW9ucztcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgICBvYmouZm9yRWFjaCgobywgaSkgPT4ge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICB0aGlzLl93YWxrKGpzb24sIG9ialtpXSwgaXRlcmF0b3IsIGAke2xvZGFzaFBhdGh9WyR7aX1dYCwgb3B0aW9ucywgZGVwdGhMZXZlbCArIDEpXG4gICAgICAgIH0pXG5cbiAgICAgIH0gZWxzZSBpZiAoXy5pc09iamVjdChvYmopKSB7XG4gICAgICAgIGNvbnN0IGFsbEtleXMgPSAhd2Fsa0dldHRlcnMgPyBbXSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikgJiYgb2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgIF8ucHVsbChhbGxLZXlzLCBrZXkpXG5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIG9wdGlvbnMuaXNHZXR0ZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXMuX3dhbGsoanNvbiwgb2JqW2tleV0sIGl0ZXJhdG9yLCBgJHsobG9kYXNoUGF0aCA9PT0gJycpID8gJycgOiBgJHtsb2Rhc2hQYXRofS5gfSR7a2V5fWAsIG9wdGlvbnMsIGRlcHRoTGV2ZWwgKyAxKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAod2Fsa0dldHRlcnMpIHtcbiAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYWxsS2V5cy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICAgICAgY29uc3Qga2V5ID0gYWxsS2V5c1tpbmRleF07XG5cbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICBvcHRpb25zLmlzR2V0dGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICB0aGlzLl93YWxrKGpzb24sIG9ialtrZXldLCBpdGVyYXRvciwgYCR7KGxvZGFzaFBhdGggPT09ICcnKSA/ICcnIDogYCR7bG9kYXNoUGF0aH0uYH0ke2tleX1gLCBvcHRpb25zLCBkZXB0aExldmVsICsgMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgaWYgKG9wdGlvbnMuX2V4aXQgJiYganNvbiA9PT0gb2JqKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb3B0aW9ucy5fZXhpdCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxufVxuXG5leHBvcnQgY29uc3Qgd2FsayA9IHtcbiAgT2JqZWN0OiBIZWxwZXJzLldhbGsuT2JqZWN0LFxuICBPYmplY3RCeTogSGVscGVycy5XYWxrLk9iamVjdEJ5XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1sb2Rhc2gtd2Fsay1vYmplY3QgbGliL2luZGV4LnRzIl19
@@ -1,4 +1,4 @@
1
1
  ;
2
2
  ({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts
3
3
  export {};
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbG9kYXNoLXdhbGstb2JqZWN0L3Byb2plY3RzL2xvZGFzaC13YWxrLW9iamVjdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQ0MsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG5cbiAgZXhwb3J0IHR5cGUgSW5EQlR5cGUgPSB7IHRhcmdldDogYW55OyBwYXRoOiBzdHJpbmc7IH07XG4gIGV4cG9ydCB0eXBlIENpcmMgPSB7IHBhdGhUb09iajogc3RyaW5nOyBjaXJjdXJhbFRhcmdldFBhdGg6IHN0cmluZzsgfTtcblxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgZXhwb3J0IHR5cGUgVmVyID0geyB2OiBhbnk7IHA6IHN0cmluZzsgcGFyZW50OiBWZXI7IGlzR2V0dGVyPzogYm9vbGVhbjsgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3RhcnRJdGVyYXRvck9wdGlvbnMge1xuICAgIHdhbGtHZXR0ZXJzPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgaW4gYnJlYWRoVHdhbGtcbiAgICAgKi9cbiAgICBjaGVja0NpcmN1cmFsPzogYm9vbGVhbjtcbiAgICBicmVhZHRoV2Fsaz86IGJvb2xlYW47XG4gICAgaW5jbHVkZT86IHN0cmluZ1tdO1xuICAgIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQWRkaXRpb25hbEl0ZXJhdG9yT3B0aW9ucyBleHRlbmRzIFN0YXJ0SXRlcmF0b3JPcHRpb25zIHtcbiAgICBza2lwT2JqZWN0PzogKCkgPT4gdm9pZDtcbiAgICBpc0dldHRlcj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQnJlYWR0aCB3YWxrIHdpbGwgc2tpcCBjb250ZW50IG9mIGNpcmN1cmFsIG9iamVjdHNcbiAgICAgKi9cbiAgICBpc0NpcmN1cmFsPzogYm9vbGVhbjtcbiAgICBleGl0PzogKCkgPT4gdm9pZDtcblxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJbnRlcm5hbFZhbHVlcyBleHRlbmRzIEFkZGl0aW9uYWxJdGVyYXRvck9wdGlvbnMge1xuICAgIGRiPzogYW55O1xuICAgIHN0YWNrPzogYW55W107XG4gICAgY2lyY3VyYWw/OiBDaXJjW107XG4gICAgaGFzSXRlcmF0b3I/OiBib29sZWFuO1xuICAgIF92YWx1ZUNoYW5nZWQ6IGJvb2xlYW47XG4gICAgX3NraXA6IGJvb2xlYW47XG4gICAgX2V4aXQ6IGJvb2xlYW47XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPWxvZGFzaC13YWxrLW9iamVjdCBsaWIvbW9kZWxzLnRzIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS13ZWJzcWwvbG9kYXNoLXdhbGstb2JqZWN0L3Byb2plY3RzL2xvZGFzaC13YWxrLW9iamVjdC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2Q0MsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlbHMge1xuXG4gIGV4cG9ydCB0eXBlIEluREJUeXBlID0geyB0YXJnZXQ6IGFueTsgcGF0aDogc3RyaW5nOyB9O1xuICBleHBvcnQgdHlwZSBDaXJjID0geyBwYXRoVG9PYmo6IHN0cmluZzsgY2lyY3VyYWxUYXJnZXRQYXRoOiBzdHJpbmc7IH07XG5cblxuICAvLyBAdHMtaWdub3JlXG4gIGV4cG9ydCB0eXBlIFZlciA9IHsgdjogYW55OyBwOiBzdHJpbmc7IHBhcmVudDogVmVyOyBpc0dldHRlcj86IGJvb2xlYW47IH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFN0YXJ0SXRlcmF0b3JPcHRpb25zIHtcbiAgICB3YWxrR2V0dGVycz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGluIGJyZWFkaFR3YWxrXG4gICAgICovXG4gICAgY2hlY2tDaXJjdXJhbD86IGJvb2xlYW47XG4gICAgYnJlYWR0aFdhbGs/OiBib29sZWFuO1xuICAgIGluY2x1ZGU/OiBzdHJpbmdbXTtcbiAgICBleGNsdWRlPzogc3RyaW5nW107XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFkZGl0aW9uYWxJdGVyYXRvck9wdGlvbnMgZXh0ZW5kcyBTdGFydEl0ZXJhdG9yT3B0aW9ucyB7XG4gICAgc2tpcE9iamVjdD86ICgpID0+IHZvaWQ7XG4gICAgaXNHZXR0ZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEJyZWFkdGggd2FsayB3aWxsIHNraXAgY29udGVudCBvZiBjaXJjdXJhbCBvYmplY3RzXG4gICAgICovXG4gICAgaXNDaXJjdXJhbD86IGJvb2xlYW47XG4gICAgZXhpdD86ICgpID0+IHZvaWQ7XG5cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSW50ZXJuYWxWYWx1ZXMgZXh0ZW5kcyBBZGRpdGlvbmFsSXRlcmF0b3JPcHRpb25zIHtcbiAgICBkYj86IGFueTtcbiAgICBzdGFjaz86IGFueVtdO1xuICAgIGNpcmN1cmFsPzogQ2lyY1tdO1xuICAgIGhhc0l0ZXJhdG9yPzogYm9vbGVhbjtcbiAgICBfdmFsdWVDaGFuZ2VkOiBib29sZWFuO1xuICAgIF9za2lwOiBib29sZWFuO1xuICAgIF9leGl0OiBib29sZWFuO1xuICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT1sb2Rhc2gtd2Fsay1vYmplY3QgbGliL21vZGVscy50cyJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lib/models.ts","../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["export namespace Models {\n\n export type InDBType = { target: any; path: string; };\n export type Circ = { pathToObj: string; circuralTargetPath: string; };\n\n\n // @ts-ignore\n export type Ver = { v: any; p: string; parent: Ver; isGetter?: boolean; }\n\n export interface StartIteratorOptions {\n walkGetters?: boolean;\n\n /**\n * Default in breadhTwalk\n */\n checkCircural?: boolean;\n breadthWalk?: boolean;\n include?: string[];\n exclude?: string[];\n }\n\n export interface AdditionalIteratorOptions extends StartIteratorOptions {\n skipObject?: () => void;\n isGetter?: boolean;\n /**\n * Breadth walk will skip content of circural objects\n */\n isCircural?: boolean;\n exit?: () => void;\n\n }\n\n export interface InternalValues extends AdditionalIteratorOptions {\n db?: any;\n stack?: any[];\n circural?: Circ[];\n hasIterator?: boolean;\n _valueChanged: boolean;\n _skip: boolean;\n _exit: boolean;\n }\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts","import { _ } from 'tnp-core/websql';\nimport { CLASS } from 'typescript-class-helpers/websql';\n\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(ver: Models.Ver, lp: string, walkGetters: boolean): Models.Ver[] {\n\n const obj = ver.v\n if (_.isArray(obj)) {\n return obj.map((v, i) => {\n return { v, p: `${lp}[${i}]`, parent: ver, isGetter: false }\n });\n } else if (_.isObject(obj)) {\n\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false })\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: true })\n }\n }\n }\n return children;\n }\n return [];\n}\n\n\n\nexport type Iterator = (value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions\n\n) => void\nexport class Helpers {\n\n public static get Walk() {\n const self = this;\n return {\n Object(json: Object, iterator: Iterator, optionsOrWalkGettersValue?: Models.StartIteratorOptions) {\n\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {}\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator = _.isFunction(iterator)\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let {\n circural\n } = self._walk(json, json, iterator, void 0, optionsOrWalkGettersValue as any)\n\n return { circs: circural }\n },\n ObjectBy(property: string, inContext: Object, iterator: Iterator, options?: Models.StartIteratorOptions) {\n if (_.isFunction(iterator)) {\n iterator(inContext, '', self._changeValue(inContext, property, true)) // TODO Add optoins\n }\n // @ts-ignore\n const json = inContext[property]\n return self.Walk.Object(json, iterator, options)\n }\n }\n }\n\n private static _changeValue(json: Object, lodahPath: string, simpleChange = false, options?: Models.InternalValues) {\n\n var { contextPath, property } = this._prepareParams(lodahPath);\n var context = _.get(json, contextPath);\n\n return (newValue: any) => {\n if (contextPath === '') {\n simpleChange = true;\n }\n\n if (simpleChange) {\n // @ts-ignore\n json[property] = newValue;\n } else {\n\n\n if (context) {\n context[property] = newValue;\n }\n }\n if (options) {\n options._valueChanged = true;\n }\n }\n }\n\n private static _prepareParams(lodashPath: string) {\n\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n\n if (_.isString(property) && property.trim() !== '' && !_.isNaN(Number(property))) {\n property = Number(property)\n }\n return {\n contextPath, property\n }\n }\n\n private static get _Helpers() {\n return {\n get Path() {\n return {\n // @ts-ignore\n getPropertyPath(lodahPath, contetPath) {\n return (lodahPath\n .replace(contetPath, '')\n .replace(/^\\./, '')\n .replace(/\\[/, '')\n .replace(/\\]/, ''))\n },\n getContextPath(p: string) {\n let res: string;\n if (p.endsWith(']')) {\n res = p.replace(/\\[(\\\"|\\')?[0-9]+(\\\"|\\')?\\]$/, '')\n } else {\n res = p.replace(/\\.([a-zA-Z0-9]|\\$|\\_|\\@|\\-|\\/|\\:)+$/, '')\n }\n return res === p ? '' : res;\n }\n }\n }\n }\n }\n\n private static _shoudlReturn(include = [], exclude = [], lodashPath: string) {\n let res = false;\n if (lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]/, '').trim() !== '') {\n lodashPath = lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]\\./, '')\n res = (\n (_.isArray(include) && include.length > 0\n && !include.find(p => lodashPath.startsWith(p)))\n ||\n (_.isArray(exclude) && exclude.length > 0\n && !!exclude.find(p => lodashPath.startsWith(p)))\n )\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(options: Models.InternalValues, obj, lodashPath) {\n\n if (options._exit) {\n return;\n }\n\n if (_.isUndefined(options.walkGetters)) {\n options.walkGetters = true;\n }\n\n if (_.isUndefined(options.checkCircural)) {\n options.checkCircural = false;\n }\n\n if (_.isUndefined(options.isGetter)) {\n // @ts-ignore\n options.isGetter = false;\n }\n\n if (_.isUndefined(options._valueChanged)) {\n options._valueChanged = false;\n }\n\n if (_.isUndefined(options._exit)) {\n // @ts-ignore\n options._exit = false;\n }\n\n if (_.isUndefined(options.exit)) {\n options.exit = () => {\n options._exit = true;\n }\n }\n\n if (_.isUndefined(options._skip)) {\n // @ts-ignore\n options._skip = false;\n }\n\n if (_.isUndefined(options.skipObject)) {\n options.skipObject = () => {\n options._skip = true;\n }\n }\n\n if (options.checkCircural) {\n if (_.isUndefined(options.db)) {\n options.db = {}\n }\n\n if (_.isUndefined(options.stack)) {\n options.stack = []\n }\n\n if (_.isUndefined(options.circural)) {\n options.circural = []\n }\n }\n\n const { db, stack } = options;\n options.isCircural = false;\n\n if (options.checkCircural && _.isObject(obj)) {\n let indexValue = CLASS.OBJECT(obj).indexValue\n if (CLASS.OBJECT(obj).isClassObject && !_.isUndefined(indexValue)) {\n let className = CLASS.getNameFromObject(obj);\n let p = `${className}.id_${indexValue}`;\n const inDB: Models.InDBType = _.get(db, p);\n\n if (inDB && CLASS.OBJECT(inDB.target).isEqual(obj)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inDB.path\n }\n // @ts-ignore\n options.circural.push(circ)\n options.isCircural = true;\n } else {\n _.set(db, p, {\n path: lodashPath,\n target: obj\n } as Models.InDBType)\n }\n\n } else {\n // @ts-ignore\n const inStack = stack.find((c: Models.InDBType) => c.target == obj);\n\n if (!_.isUndefined(inStack)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inStack.path\n }\n // @ts-ignore\n options.circural.push(circ)\n options.isCircural = true;\n } else {\n // @ts-ignore\n stack.push({\n path: lodashPath,\n target: obj\n } as Models.InDBType);\n }\n\n }\n }\n return options;\n }\n\n private static _walk(json: Object, obj: Object, iterator: Iterator, lodashPath = '',\n options?: Models.InternalValues, depthLevel = 0) {\n\n if (!options) {\n options = {} as any;\n }\n\n // @ts-ignore\n if (!options.breadthWalk) {\n // @ts-ignore\n options = this.prepareOptions(options, obj, lodashPath)\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {\n return;\n }\n\n // @ts-ignore\n if (options.hasIterator && lodashPath !== '') {\n iterator(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options)\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n obj = _.get(json, lodashPath)\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n options._skip = true;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n return\n }\n }\n\n\n\n if (options.breadthWalk) {\n\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n\n while (queue.length > 0) {\n\n const ver = queue.shift();\n\n\n\n\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n\n\n continue;\n }\n\n\n\n // @ts-ignore\n let { v, p } = ver;\n // @ts-ignore\n options = this.prepareOptions(options, v, p)\n\n if (options._exit) {\n console.log('EXIT')\n return options;\n }\n if (options.hasIterator && p !== '') {\n iterator(v, p, this._changeValue(json, p, false, options), options);\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n ver.v = _.get(json, p);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n\n continue;\n }\n\n if (_.isArray(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters))\n } else if (_.isObject(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters))\n }\n }\n\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(obj)) {\n obj.forEach((o, i) => {\n // @ts-ignore\n this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1)\n })\n\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n\n // @ts-ignore\n options.isGetter = false;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === obj) {\n // @ts-ignore\n options._exit = false;\n }\n\n }\n\n return options;\n }\n\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodash-walk-object.mjs","sources":["../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lib/models.ts","../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lib/index.ts","../../../tmp-libs-for-bundle-websql/lodash-walk-object/projects/lodash-walk-object/src/lodash-walk-object.ts"],"sourcesContent":["\n\nexport namespace Models {\n\n export type InDBType = { target: any; path: string; };\n export type Circ = { pathToObj: string; circuralTargetPath: string; };\n\n\n // @ts-ignore\n export type Ver = { v: any; p: string; parent: Ver; isGetter?: boolean; }\n\n export interface StartIteratorOptions {\n walkGetters?: boolean;\n\n /**\n * Default in breadhTwalk\n */\n checkCircural?: boolean;\n breadthWalk?: boolean;\n include?: string[];\n exclude?: string[];\n }\n\n export interface AdditionalIteratorOptions extends StartIteratorOptions {\n skipObject?: () => void;\n isGetter?: boolean;\n /**\n * Breadth walk will skip content of circural objects\n */\n isCircural?: boolean;\n exit?: () => void;\n\n }\n\n export interface InternalValues extends AdditionalIteratorOptions {\n db?: any;\n stack?: any[];\n circural?: Circ[];\n hasIterator?: boolean;\n _valueChanged: boolean;\n _skip: boolean;\n _exit: boolean;\n }\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/models.ts","\n\nimport { _ } from 'tnp-core/websql';\nimport { CLASS } from 'typescript-class-helpers/websql';\n\nimport { Models } from './models';\nexport * from './models';\n\nfunction findChildren(ver: Models.Ver, lp: string, walkGetters: boolean): Models.Ver[] {\n\n const obj = ver.v\n if (_.isArray(obj)) {\n return obj.map((v, i) => {\n return { v, p: `${lp}[${i}]`, parent: ver, isGetter: false }\n });\n } else if (_.isObject(obj)) {\n\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n const children: Models.Ver[] = [];\n for (const key in obj) {\n if (_.isObject(obj) && _.isFunction(obj.hasOwnProperty) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: false })\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n children.push({ v: obj[key], p: `${(lp === '') ? '' : `${lp}.`}${key}`, parent: ver, isGetter: true })\n }\n }\n }\n return children;\n }\n return [];\n}\n\n\n\nexport type Iterator = (value: any,\n lodashPath: string,\n // @ts-ignore\n changeValueTo: (newValue) => void,\n options?: Models.AdditionalIteratorOptions\n\n) => void\nexport class Helpers {\n\n public static get Walk() {\n const self = this;\n return {\n Object(json: Object, iterator: Iterator, optionsOrWalkGettersValue?: Models.StartIteratorOptions) {\n\n if (_.isUndefined(optionsOrWalkGettersValue)) {\n optionsOrWalkGettersValue = {}\n }\n\n (optionsOrWalkGettersValue as Models.InternalValues).hasIterator = _.isFunction(iterator)\n\n if (_.isUndefined(optionsOrWalkGettersValue.breadthWalk)) {\n optionsOrWalkGettersValue.breadthWalk = false;\n }\n\n let {\n circural\n } = self._walk(json, json, iterator, void 0, optionsOrWalkGettersValue as any)\n\n return { circs: circural }\n },\n ObjectBy(property: string, inContext: Object, iterator: Iterator, options?: Models.StartIteratorOptions) {\n if (_.isFunction(iterator)) {\n iterator(inContext, '', self._changeValue(inContext, property, true)) // TODO Add optoins\n }\n // @ts-ignore\n const json = inContext[property]\n return self.Walk.Object(json, iterator, options)\n }\n }\n }\n\n private static _changeValue(json: Object, lodahPath: string, simpleChange = false, options?: Models.InternalValues) {\n\n var { contextPath, property } = this._prepareParams(lodahPath);\n var context = _.get(json, contextPath);\n\n return (newValue: any) => {\n if (contextPath === '') {\n simpleChange = true;\n }\n\n if (simpleChange) {\n // @ts-ignore\n json[property] = newValue;\n } else {\n\n\n if (context) {\n context[property] = newValue;\n }\n }\n if (options) {\n options._valueChanged = true;\n }\n }\n }\n\n private static _prepareParams(lodashPath: string) {\n\n const contextPath = this._Helpers.Path.getContextPath(lodashPath);\n\n\n let property = this._Helpers.Path.getPropertyPath(lodashPath, contextPath);\n\n if (_.isString(property) && property.trim() !== '' && !_.isNaN(Number(property))) {\n property = Number(property)\n }\n return {\n contextPath, property\n }\n }\n\n private static get _Helpers() {\n return {\n get Path() {\n return {\n // @ts-ignore\n getPropertyPath(lodahPath, contetPath) {\n return (lodahPath\n .replace(contetPath, '')\n .replace(/^\\./, '')\n .replace(/\\[/, '')\n .replace(/\\]/, ''))\n },\n getContextPath(p: string) {\n let res: string;\n if (p.endsWith(']')) {\n res = p.replace(/\\[(\\\"|\\')?[0-9]+(\\\"|\\')?\\]$/, '')\n } else {\n res = p.replace(/\\.([a-zA-Z0-9]|\\$|\\_|\\@|\\-|\\/|\\:)+$/, '')\n }\n return res === p ? '' : res;\n }\n }\n }\n }\n }\n\n private static _shoudlReturn(include = [], exclude = [], lodashPath: string) {\n let res = false;\n if (lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]/, '').trim() !== '') {\n lodashPath = lodashPath.replace(/^\\[(\\'|\\\")?[0-9]*(\\'|\\\")?\\]\\./, '')\n res = (\n (_.isArray(include) && include.length > 0\n && !include.find(p => lodashPath.startsWith(p)))\n ||\n (_.isArray(exclude) && exclude.length > 0\n && !!exclude.find(p => lodashPath.startsWith(p)))\n )\n }\n\n return res;\n }\n\n // @ts-ignore\n private static prepareOptions(options: Models.InternalValues, obj, lodashPath) {\n\n if (options._exit) {\n return;\n }\n\n if (_.isUndefined(options.walkGetters)) {\n options.walkGetters = true;\n }\n\n if (_.isUndefined(options.checkCircural)) {\n options.checkCircural = false;\n }\n\n if (_.isUndefined(options.isGetter)) {\n // @ts-ignore\n options.isGetter = false;\n }\n\n if (_.isUndefined(options._valueChanged)) {\n options._valueChanged = false;\n }\n\n if (_.isUndefined(options._exit)) {\n // @ts-ignore\n options._exit = false;\n }\n\n if (_.isUndefined(options.exit)) {\n options.exit = () => {\n options._exit = true;\n }\n }\n\n if (_.isUndefined(options._skip)) {\n // @ts-ignore\n options._skip = false;\n }\n\n if (_.isUndefined(options.skipObject)) {\n options.skipObject = () => {\n options._skip = true;\n }\n }\n\n if (options.checkCircural) {\n if (_.isUndefined(options.db)) {\n options.db = {}\n }\n\n if (_.isUndefined(options.stack)) {\n options.stack = []\n }\n\n if (_.isUndefined(options.circural)) {\n options.circural = []\n }\n }\n\n const { db, stack } = options;\n options.isCircural = false;\n\n if (options.checkCircural && _.isObject(obj)) {\n let indexValue = CLASS.OBJECT(obj).indexValue\n if (CLASS.OBJECT(obj).isClassObject && !_.isUndefined(indexValue)) {\n let className = CLASS.getNameFromObject(obj);\n let p = `${className}.id_${indexValue}`;\n const inDB: Models.InDBType = _.get(db, p);\n\n if (inDB && CLASS.OBJECT(inDB.target).isEqual(obj)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inDB.path\n }\n // @ts-ignore\n options.circural.push(circ)\n options.isCircural = true;\n } else {\n _.set(db, p, {\n path: lodashPath,\n target: obj\n } as Models.InDBType)\n }\n\n } else {\n // @ts-ignore\n const inStack = stack.find((c: Models.InDBType) => c.target == obj);\n\n if (!_.isUndefined(inStack)) {\n const circ: Models.Circ = {\n pathToObj: lodashPath,\n circuralTargetPath: inStack.path\n }\n // @ts-ignore\n options.circural.push(circ)\n options.isCircural = true;\n } else {\n // @ts-ignore\n stack.push({\n path: lodashPath,\n target: obj\n } as Models.InDBType);\n }\n\n }\n }\n return options;\n }\n\n private static _walk(json: Object, obj: Object, iterator: Iterator, lodashPath = '',\n options?: Models.InternalValues, depthLevel = 0) {\n\n if (!options) {\n options = {} as any;\n }\n\n // @ts-ignore\n if (!options.breadthWalk) {\n // @ts-ignore\n options = this.prepareOptions(options, obj, lodashPath)\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, lodashPath)) {\n return;\n }\n\n // @ts-ignore\n if (options.hasIterator && lodashPath !== '') {\n iterator(obj, lodashPath, this._changeValue(json, lodashPath, false, options), options)\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n obj = _.get(json, lodashPath)\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n options._skip = true;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n return\n }\n }\n\n\n\n if (options.breadthWalk) {\n\n let queue: Models.Ver[] = [{ v: json, p: lodashPath, parent: void 0 }];\n\n\n while (queue.length > 0) {\n\n const ver = queue.shift();\n\n\n\n\n\n // @ts-ignore\n if (this._shoudlReturn(options.include, options.exclude, ver.p)) {\n\n\n continue;\n }\n\n\n\n // @ts-ignore\n let { v, p } = ver;\n // @ts-ignore\n options = this.prepareOptions(options, v, p)\n\n if (options._exit) {\n console.log('EXIT')\n return options;\n }\n if (options.hasIterator && p !== '') {\n iterator(v, p, this._changeValue(json, p, false, options), options);\n }\n\n // @ts-ignore\n if (options._valueChanged) {\n ver.v = _.get(json, p);\n }\n options._valueChanged = false;\n\n if (options.isCircural) {\n\n continue;\n }\n\n if (options._skip) {\n // @ts-ignore\n options._skip = false;\n\n continue;\n }\n\n if (_.isArray(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters))\n } else if (_.isObject(v)) {\n // @ts-ignore\n queue = queue.concat(findChildren(ver, p, options.walkGetters))\n }\n }\n\n } else {\n // @ts-ignore\n const { walkGetters } = options;\n\n if (Array.isArray(obj)) {\n obj.forEach((o, i) => {\n // @ts-ignore\n this._walk(json, obj[i], iterator, `${lodashPath}[${i}]`, options, depthLevel + 1)\n })\n\n } else if (_.isObject(obj)) {\n const allKeys = !walkGetters ? [] : Object.getOwnPropertyNames(obj);\n for (const key in obj) {\n if (_.isObject(obj) && obj.hasOwnProperty(key)) {\n _.pull(allKeys, key)\n\n // @ts-ignore\n options.isGetter = false;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n if (walkGetters) {\n for (let index = 0; index < allKeys.length; index++) {\n if (_.isObject(obj)) {\n const key = allKeys[index];\n\n // @ts-ignore\n options.isGetter = true;\n // @ts-ignore\n this._walk(json, obj[key], iterator, `${(lodashPath === '') ? '' : `${lodashPath}.`}${key}`, options, depthLevel + 1)\n }\n }\n }\n }\n\n // @ts-ignore\n if (options._exit && json === obj) {\n // @ts-ignore\n options._exit = false;\n }\n\n }\n\n return options;\n }\n\n}\n\nexport const walk = {\n Object: Helpers.Walk.Object,\n ObjectBy: Helpers.Walk.ObjectBy\n}\n\n ;({}); // @--end-of-file-for-module=lodash-walk-object lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}