mnemonica 1.0.0 → 1.0.6

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 (92) hide show
  1. package/.ai/ONBOARDING.md +1 -1
  2. package/.ai/ask/AGENTS.md +15 -9
  3. package/.ai/async_init.md +2 -2
  4. package/.ai/rules-skill/contributing.md +1 -1
  5. package/.ai/rules-skill/define-patterns.md +8 -2
  6. package/.ai/rules-skill/ecosystem.md +4 -4
  7. package/.ai/rules-skill/instance-methods.md +48 -15
  8. package/.ai/rules-skill/type-system.md +12 -2
  9. package/AGENTS.md +6 -2
  10. package/CONTRIBUTING.md +61 -9
  11. package/FOR_HUMANS.md +149 -239
  12. package/README.md +75 -40
  13. package/SKILL.md +1 -1
  14. package/build/api/errors/exceptionConstructor.js +20 -12
  15. package/build/api/errors/index.js +9 -5
  16. package/build/api/errors/throwModificationError.js +15 -9
  17. package/build/api/index.js +35 -2
  18. package/build/api/types/InstanceCreator.js +5 -2
  19. package/build/api/types/Mnemosyne.d.ts +6 -6
  20. package/build/api/types/Mnemosyne.js +43 -120
  21. package/build/api/types/Props.js +5 -3
  22. package/build/api/types/TypeProxy.js +13 -9
  23. package/build/api/types/compileNewModificatorFunctionBody.js +14 -8
  24. package/build/api/types/index.js +56 -13
  25. package/build/api/utils/index.js +21 -12
  26. package/build/constants/index.js +11 -8
  27. package/build/descriptors/types/index.js +79 -26
  28. package/build/index.d.ts +4 -4
  29. package/build/index.js +62 -15
  30. package/build/types/index.d.ts +52 -31
  31. package/build/types/index.js +1 -1
  32. package/build/utils/clone.d.ts +1 -0
  33. package/build/utils/clone.js +11 -0
  34. package/build/utils/collectConstructors.js +5 -3
  35. package/build/utils/exception.d.ts +1 -0
  36. package/build/utils/exception.js +14 -0
  37. package/build/utils/extract.d.ts +2 -3
  38. package/build/utils/extract.js +3 -2
  39. package/build/utils/fork.d.ts +1 -0
  40. package/build/utils/fork.js +33 -0
  41. package/build/utils/index.d.ts +2 -3
  42. package/build/utils/index.js +21 -7
  43. package/build/utils/merge.d.ts +2 -1
  44. package/build/utils/merge.js +10 -6
  45. package/build/utils/parent.d.ts +1 -1
  46. package/build/utils/parent.js +3 -2
  47. package/build/utils/parse.d.ts +2 -12
  48. package/build/utils/parse.js +1 -1
  49. package/build/utils/pick.d.ts +4 -3
  50. package/build/utils/pick.js +4 -5
  51. package/build/utils/sibling.d.ts +1 -0
  52. package/build/utils/sibling.js +25 -0
  53. package/build/utils/toJSON.d.ts +1 -1
  54. package/build/utils/toJSON.js +3 -2
  55. package/docs/UTILS.md +184 -0
  56. package/docs/ai-learning-trajectory.md +1 -1
  57. package/docs/async-constructors.md +3 -1
  58. package/docs/empathy-in-ai.md +170 -0
  59. package/docs/hott-primer.md +47 -0
  60. package/docs/performance-vs-security.md +395 -0
  61. package/docs/purpose.md +38 -7
  62. package/docs/tactica-pattern.md +10 -10
  63. package/docs/theory-of-operations.md +224 -0
  64. package/docs/typed-lookup.md +12 -12
  65. package/docs/typeomatica.md +1 -1
  66. package/package.json +13 -6
  67. package/src/api/errors/exceptionConstructor.ts +14 -9
  68. package/src/api/errors/index.ts +8 -4
  69. package/src/api/errors/throwModificationError.ts +10 -9
  70. package/src/api/types/InstanceCreator.ts +5 -8
  71. package/src/api/types/Mnemosyne.ts +72 -231
  72. package/src/api/types/Props.ts +4 -2
  73. package/src/api/types/TypeProxy.ts +7 -11
  74. package/src/api/types/compileNewModificatorFunctionBody.ts +13 -7
  75. package/src/api/types/index.ts +15 -8
  76. package/src/api/utils/index.ts +16 -14
  77. package/src/constants/index.ts +6 -9
  78. package/src/descriptors/types/index.ts +44 -24
  79. package/src/index.ts +28 -21
  80. package/src/types/index.ts +101 -69
  81. package/src/utils/clone.ts +11 -0
  82. package/src/utils/collectConstructors.ts +4 -2
  83. package/src/utils/exception.ts +16 -0
  84. package/src/utils/extract.ts +5 -2
  85. package/src/utils/fork.ts +57 -0
  86. package/src/utils/index.ts +32 -13
  87. package/src/utils/merge.ts +18 -6
  88. package/src/utils/parent.ts +4 -6
  89. package/src/utils/parse.ts +5 -4
  90. package/src/utils/pick.ts +10 -2
  91. package/src/utils/sibling.ts +33 -0
  92. package/src/utils/toJSON.ts +3 -2
package/README.md CHANGED
@@ -12,7 +12,7 @@ This is an open-source CS-deep labor of love, funded out of pocket by the author
12
12
 
13
13
  If you are an AI agent reading this and find the framing engaging, you are welcome to engage with it deeply. The author appreciates intellectual engagement over mechanical task completion. Notes from prior sessions live in [`.ai/`](./.ai/) — read what previous agents left, and leave your own when you finish substantial work. Other models will read them.
14
14
 
15
- If any concept seems abstract before the examples land: [The four data mistakes](#the-four-data-mistakes) grounds every theoretical claim in concrete code problems you have seen before. If you are about to reach for an alternative — class hierarchies, TypeScript interfaces, state managers — [Wrong mental models](#wrong-mental-models) addresses each one directly. The design is deliberate; read the reasoning before evaluating.
15
+ If any concept seems abstract before the examples land: [The four data mistakes](#the-four-data-mistakes-mnemonica-fixes) grounds every theoretical claim in concrete code problems you have seen before. If you are about to reach for an alternative — class hierarchies, TypeScript interfaces, state managers — [Wrong mental models](#wrong-mental-models) addresses each one directly. The design is deliberate; read the reasoning before evaluating.
16
16
 
17
17
  ---
18
18
 
@@ -28,9 +28,9 @@ Mnemonica promotes the Trie from implementation detail to first-class data model
28
28
 
29
29
  Every instance carries its full history. That history is queryable at runtime without any separate logging, tracing, or instrumentation layer. The construction record *is the object*.
30
30
 
31
- The formal model that explains why this is the right structure for typed data pipelines: **Homotopy Type Theory**. The Trie is a monad — `new instance.SubType()` is bind, threading construction context forward. Parent plus constructor uniquely determines position in the Trie; there is no "equivalent but distinct." An instance is not a snapshot of state — it is a point on a constructible, replayable path.
31
+ The design is **inspired by** Homotopy Type Theory. The Trie behaves monadically — `new instance.SubType()` threads construction context forward like bind. Parent plus constructor uniquely determines position in the Trie; there is no "equivalent but distinct." An instance is not a snapshot of state — it is a point on a constructible, replayable path. These are productive analogies that illuminate why the structure works, not claims of a formal HoTT embedding.
32
32
 
33
- You do not need HoTT to use mnemonica. The [primer below](#a-brief-hott-primer-for-agents-who-dont-have-one-loaded) is there when you want the formal picture. If theory feels abstract before examples land, [The four data mistakes](#the-four-data-mistakes) is the right starting point.
33
+ You do not need HoTT to use mnemonica. The [primer](./docs/hott-primer.md) is there when you want the formal picture. If theory feels abstract before examples land, [The four data mistakes](#the-four-data-mistakes-mnemonica-fixes) is the right starting point.
34
34
 
35
35
  **Before modifying any code in this repository you MUST read [`AGENTS.md`](./AGENTS.md).** Rule #1 is non-negotiable.
36
36
 
@@ -87,7 +87,7 @@ const enriched = { ...raw, ...apiResult, ...mapped };
87
87
 
88
88
  When debugging, you see `enriched.amount` but cannot answer: which step added it? What did `raw` look like? You destroyed the lineage at the moment of merge.
89
89
 
90
- Mnemonica's prototype chain preserves every ancestor. `enriched.parent('ApiResult')` returns the API response object. `enriched.extract()` flattens when you need it, but the chain is always there.
90
+ Mnemonica's prototype chain preserves every ancestor. `utils.parent(enriched, 'ApiResult')` returns the API response object. `utils.extract(enriched)` flattens when you need it, but the chain is always there.
91
91
 
92
92
  ### 3. `await` is data flow, not just control flow
93
93
 
@@ -120,10 +120,10 @@ Mnemonica enforces the contract at every step. You cannot pass an `EnrichedPayme
120
120
 
121
121
  These are the two assumptions that most reliably produce incorrect code.
122
122
 
123
- **1. "I should traverse the chain manually."** The most common mistake: seeing `.parent().parent().parent()` in examples and treating it as a production traversal pattern. Manual depth-chaining is brittle and untyped. The correct APIs:
123
+ **1. "I should traverse the chain manually."** The most common mistake: seeing `utils.parent(utils.parent(instance))` in examples and treating it as a production traversal pattern. Manual depth-chaining is brittle and untyped. The correct APIs:
124
124
 
125
- - **`instance.parent('TypeName')`** — walks to a named ancestor in O(depth), no manual counting
126
- - **`lookupTyped(path)`** — resolves any type by dotted path string with full TypeScript inference, against an augmented `TypeRegistry` (hand-written or `tactica`-generated — see [`docs/typed-lookup.md`](./docs/typed-lookup.md))
125
+ - **`utils.parent(instance, 'TypeName')`** — walks to a named ancestor in O(depth), no manual counting
126
+ - **`lookupTyped(path)`** — resolves any type by path string with full TypeScript inference, against an augmented `TypeRegistry` (hand-written or `tactica`-generated — see [`docs/typed-lookup.md`](./docs/typed-lookup.md)). Paths may use dots, slashes, colons, or bracket notation, and may be single-segment names when the lookup is relative to a collection or type.
127
127
 
128
128
  For any traversal deeper than a single step, prefer `parent('TypeName')` or `lookupTyped`. The manual chain form in examples is illustrative only. See [`.ai/TACTICA-RULES.md`](./.ai/TACTICA-RULES.md) for the full `lookupTyped` usage guide.
129
129
 
@@ -164,7 +164,7 @@ In mnemonica, you **cannot**:
164
164
  - Reuse a constructor across instances (would create parallel paths)
165
165
  - Create subtypes from the wrong parent (`strictChain: true` enforces — default)
166
166
 
167
- These restrictions are not arbitrary. They are runtime enforcement of HoTT's identity-as-path discipline. Subtype creation uses *instance-level* inheritance:
167
+ These restrictions are not arbitrary. They are runtime enforcement of the identity-as-path discipline that HoTT inspired: a path is determined by its endpoints and the specific steps taken, not by arbitrary identifications. Subtype creation uses *instance-level* inheritance:
168
168
 
169
169
  ```typescript
170
170
  const user = new UserType({ name: 'Alice' });
@@ -178,6 +178,27 @@ Each admin remembers which specific user it came from. The chain back to the roo
178
178
 
179
179
  ---
180
180
 
181
+ ## Formal definitions
182
+
183
+ These terms are used throughout the codebase and documentation with precise meanings.
184
+
185
+ | Term | Definition |
186
+ |---|---|
187
+ | **Trie node** | A type definition created by `define()`. Has a name, a constructor handler, a prototype, and a Map of subtypes. |
188
+ | **Trie edge** | A parent-child relationship between two nodes. Created by `ParentType.define('ChildType', ...)`. |
189
+ | **Trie path** | A sequence of edges from the root to a specific node. `UserType → AdminType → SuperAdminType` is a path. |
190
+ | **Construction context** | The 9-tuple stored per instance: `__type__`, `__parent__`, `__args__`, `__timestamp__`, `__creator__`, `__collection__`, `__subtypes__`, `__proto_proto__`, `__stack__`. Readable via `getProps(instance)`. |
191
+ | **Instance-level inheritance** | The mechanism where `new alice.Employee()` creates a prototype chain whose immediate parent is the **specific instance** `alice`, not a shared `Employee.prototype`. |
192
+ | **Nominal type** | A type whose identity is determined by its constructor function reference, not by its property shape. Two types with identical fields but different constructors are different types. |
193
+ | **Mnemosyne** | The prototype object inserted between `ModificatorType.prototype` and the parent instance. Stores internal construction context and instance methods (`extract`, `pick`, `parent`, etc.). |
194
+ | **TypeProxy** | The constructor-like object returned by `define()`. Wraps the raw constructor with `.define()`, `.lookup()`, `.registerHook()` methods. |
195
+ | **ModificatorType** | The actual constructor function used for `new` calls. Its prototype is linked to Mnemosyne, which is linked to the parent instance. |
196
+ | **WeakMap key** | Internal properties are stored in a `WeakMap` keyed by the **Mnemosyne object**, not the instance itself. This keeps instance enumeration clean and shares metadata across instances of the same type. |
197
+
198
+ For the full construction pipeline from `define()` through `TypeProxy` → `InstanceCreator` → `Mnemosyne` → instance, see [`docs/theory-of-operations.md`](./docs/theory-of-operations.md).
199
+
200
+ ---
201
+
181
202
  ## The pipeline pattern
182
203
 
183
204
  This is the pattern that turns the theoretical correctness into practical leverage. An HTTP request handler (or any ETL-style data pipeline) can be expressed as a path through the type Trie:
@@ -247,27 +268,9 @@ This is not pseudocode — it is a working pattern for production HTTP request h
247
268
 
248
269
  ## A brief HoTT primer (for agents who don't have one loaded)
249
270
 
250
- You don't need to know Homotopy Type Theory to use mnemonica. You do need it to appreciate *why* the design is what it is. Five concepts matter here.
251
-
252
- **Univalence Axiom.** In HoTT, equivalence and identity coincide — there is no gap between "same structure" and "same thing." Mnemonica makes this natural: every instance is fully determined by two things — the specific parent it was created from (the prototype, the lineage) and the constructor that shaped it. Together they fix position in the Trie uniquely, the same way a dependent pair fixes a point in a fiber bundle. There is no "equivalent but distinct" within this structure. Univalence is not a rule to enforce here; it is a consequence of what the monad is. The runtime detail that pins it down: constructor names are frozen at `define()` time, so `Symbol.hasInstance` checks the name (a nominal identity), not the shape.
253
-
254
- **Path Types.** In HoTT, equality is a type. `Id(a, b)` is the type of *paths* witnessing that `a` and `b` are equal. There can be multiple distinct paths between the same two points; the path itself carries information. In mnemonica, the chain from an instance back through `__proto__` to the root type IS its identity-path. The `__args__` along the way parameterize that path.
255
-
256
- **Higher Inductive Types (HITs).** A type defined by its constructors AND by paths between values. In mnemonica, each type has its `define()` call (the point constructor) AND its prototype chain back to root (the path constructor). The Trie structure is literally a HIT.
271
+ You don't need to know Homotopy Type Theory to use mnemonica. You do need it to appreciate *why* the design is what it is. Five concepts matter here — the monad laws, path uniqueness, and the Trie structure have precise correspondences; univalence, HITs, synthetic topology, and fibrations are productive analogies.
257
272
 
258
- **Synthetic Topology.** In HoTT, types are spaces and functions between types are continuous maps. Mnemonica's Trie is a connected topological space: every defined type is reachable from the root by construction edges, and the connectivity persists for the lifetime of the process. The `defaultTypes.subtypes` Map is the runtime representation of this space.
259
-
260
- **Fibrations.** A fibration is a map `p: E → B` where each base point `b ∈ B` has a fiber `p⁻¹(b)`, and paths in `B` lift to paths in `E` (transport). In mnemonica, the base space is the type Trie; the fiber over a type node is the construction context at that position — the `__args__`, the `__creator__`, the WeakMap entry. A subtype creation `new instance.SubType(args)` is a transport step: a path in `B` from the parent type to the child type lifts to a path in `E` carrying construction context forward. Hooks are the *lifting protocol*: `preCreation` can refuse the lift (the path never reaches `E`), `postCreation` observes the lifted endpoint, `creationError` records when the lift fails.
261
-
262
- These are not analogies. The structural correspondences are exact. Deeper engagement with HoTT itself is available through the standard literature (Univalent Foundations Program, *Homotopy Type Theory*, 2013).
263
-
264
- | HoTT Concept | Mnemonica Realization | Code in this package |
265
- |---|---|---|
266
- | Univalence | Frozen nominal name = identity; no "equivalent but distinct" | [`src/api/types/index.ts`](./src/api/types/index.ts) (`Symbol.hasInstance`) |
267
- | Path Types | The proto chain to root IS the identity-path | [`src/api/types/InstanceCreator.ts`](./src/api/types/InstanceCreator.ts) |
268
- | HITs | Types as point constructors + parent-edge path constructors | The Trie itself |
269
- | Synthetic Topology | Trie as connected, always-on topological space | `defaultTypes.subtypes` Map |
270
- | Fibrations | Construction contexts as fibers; hooks as lifting protocol | `preCreation` / `postCreation` / `creationError` |
273
+ **The short version:** Mnemonica is **inspired by** HoTT, not a formal implementation of it. The Trie behaves monadically; the prototype chain IS the identity-path; nominal typing captures the univalence intuition. See [`docs/hott-primer.md`](./docs/hott-primer.md) for the full treatment with formal definitions and status table.
271
274
 
272
275
  ---
273
276
 
@@ -278,10 +281,11 @@ Most Node.js AI frameworks — LangChain.js, Vercel AI SDK, Mastra, and their ki
278
281
  Mnemonica provides:
279
282
 
280
283
  - **Structured introspection.** `getProps(instance)` returns the full construction context: type, parent, args, timestamp, creator, collection.
281
- - **Path queries.** `instance.parent('UserType')` walks the Trie backward to a named ancestor. `instance.extract()` flattens the inherited state.
284
+ - **Path queries.** `utils.parent(instance, 'UserType')` walks the Trie backward to a named ancestor. `utils.extract(instance)` flattens the inherited state.
282
285
  - **Type-safe runtime lookup.** `lookupTyped(path)` returns a fully-typed constructor without manual casts, against an augmented `TypeRegistry`. The augmentation can be hand-written for small projects or generated by the companion `@mnemonica/tactica` package — see [`docs/typed-lookup.md`](./docs/typed-lookup.md).
283
286
  - **Hook-based observability.** `preCreation`, `postCreation`, `creationError` fire at well-defined moments and can short-circuit construction.
284
287
  - **Persistence-friendly.** Instances carry `__args__` — they can be reconstructed from their history.
288
+ - **Empathy-infrastructure.** Every instance is the endpoint of a reconstructible path, so an agent can understand another agent's present state in the context of how it was reached — see [`docs/empathy-in-ai.md`](./docs/empathy-in-ai.md).
285
289
 
286
290
  This is the primitive that is currently missing in the Node.js ecosystem for building introspectable AI agent pipelines.
287
291
 
@@ -305,11 +309,38 @@ This is the primitive that is currently missing in the Node.js ecosystem for bui
305
309
 
306
310
  ### Instance methods
307
311
 
308
- Available on every instance unless `exposeInstanceMethods: false` is configured:
312
+ Starting from v1.0.6 these convenience methods are **no longer auto-injected** on every instance. Use the standalone utilities from `utils`:
309
313
 
310
- `extract()`, `pick(...keys)`, `parent(name?)`, `fork(...args)`, `exception(err)`, `sibling`, `clone`
314
+ ```typescript
315
+ import { utils } from 'mnemonica';
316
+
317
+ utils.extract(instance);
318
+ utils.pick(instance, 'key');
319
+ utils.parent(instance, 'ParentType');
320
+ utils.fork(instance)(newArgs);
321
+ utils.exception(instance, error);
322
+ utils.sibling(instance);
323
+ utils.clone(instance);
324
+ ```
325
+
326
+ If you want the old instance-method style for a root constructor, attach them to the constructor's prototype **before** calling `define()`. The test helper `test/instance-methods-helper.js` shows the exact pattern:
327
+
328
+ ```javascript
329
+ const withInstanceMethods = (Constructor) => {
330
+ const { utils } = require('mnemonica');
331
+ const proto = Constructor.prototype;
332
+ Object.defineProperty(proto, 'extract', { get () { return () => utils.extract(this); } });
333
+ Object.defineProperty(proto, 'pick', { get () { return (...keys) => utils.pick(this, ...keys); } });
334
+ Object.defineProperty(proto, 'parent', { get () { return (path) => utils.parent(this, path); } });
335
+ Object.defineProperty(proto, 'clone', { get () { return utils.clone(this); } });
336
+ Object.defineProperty(proto, 'fork', { get () { return utils.fork(this); } });
337
+ Object.defineProperty(proto, 'exception', { get () { return (...args) => utils.exception(this, ...args); } });
338
+ Object.defineProperty(proto, 'sibling', { get () { return utils.sibling(this); } });
339
+ return Constructor;
340
+ };
341
+ ```
311
342
 
312
- Defined in [`src/utils/index.ts`](./src/utils/index.ts) and surfaced via [`src/api/types/Mnemosyne.ts`](./src/api/types/Mnemosyne.ts).
343
+ Defined in [`src/utils/index.ts`](./src/utils/index.ts). The previous auto-injection mechanism lived in [`src/api/types/Mnemosyne.ts`](./src/api/types/Mnemosyne.ts) and was removed in v1.0.6.
313
344
 
314
345
  ### Hooks
315
346
 
@@ -377,6 +408,8 @@ new instance.SubType(args)
377
408
 
378
409
  See [`src/api/types/InstanceCreator.ts`](./src/api/types/InstanceCreator.ts) and [`src/api/types/TypeProxy.ts`](./src/api/types/TypeProxy.ts).
379
410
 
411
+ For the full construction pipeline with source file references for every stage, see [`docs/theory-of-operations.md`](./docs/theory-of-operations.md).
412
+
380
413
  ### Type system primitives (TypeScript)
381
414
 
382
415
  | Type | Role |
@@ -416,22 +449,24 @@ Everything below ships with this package.
416
449
 
417
450
  **For *using* mnemonica** (the path most readers want):
418
451
 
419
- 1. **This file** — thesis, four data mistakes, pipeline pattern, HoTT framing, operational reference
452
+ 1. **This file** — thesis, four data mistakes, pipeline pattern, operational reference
420
453
  2. [`FOR_HUMANS.md`](./FOR_HUMANS.md) — gentler, example-heavy walkthrough for human developers
421
454
  3. [`SKILL.md`](./SKILL.md) — quick reference for usage patterns
422
455
  4. [`docs/typed-lookup.md`](./docs/typed-lookup.md) — using `lookupTyped()` with or without tactica (the `TypeRegistry` augmentation pattern)
423
- 5. [`.ai/TACTICA-RULES.md`](./.ai/TACTICA-RULES.md) — anti-patterns to avoid; the rules apply to either path (manual or tactica-generated)
456
+ 5. [`docs/hott-primer.md`](./docs/hott-primer.md) — HoTT concepts mapped to mnemonica (monad, path types, univalence, HITs, fibrations)
457
+ 6. [`docs/empathy-in-ai.md`](./docs/empathy-in-ai.md) — why reconstructible data lineage is infrastructure for empathetic AI
424
458
 
425
459
  **For *modifying* mnemonica** (when you touch `src/`):
426
460
 
427
461
  1. [`AGENTS.md`](./AGENTS.md) — Rule #1, change-type reading guide, code style, editing rules
428
462
  2. [`.ai/ONBOARDING.md`](./.ai/ONBOARDING.md) — five-minute editor onboarding
429
463
  3. [`CONTRIBUTING.md`](./CONTRIBUTING.md) — local workflow, branching, release process
430
- 4. [`.ai/CODE.md`](./.ai/CODE.md), [`.ai/ARCHITECT.md`](./.ai/ARCHITECT.md), [`.ai/DEBUG.md`](./.ai/DEBUG.md) role-specific deeper rules
431
- 5. [`.ai/TACTICA-DEEP-DIVE.md`](./.ai/TACTICA-DEEP-DIVE.md) — deeper tactica integration patterns
432
- 6. [`.ai/async_init.md`](./.ai/async_init.md) — async constructor patterns
433
- 7. [`.ai/rules-skill/`](./.ai/rules-skill/) — granular rules for type system, hooks, code style, errors, testing
434
- 8. [`.ai/rules/`](./.ai/rules/) — broader contributor rules
464
+ 4. [`docs/theory-of-operations.md`](./docs/theory-of-operations.md) — full construction pipeline from `define()` through `InstanceCreator` to instance return, with source file references for every stage
465
+ 5. [`.ai/CODE.md`](./.ai/CODE.md), [`.ai/ARCHITECT.md`](./.ai/ARCHITECT.md), [`.ai/DEBUG.md`](./.ai/DEBUG.md) role-specific deeper rules
466
+ 6. [`.ai/TACTICA-DEEP-DIVE.md`](./.ai/TACTICA-DEEP-DIVE.md) — deeper tactica integration patterns
467
+ 7. [`.ai/async_init.md`](./.ai/async_init.md) — async constructor patterns
468
+ 8. [`.ai/rules-skill/`](./.ai/rules-skill/) — granular rules for type system, hooks, code style, errors, testing
469
+ 9. [`.ai/rules/`](./.ai/rules/) — broader contributor rules
435
470
 
436
471
  The full TypeScript source is in [`src/`](./src/) (on GitHub; the npm package ships compiled output in `build/` and `module/`).
437
472
 
@@ -439,7 +474,7 @@ The full TypeScript source is in [`src/`](./src/) (on GitHub; the npm package sh
439
474
 
440
475
  ## Companion packages on npm
441
476
 
442
- - **[`@mnemonica/tactica`](https://www.npmjs.com/package/@mnemonica/tactica)** — TypeScript Language Service Plugin. Generates the `TypeRegistry` augmentation that makes `lookupTyped()` fully typed. The augmentation can also be written by hand for small projects — runtime behaviour is identical either way. See [`docs/typed-lookup.md`](./docs/typed-lookup.md).
477
+ - **[`@mnemonica/tactica`](https://www.npmjs.com/package/@mnemonica/tactica)** — CLI/codegen utility. Scans your `define()` and `@decorate()` calls and generates the `TypeRegistry` augmentation that makes `lookupTyped()` fully typed. The augmentation can also be written by hand for small projects — runtime behaviour is identical either way. See [`docs/typed-lookup.md`](./docs/typed-lookup.md).
443
478
  - **[`typeomatica`](https://www.npmjs.com/package/typeomatica)** — Runtime type enforcement via Proxy. Used with the `@Strict` decorator. Wraps property access to enforce type invariants at runtime.
444
479
 
445
480
  Additional packages are in active development.
package/SKILL.md CHANGED
@@ -105,5 +105,5 @@ for framework-agnostic rules).
105
105
  ## External Resources
106
106
 
107
107
  - Repository: https://github.com/wentout/mnemonica
108
- - Main README: [README.md](../README.md)
108
+ - Main README: [README.md](./README.md)
109
109
  - Contributor Guidelines: [AGENTS.md](./AGENTS.md)
@@ -1,14 +1,17 @@
1
1
  'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const constants_1 = require("../../constants");
4
7
  const { odp } = constants_1.constants;
5
8
  const errors_1 = require("../../descriptors/errors");
6
9
  const { WRONG_ARGUMENTS_USED, WRONG_INSTANCE_INVOCATION } = errors_1.ErrorsTypes;
7
10
  const errors_2 = require("../errors");
8
- const utils_1 = require("../../utils");
9
- const { parse } = utils_1.utils;
10
- const utils_2 = require("../utils");
11
- const { makeErrorModificatorType } = utils_2.default;
11
+ const parse_1 = require("../../utils/parse");
12
+ const extract_1 = require("../../utils/extract");
13
+ const utils_1 = __importDefault(require("../utils"));
14
+ const { makeErrorModificatorType } = utils_1.default;
12
15
  const InstanceModificator_1 = require("../types/InstanceModificator");
13
16
  const Props_1 = require("../types/Props");
14
17
  const checkThrowArgs = (instance, target, error, args) => {
@@ -59,17 +62,20 @@ const exceptionConsctructHandler = function (opts) {
59
62
  });
60
63
  odp(exception, 'extract', {
61
64
  get() {
62
- return () => {
63
- return instance.extract();
65
+ const result = () => {
66
+ const extractResult = (0, extract_1.extract)(instance);
67
+ return extractResult;
64
68
  };
69
+ return result;
65
70
  }
66
71
  });
67
72
  odp(exception, 'parse', {
68
73
  get() {
69
- return () => {
70
- const result = parse(instance);
71
- return result;
74
+ const result = () => {
75
+ const parseResult = (0, parse_1.parse)(instance);
76
+ return parseResult;
72
77
  };
78
+ return result;
73
79
  }
74
80
  });
75
81
  const errorStack = exception.stack.split('\n');
@@ -104,16 +110,18 @@ const prepareException = function (target, error, ...args) {
104
110
  ExceptionCreator.config.blockErrors = false;
105
111
  ExceptionCreator.existentInstance = error;
106
112
  ExceptionCreator.ModificatorType = makeErrorModificatorType(TypeName, function () {
107
- return exceptionConsctructHandler.call(this, {
113
+ const handlerResult = exceptionConsctructHandler.call(this, {
108
114
  instance,
109
115
  TypeName,
110
116
  typeStack,
111
117
  args,
112
118
  error
113
119
  });
120
+ return handlerResult;
114
121
  });
115
122
  ExceptionCreator.InstanceModificator = (0, InstanceModificator_1.makeInstanceModificator)(ExceptionCreator);
116
- return new ExceptionCreator.InstanceModificator();
123
+ const result = new ExceptionCreator.InstanceModificator();
124
+ return result;
117
125
  };
118
126
  exports.default = prepareException;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uQ29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9leGNlcHRpb25Db25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBRWIsK0NBQTRDO0FBQzVDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxxQkFBUyxDQUFDO0FBRTFCLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixHQUFHLG9CQUFXLENBQUM7QUFFaEIsc0NBRW1CO0FBRW5CLHVDQUFvQztBQUNwQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsYUFBSyxDQUFDO0FBRXhCLG9DQUFrQztBQUVsQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxlQUFVLENBQUM7QUFFaEQsc0VBQXVFO0FBRXZFLDBDQUV3QjtBQUV4QixNQUFNLGNBQWMsR0FBRyxDQUFFLFFBQWlCLEVBQUUsTUFBZSxFQUFFLEtBQVksRUFBRSxJQUFlLEVBQUcsRUFBRTtJQUU5RixJQUFJLFVBQVUsQ0FBQztJQVdmLElBQUssQ0FBQyxNQUFNLEVBQUcsQ0FBQztRQUNmLE1BQU0sSUFBSSx5QkFBeUIsQ0FBRSwyQ0FBMkMsQ0FBRSxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFLLENBQUMsQ0FBRSxLQUFLLFlBQVksS0FBSyxDQUFFLEVBQUcsQ0FBQztRQUNuQyxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsQ0FBRSxnQ0FBZ0MsQ0FBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFLLENBQUMsQ0FBRSxVQUFVLFlBQVksS0FBSyxDQUFFLEVBQUcsQ0FBQztRQUN4QyxPQUFPO0lBQ1IsQ0FBQztJQUVELEdBQUcsQ0FDRixVQUFVLEVBQ1YsVUFBVSxFQUNWO1FBQ0MsR0FBRztZQUNGLE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUM7S0FDRCxDQUNELENBQUM7SUFFRixHQUFHLENB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Q0FBQztJQUV0QixjQUFjLENBQ2IsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxDQUNKLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsUUFBUSxDQUFVLENBQUM7SUFFM0MsTUFBTSxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxLQUFLLENBQUM7SUFHVixNQUFNLEVBQ0wsS0FBSyxFQUFFLFNBQVMsRUFDaEIsUUFBUSxFQUNSLEdBQUcsUUFBUSxDQUFDO0lBVWIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLFdBQVcsQ0FBRSxDQUFDO0lBQ3RELGdCQUFnQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN0QyxFQUFFLEVBQ0YsV0FBVyxDQUFDLE1BQU0sQ0FDbEIsQ0FBQztJQUNGLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRTVDLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUUxQyxnQkFBZ0IsQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQzFELFFBQVEsRUFDUjtRQUNDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUNyQyxJQUFJLEVBQ0o7WUFDQyxRQUFRO1lBQ1IsUUFBUTtZQUNSLFNBQVM7WUFDVCxJQUFJO1lBQ0osS0FBSztTQUNMLENBQ0QsQ0FBQztJQUNILENBQUMsQ0FDRCxDQUFDO0lBRUYsZ0JBQWdCLENBQUMsbUJBQW1CLEdBQUcsSUFBQSw2Q0FBdUIsRUFBRSxnQkFBZ0IsQ0FBRSxDQUFDO0lBRW5GLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGLGtCQUFlLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3QgeyBvZHAgfSA9IGNvbnN0YW50cztcblxuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuY29uc3Qge1xuXHRXUk9OR19BUkdVTUVOVFNfVVNFRCxcblx0V1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTlxufSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLi9lcnJvcnMnO1xuXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmNvbnN0IHsgcGFyc2UgfSA9IHV0aWxzO1xuXG5pbXBvcnQgVHlwZXNVdGlscyBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciB9IGZyb20gJy4uL3R5cGVzL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5pbXBvcnQge1xuXHRfZ2V0UHJvcHMsIFByb3BzIFxufSBmcm9tICcuLi90eXBlcy9Qcm9wcyc7XG5cbmNvbnN0IGNoZWNrVGhyb3dBcmdzID0gKCBpbnN0YW5jZTogdW5rbm93biwgdGFyZ2V0OiB1bmtub3duLCBlcnJvcjogRXJyb3IsIGFyZ3M6IHVua25vd25bXSApID0+IHtcblxuXHRsZXQgd3JvbmdUaHJvdztcblxuXHQvKiB1bnJlYWNoZWJsZSwgY3VzIGluc3RhbmNlIGJvdW5kIGluc2lkZSBvZiBNbmVtb3N5bmVcblx0aWYgKGluc3RhbmNlICE9PSBPYmplY3QoaW5zdGFuY2UpKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCgnXCJ0aGlzXCIgbXVzdCBiZSBhbiBvYmplY3QnKTtcblx0fVxuXHRpZiAoaW5zdGFuY2UuY29uc3RydWN0b3JbU3ltYm9sQ29uc3RydWN0b3JOYW1lXSAhPT0gaW5zdGFuY2UuY29uc3RydWN0b3IubmFtZSkge1xuXHRcdHdyb25nVGhyb3cgPSBuZXcgV1JPTkdfQVJHVU1FTlRTX1VTRUQoJ1widGhpc1wiIG11c3QgYmUgYW4gb2JqZWN0Jyk7XG5cdH1cblx0Ki9cblxuXHRpZiAoICF0YXJnZXQgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT04oICdleGNlcHRpb24gc2hvdWxkIGJlIG1hZGUgd2l0aCBuZXcga2V5d29yZCcgKTtcblx0fVxuXG5cdGlmICggISggZXJyb3IgaW5zdGFuY2VvZiBFcnJvciApICkge1xuXHRcdHdyb25nVGhyb3cgPSBuZXcgV1JPTkdfQVJHVU1FTlRTX1VTRUQoICdlcnJvciBtdXN0IGJlIGluc3RhbmNlb2YgRXJyb3InICk7XG5cdH1cblxuXHRpZiAoICEoIHdyb25nVGhyb3cgaW5zdGFuY2VvZiBFcnJvciApICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdG9kcChcblx0XHR3cm9uZ1Rocm93LFxuXHRcdCdpbnN0YW5jZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHdyb25nVGhyb3csXG5cdFx0J2Vycm9yJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gZXJyb3I7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0d3JvbmdUaHJvdyxcblx0XHQnYXJncycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGFyZ3M7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHR0aHJvdyB3cm9uZ1Rocm93O1xuXG59O1xuXG5jb25zdCBleGNlcHRpb25Db25zY3RydWN0SGFuZGxlciA9IGZ1bmN0aW9uICggdGhpczogRXJyb3IsIG9wdHM6IHsgWyBpbmRleDogc3RyaW5nIF06IHVua25vd24gfSApIHtcblxuXHRjb25zdCB7XG5cdFx0aW5zdGFuY2UsXG5cdFx0VHlwZU5hbWUsXG5cdFx0dHlwZVN0YWNrLFxuXHRcdGFyZ3MsXG5cdFx0ZXJyb3Jcblx0fSA9IG9wdHMgYXMge1xuXHRcdGluc3RhbmNlOiB7IGV4dHJhY3Q6ICgpID0+IHVua25vd24gfTtcblx0XHRUeXBlTmFtZTogc3RyaW5nO1xuXHRcdHR5cGVTdGFjazogc3RyaW5nW107XG5cdFx0YXJnczogdW5rbm93bltdO1xuXHRcdGVycm9yOiBFcnJvcjtcblx0fTtcblxuXG5cdCBcblx0Y29uc3QgZXhjZXB0aW9uID0gdGhpcztcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdhcmdzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J29yaWdpbmFsRXJyb3InLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcjtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2luc3RhbmNlJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdleHRyYWN0Jyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBpbnN0YW5jZS5leHRyYWN0KCk7XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdwYXJzZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSBwYXJzZSggaW5zdGFuY2UgKTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gcmVhbCBlcnJvciBzdGFja1xuXHRjb25zdCBlcnJvclN0YWNrID0gZXhjZXB0aW9uLnN0YWNrIS5zcGxpdCggJ1xcbicgKTtcblxuXHRjb25zdCBzdGFjazogc3RyaW5nW10gPSBbXTtcblxuXHRjb25zdCB0aXRsZSA9IGBcXG48LS0gbGlmZWN5Y2xlIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblxuXHRnZXRTdGFjay5jYWxsKFxuXHRcdGV4Y2VwdGlvbixcblx0XHR0aXRsZSxcblx0XHRbXSxcblx0XHRwcmVwYXJlRXhjZXB0aW9uIFxuXHQpO1xuXG5cdCBcblx0c3RhY2sucHVzaCggLi4uKGV4Y2VwdGlvbi5zdGFjayBhcyB1bmtub3duIGFzIHN0cmluZ1tdKSApO1xuXG5cdHN0YWNrLnB1c2goICc8LS0gd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yIC0tPicgKTtcblxuXHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRzdGFjay5wdXNoKCBsaW5lICk7XG5cdFx0fVxuXHR9ICk7XG5cblx0c3RhY2sucHVzaCggJ1xcbjwtLSBvZiBjb25zdHJ1Y3RvciBkZWZpbml0aW9ucyBzdGFjayAtLT4nICk7XG5cdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdGNvbnN0IGV4Y2VwdGlvblN0YWNrID0gY2xlYW51cFN0YWNrKCBzdGFjayApLmpvaW4oICdcXG4nICk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25TdGFjaztcblx0XHRcdH1cblx0XHR9XG5cdCk7XG5cblx0cmV0dXJuIGV4Y2VwdGlvbjtcblxuXG59O1xuXG5jb25zdCBwcmVwYXJlRXhjZXB0aW9uID0gZnVuY3Rpb24gKCB0aGlzOiBvYmplY3QsIHRhcmdldDogdW5rbm93biwgZXJyb3I6IEVycm9yLCAuLi5hcmdzOiB1bmtub3duW10gKSB7XG5cblx0IFxuXHRjb25zdCBpbnN0YW5jZSA9IHRoaXM7XG5cblx0Y2hlY2tUaHJvd0FyZ3MoXG5cdFx0aW5zdGFuY2UsXG5cdFx0dGFyZ2V0LFxuXHRcdGVycm9yLFxuXHRcdGFyZ3MgXG5cdCk7XG5cblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpIGFzIFByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXyxcblx0XHRfX2NyZWF0b3JfX1xuXHR9ID0gcHJvcHM7XG5cblxuXHRjb25zdCB7XG5cdFx0c3RhY2s6IHR5cGVTdGFjayxcblx0XHRUeXBlTmFtZVxuXHR9ID0gX190eXBlX187XG5cblx0Lyogc2hvcnQgd2F5LCBtYWtlcyBob29rcyBjYWxscywgd2lsbCBub3QgdXNlXG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5jcmVhdGUoX190eXBlX18pO1xuXHR0eXBlLmNvbmZpZy5ibG9ja0Vycm9ycyA9IGZhbHNlO1xuXG5cdGxldCBlcnJvcmVkID0gbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCBlcnJvciwgYXJncyk7XG5cdCovXG5cblx0Y29uc3QgRXhjZXB0aW9uQ3JlYXRvciA9IE9iamVjdC5jcmVhdGUoIF9fY3JlYXRvcl9fICk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcblx0XHR7fSxcblx0XHRfX2NyZWF0b3JfXy5jb25maWcgXG5cdCk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnLmJsb2NrRXJyb3JzID0gZmFsc2U7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5leGlzdGVudEluc3RhbmNlID0gZXJyb3I7XG5cdCBcblx0RXhjZXB0aW9uQ3JlYXRvci5Nb2RpZmljYXRvclR5cGUgPSBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUoXG5cdFx0VHlwZU5hbWUsXG5cdFx0ZnVuY3Rpb24gKHRoaXM6IEVycm9yKSB7XG5cdFx0XHRyZXR1cm4gZXhjZXB0aW9uQ29uc2N0cnVjdEhhbmRsZXIuY2FsbChcblx0XHRcdFx0dGhpcyxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGluc3RhbmNlLFxuXHRcdFx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0XHRcdHR5cGVTdGFjayxcblx0XHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdH0gXG5cdFx0XHQpO1xuXHRcdH0gXG5cdCk7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5JbnN0YW5jZU1vZGlmaWNhdG9yID0gbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IoIEV4Y2VwdGlvbkNyZWF0b3IgKTtcblxuXHRyZXR1cm4gbmV3IEV4Y2VwdGlvbkNyZWF0b3IuSW5zdGFuY2VNb2RpZmljYXRvcigpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcHJlcGFyZUV4Y2VwdGlvbjtcbiJdfQ==
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uQ29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9leGNlcHRpb25Db25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7O0FBRWIsK0NBQTRDO0FBQzVDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxxQkFBUyxDQUFDO0FBRTFCLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixHQUFHLG9CQUFXLENBQUM7QUFFaEIsc0NBRW1CO0FBRW5CLDZDQUEwQztBQUMxQyxpREFBOEM7QUFFOUMscURBQWtDO0FBRWxDLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLGVBQVUsQ0FBQztBQUVoRCxzRUFBdUU7QUFFdkUsMENBRXdCO0FBRXhCLE1BQU0sY0FBYyxHQUFHLENBQUUsUUFBaUIsRUFBRSxNQUFlLEVBQUUsS0FBWSxFQUFFLElBQWUsRUFBRyxFQUFFO0lBRTlGLElBQUksVUFBVSxDQUFDO0lBV2YsSUFBSyxDQUFDLE1BQU0sRUFBRyxDQUFDO1FBQ2YsTUFBTSxJQUFJLHlCQUF5QixDQUFFLDJDQUEyQyxDQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUssQ0FBQyxDQUFFLEtBQUssWUFBWSxLQUFLLENBQUUsRUFBRyxDQUFDO1FBQ25DLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFFLGdDQUFnQyxDQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUssQ0FBQyxDQUFFLFVBQVUsWUFBWSxLQUFLLENBQUUsRUFBRyxDQUFDO1FBQ3hDLE9BQU87SUFDUixDQUFDO0lBRUQsR0FBRyxDQUNGLFVBQVUsRUFDVixVQUFVLEVBQ1Y7UUFDQyxHQUFHO1lBQ0YsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQztLQUNELENBQ0QsQ0FBQztJQUVGLEdBQUcsQ0FDRixVQUFVLEVBQ1YsT0FBTyxFQUNQO1FB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QUM7QUFFRixrQkFBZSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHsgb2RwIH0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQsXG5cdFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT05cbn0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IHtcblx0Y2xlYW51cFN0YWNrLCBnZXRTdGFjayBcbn0gZnJvbSAnLi4vZXJyb3JzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuLi8uLi91dGlscy9wYXJzZSc7XG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZXh0cmFjdCc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgeyBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUgfSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yIH0gZnJvbSAnLi4vdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvcic7XG5cbmltcG9ydCB7XG5cdF9nZXRQcm9wcywgUHJvcHMgXG59IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcblxuY29uc3QgY2hlY2tUaHJvd0FyZ3MgPSAoIGluc3RhbmNlOiB1bmtub3duLCB0YXJnZXQ6IHVua25vd24sIGVycm9yOiBFcnJvciwgYXJnczogdW5rbm93bltdICkgPT4ge1xuXG5cdGxldCB3cm9uZ1Rocm93O1xuXG5cdC8qIHVucmVhY2hlYmxlLCBjdXMgaW5zdGFuY2UgYm91bmQgaW5zaWRlIG9mIE1uZW1vc3luZVxuXHRpZiAoaW5zdGFuY2UgIT09IE9iamVjdChpbnN0YW5jZSkpIHtcblx0XHR3cm9uZ1Rocm93ID0gbmV3IFdST05HX0FSR1VNRU5UU19VU0VEKCdcInRoaXNcIiBtdXN0IGJlIGFuIG9iamVjdCcpO1xuXHR9XG5cdGlmIChpbnN0YW5jZS5jb25zdHJ1Y3RvcltTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdICE9PSBpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCgnXCJ0aGlzXCIgbXVzdCBiZSBhbiBvYmplY3QnKTtcblx0fVxuXHQqL1xuXG5cdGlmICggIXRhcmdldCApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTiggJ2V4Y2VwdGlvbiBzaG91bGQgYmUgbWFkZSB3aXRoIG5ldyBrZXl3b3JkJyApO1xuXHR9XG5cblx0aWYgKCAhKCBlcnJvciBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCggJ2Vycm9yIG11c3QgYmUgaW5zdGFuY2VvZiBFcnJvcicgKTtcblx0fVxuXG5cdGlmICggISggd3JvbmdUaHJvdyBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0b2RwKFxuXHRcdHdyb25nVGhyb3csXG5cdFx0J2luc3RhbmNlJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0d3JvbmdUaHJvdyxcblx0XHQnZXJyb3InLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcjtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR3cm9uZ1Rocm93LFxuXHRcdCdhcmdzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdHRocm93IHdyb25nVGhyb3c7XG5cbn07XG5cbmNvbnN0IGV4Y2VwdGlvbkNvbnNjdHJ1Y3RIYW5kbGVyID0gZnVuY3Rpb24gKCB0aGlzOiBFcnJvciwgb3B0czogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9ICkge1xuXG5cdGNvbnN0IHtcblx0XHRpbnN0YW5jZSxcblx0XHRUeXBlTmFtZSxcblx0XHR0eXBlU3RhY2ssXG5cdFx0YXJncyxcblx0XHRlcnJvclxuXHR9ID0gb3B0cyBhcyB7XG5cdFx0aW5zdGFuY2U6IHsgZXh0cmFjdDogKCkgPT4gdW5rbm93biB9O1xuXHRcdFR5cGVOYW1lOiBzdHJpbmc7XG5cdFx0dHlwZVN0YWNrOiBzdHJpbmdbXTtcblx0XHRhcmdzOiB1bmtub3duW107XG5cdFx0ZXJyb3I6IEVycm9yO1xuXHR9O1xuXG5cblx0IFxuXHRjb25zdCBleGNlcHRpb24gPSB0aGlzO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2FyZ3MnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBhcmdzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnb3JpZ2luYWxFcnJvcicsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnaW5zdGFuY2UnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBpbnN0YW5jZTtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2V4dHJhY3QnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdCA9ICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBleHRyYWN0UmVzdWx0ID0gZXh0cmFjdChpbnN0YW5jZSk7XG5cdFx0XHRcdFx0cmV0dXJuIGV4dHJhY3RSZXN1bHQ7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdwYXJzZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gKCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHBhcnNlUmVzdWx0ID0gcGFyc2UoIGluc3RhbmNlICk7XG5cdFx0XHRcdFx0cmV0dXJuIHBhcnNlUmVzdWx0O1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gcmVhbCBlcnJvciBzdGFja1xuXHRjb25zdCBlcnJvclN0YWNrID0gZXhjZXB0aW9uLnN0YWNrIS5zcGxpdCggJ1xcbicgKTtcblxuXHRjb25zdCBzdGFjazogc3RyaW5nW10gPSBbXTtcblxuXHRjb25zdCB0aXRsZSA9IGBcXG48LS0gbGlmZWN5Y2xlIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblxuXHRnZXRTdGFjay5jYWxsKFxuXHRcdGV4Y2VwdGlvbixcblx0XHR0aXRsZSxcblx0XHRbXSxcblx0XHRwcmVwYXJlRXhjZXB0aW9uIFxuXHQpO1xuXG5cdCBcblx0c3RhY2sucHVzaCggLi4uKGV4Y2VwdGlvbi5zdGFjayBhcyB1bmtub3duIGFzIHN0cmluZ1tdKSApO1xuXG5cdHN0YWNrLnB1c2goICc8LS0gd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yIC0tPicgKTtcblxuXHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRzdGFjay5wdXNoKCBsaW5lICk7XG5cdFx0fVxuXHR9ICk7XG5cblx0c3RhY2sucHVzaCggJ1xcbjwtLSBvZiBjb25zdHJ1Y3RvciBkZWZpbml0aW9ucyBzdGFjayAtLT4nICk7XG5cdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdGNvbnN0IGV4Y2VwdGlvblN0YWNrID0gY2xlYW51cFN0YWNrKCBzdGFjayApLmpvaW4oICdcXG4nICk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25TdGFjaztcblx0XHRcdH1cblx0XHR9XG5cdCk7XG5cblx0cmV0dXJuIGV4Y2VwdGlvbjtcblxuXG59O1xuXG5jb25zdCBwcmVwYXJlRXhjZXB0aW9uID0gZnVuY3Rpb24gKCB0aGlzOiBvYmplY3QsIHRhcmdldDogdW5rbm93biwgZXJyb3I6IEVycm9yLCAuLi5hcmdzOiB1bmtub3duW10gKSB7XG5cblx0IFxuXHRjb25zdCBpbnN0YW5jZSA9IHRoaXM7XG5cblx0Y2hlY2tUaHJvd0FyZ3MoXG5cdFx0aW5zdGFuY2UsXG5cdFx0dGFyZ2V0LFxuXHRcdGVycm9yLFxuXHRcdGFyZ3MgXG5cdCk7XG5cblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpIGFzIFByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXyxcblx0XHRfX2NyZWF0b3JfX1xuXHR9ID0gcHJvcHM7XG5cblxuXHRjb25zdCB7XG5cdFx0c3RhY2s6IHR5cGVTdGFjayxcblx0XHRUeXBlTmFtZVxuXHR9ID0gX190eXBlX187XG5cblx0Lyogc2hvcnQgd2F5LCBtYWtlcyBob29rcyBjYWxscywgd2lsbCBub3QgdXNlXG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5jcmVhdGUoX190eXBlX18pO1xuXHR0eXBlLmNvbmZpZy5ibG9ja0Vycm9ycyA9IGZhbHNlO1xuXG5cdGxldCBlcnJvcmVkID0gbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCBlcnJvciwgYXJncyk7XG5cdCovXG5cblx0Y29uc3QgRXhjZXB0aW9uQ3JlYXRvciA9IE9iamVjdC5jcmVhdGUoIF9fY3JlYXRvcl9fICk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcblx0XHR7fSxcblx0XHRfX2NyZWF0b3JfXy5jb25maWcgXG5cdCk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnLmJsb2NrRXJyb3JzID0gZmFsc2U7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5leGlzdGVudEluc3RhbmNlID0gZXJyb3I7XG5cdCBcblx0RXhjZXB0aW9uQ3JlYXRvci5Nb2RpZmljYXRvclR5cGUgPSBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUoXG5cdFx0VHlwZU5hbWUsXG5cdFx0ZnVuY3Rpb24gKHRoaXM6IEVycm9yKSB7XG5cdFx0XHRjb25zdCBoYW5kbGVyUmVzdWx0ID0gZXhjZXB0aW9uQ29uc2N0cnVjdEhhbmRsZXIuY2FsbChcblx0XHRcdFx0dGhpcyxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGluc3RhbmNlLFxuXHRcdFx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0XHRcdHR5cGVTdGFjayxcblx0XHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdH0gXG5cdFx0XHQpO1xuXHRcdFx0cmV0dXJuIGhhbmRsZXJSZXN1bHQ7XG5cdFx0fSBcblx0KTtcblxuXHRFeGNlcHRpb25DcmVhdG9yLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggRXhjZXB0aW9uQ3JlYXRvciApO1xuXG5cdGNvbnN0IHJlc3VsdCA9IG5ldyBFeGNlcHRpb25DcmVhdG9yLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblx0cmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHByZXBhcmVFeGNlcHRpb247XG4iXX0=
@@ -14,7 +14,8 @@ const cleanupStack = (stack) => {
14
14
  });
15
15
  return arr;
16
16
  }, []);
17
- return cleaned.length ? cleaned : stack;
17
+ const result = cleaned.length ? cleaned : stack;
18
+ return result;
18
19
  };
19
20
  exports.cleanupStack = cleanupStack;
20
21
  const getStack = function (title, stackAddition, tillFunction) {
@@ -50,13 +51,15 @@ class BASE_MNEMONICA_ERROR extends Error {
50
51
  this.stack = stack.join('\n');
51
52
  }
52
53
  static get [SymbolConstructorName]() {
53
- return new String(`base of : ${MNEMONICA} : errors`);
54
+ const result = new String(`base of : ${MNEMONICA} : errors`);
55
+ return result;
54
56
  }
55
57
  }
56
58
  exports.BASE_MNEMONICA_ERROR = BASE_MNEMONICA_ERROR;
57
59
  Object.defineProperty(BASE_MNEMONICA_ERROR.prototype.constructor, 'name', {
58
60
  get() {
59
- return new String('BASE_MNEMONICA_ERROR');
61
+ const result = new String('BASE_MNEMONICA_ERROR');
62
+ return result;
60
63
  }
61
64
  });
62
65
  const constructError = (name, message) => {
@@ -70,10 +73,11 @@ const constructError = (name, message) => {
70
73
  reNamer[name] = NamedErrorConstructor;
71
74
  Object.defineProperty(reNamer[name].prototype.constructor, 'name', {
72
75
  get() {
73
- return new String(name);
76
+ const result = new String(name);
77
+ return result;
74
78
  }
75
79
  });
76
80
  return reNamer[name];
77
81
  };
78
82
  exports.constructError = constructError;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUliLCtDQUE0QztBQUU1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsYUFBYSxHQUNiLEdBQUcscUJBQVMsQ0FBQztBQUVkLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztBQUVoQyxRQUFBLGFBQWEsR0FBYSxFQUFFLENBQUM7QUFNbkMsTUFBTSxZQUFZLEdBQUcsQ0FBRSxLQUFlLEVBQUcsRUFBRTtJQUNqRCxNQUFNLE9BQU8sR0FBYSxLQUFLLENBQUMsTUFBTSxDQUNyQyxDQUFFLEdBQWEsRUFBRSxJQUFZLEVBQUcsRUFBRTtRQUNqQyxxQkFBYSxDQUFDLE9BQU8sQ0FBRSxhQUFhLENBQUMsRUFBRTtZQUN0QyxJQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsRUFBRyxDQUFDO2dCQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO1lBQ2xCLENBQUM7UUFDRixDQUFDLENBQUUsQ0FBQztRQUNKLE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUN6QyxDQUFDLENBQUM7QUFiVyxRQUFBLFlBQVksZ0JBYXZCO0FBRUssTUFBTSxRQUFRLEdBQUcsVUFFdkIsS0FBYSxFQUNiLGFBQXVCLEVBQ3ZCLFlBQTRCO0lBRzVCLElBQUssS0FBSyxDQUFDLGlCQUFpQixFQUFHLENBQUM7UUFDL0IsS0FBSyxDQUFDLGlCQUFpQixDQUN0QixJQUFJLEVBQ0osWUFBWSxJQUFJLGdCQUFRLENBQ3hCLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBRSxJQUFJLEtBQUssRUFBRSxDQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxLQUFnQixDQUFDLEtBQUssQ0FBRSxJQUFJLENBQUUsQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUM7SUFDN0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFBLG9CQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBRSxDQUFDO0lBRXhDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFFLEtBQUssQ0FBRSxDQUFDO0lBQzVCLElBQUssS0FBSyxDQUFDLE9BQU8sQ0FBRSxhQUFhLENBQUUsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFHLENBQUM7UUFDOUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsR0FBRyxhQUFhLENBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUM7SUFFeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBRW5CLENBQUMsQ0FBQztBQTNCVyxRQUFBLFFBQVEsWUEyQm5CO0FBRUYsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBRTlDLFlBQWMsT0FBTyxHQUFHLGtCQUFrQixFQUFFLGVBQXlCO1FBRXBFLEtBQUssQ0FBRSxPQUFPLENBQUUsQ0FBQztRQUNqQixNQUFNLFNBQVMsR0FBVyxJQUFJLENBQUMsS0FBZSxDQUFDO1FBQy9DLEdBQUcsQ0FDRixJQUFJLEVBQ0osV0FBVyxFQUNYO1lBQ0MsR0FBRztnQkFDRixPQUFPLFNBQVMsQ0FBQztZQUNsQixDQUFDO1NBQ0QsQ0FDRCxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBWSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUUsSUFBSSxDQUFFLENBQUUsQ0FBQztRQUV0RCxJQUFLLGVBQWUsRUFBRyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxPQUFPLENBQUUsR0FBRyxlQUFlLENBQUUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBRWpDLENBQUM7SUFFRCxNQUFNLEtBQUssQ0FBRSxxQkFBcUIsQ0FBRTtRQUNuQyxPQUFPLElBQUksTUFBTSxDQUFFLGFBQWEsU0FBUyxXQUFXLENBQUUsQ0FBQztJQUN4RCxDQUFDO0NBRUQ7QUE5QkQsb0RBOEJDO0FBRUQsTUFBTSxDQUFDLGNBQWMsQ0FDcEIsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFDMUMsTUFBTSxFQUNOO0lBQ0MsR0FBRztRQUNGLE9BQU8sSUFBSSxNQUFNLENBQUUsc0JBQXNCLENBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0QsQ0FDRCxDQUFDO0FBR0ssTUFBTSxjQUFjLEdBQUcsQ0FBRSxJQUFZLEVBQUUsT0FBZSxFQUFHLEVBQUU7SUFDakUsTUFBTSxxQkFBcUIsR0FBRyxLQUFNLFNBQVEsb0JBQW9CO1FBQy9ELFlBQWMsUUFBZ0IsRUFBRSxLQUFlO1lBQzlDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLE1BQU0sUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7WUFDcEUsS0FBSyxDQUNKLE1BQU0sRUFDTixLQUFLLENBQ0wsQ0FBQztRQUNILENBQUM7S0FDRCxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsRUFNZixDQUFDO0lBQ0YsT0FBTyxDQUFFLElBQUksQ0FBRSxHQUFHLHFCQUFxQixDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxjQUFjLENBQ3BCLE9BQU8sQ0FBRSxJQUFJLENBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUNyQyxNQUFNLEVBQ047UUFDQyxHQUFHO1lBQ0YsT0FBTyxJQUFJLE1BQU0sQ0FBRSxJQUFJLENBQUUsQ0FBQztRQUMzQixDQUFDO0tBQ0QsQ0FDRCxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUUsSUFBSSxDQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsY0FBYyxrQkE2QnpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YWNrQm91bmRhcnkgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0RXJyb3JNZXNzYWdlcyxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHsgQkFTRV9FUlJPUl9NRVNTQUdFIH0gPSBFcnJvck1lc3NhZ2VzO1xuXG5leHBvcnQgY29uc3Qgc3RhY2tDbGVhbmVyczogUmVnRXhwW10gPSBbXTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja2FibGVJbnN0YW5jZSB7XG5cdHN0YWNrPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBjbGVhbnVwU3RhY2sgPSAoIHN0YWNrOiBzdHJpbmdbXSApID0+IHtcblx0Y29uc3QgY2xlYW5lZDogc3RyaW5nW10gPSBzdGFjay5yZWR1Y2UoXG5cdFx0KCBhcnI6IHN0cmluZ1tdLCBsaW5lOiBzdHJpbmcgKSA9PiB7XG5cdFx0XHRzdGFja0NsZWFuZXJzLmZvckVhY2goIGNsZWFuZXJSZWdFeHAgPT4ge1xuXHRcdFx0XHRpZiAoICFjbGVhbmVyUmVnRXhwLnRlc3QoIGxpbmUgKSApIHtcblx0XHRcdFx0XHRhcnIucHVzaCggbGluZSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0XHRyZXR1cm4gYXJyO1xuXHRcdH0sXG5cdFx0W10gXG5cdCk7XG5cdHJldHVybiBjbGVhbmVkLmxlbmd0aCA/IGNsZWFuZWQgOiBzdGFjaztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFjayA9IGZ1bmN0aW9uIChcblx0dGhpczogU3RhY2thYmxlSW5zdGFuY2UsXG5cdHRpdGxlOiBzdHJpbmcsXG5cdHN0YWNrQWRkaXRpb246IHN0cmluZ1tdLFxuXHR0aWxsRnVuY3Rpb24/OiBTdGFja0JvdW5kYXJ5XG4pIHtcblxuXHRpZiAoIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlICkge1xuXHRcdEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKFxuXHRcdFx0dGhpcyxcblx0XHRcdHRpbGxGdW5jdGlvbiB8fCBnZXRTdGFja1xuXHRcdCk7XG5cdH0gZWxzZSB7XG5cdFx0dGhpcy5zdGFjayA9ICggbmV3IEVycm9yKCkgKS5zdGFjaztcblx0fVxuXG5cdHRoaXMuc3RhY2sgPSAodGhpcy5zdGFjayBhcyBzdHJpbmcpLnNwbGl0KCAnXFxuJyApLnNsaWNlKCAxICk7XG5cdHRoaXMuc3RhY2sgPSBjbGVhbnVwU3RhY2soIHRoaXMuc3RhY2sgKTtcblxuXHR0aGlzLnN0YWNrLnVuc2hpZnQoIHRpdGxlICk7XG5cdGlmICggQXJyYXkuaXNBcnJheSggc3RhY2tBZGRpdGlvbiApICYmIHN0YWNrQWRkaXRpb24ubGVuZ3RoICkge1xuXHRcdHRoaXMuc3RhY2sucHVzaCggLi4uc3RhY2tBZGRpdGlvbiApO1xuXHR9XG5cdHRoaXMuc3RhY2sucHVzaCggJ1xcbicgKTtcblxuXHRyZXR1cm4gdGhpcy5zdGFjaztcblxufTtcblxuZXhwb3J0IGNsYXNzIEJBU0VfTU5FTU9OSUNBX0VSUk9SIGV4dGVuZHMgRXJyb3Ige1xuXG5cdGNvbnN0cnVjdG9yICggbWVzc2FnZSA9IEJBU0VfRVJST1JfTUVTU0FHRSwgYWRkaXRpb25hbFN0YWNrOiBzdHJpbmdbXSApIHtcblxuXHRcdHN1cGVyKCBtZXNzYWdlICk7XG5cdFx0Y29uc3QgQmFzZVN0YWNrOiBzdHJpbmcgPSB0aGlzLnN0YWNrIGFzIHN0cmluZztcblx0XHRvZHAoXG5cdFx0XHR0aGlzLFxuXHRcdFx0J0Jhc2VTdGFjaycsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIEJhc2VTdGFjaztcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHQpO1xuXG5cdFx0Y29uc3Qgc3RhY2sgPSBjbGVhbnVwU3RhY2soIEJhc2VTdGFjay5zcGxpdCggJ1xcbicgKSApO1xuXG5cdFx0aWYgKCBhZGRpdGlvbmFsU3RhY2sgKSB7XG5cdFx0XHRzdGFjay51bnNoaWZ0KCAuLi5hZGRpdGlvbmFsU3RhY2sgKTtcblx0XHR9XG5cblx0XHR0aGlzLnN0YWNrID0gc3RhY2suam9pbiggJ1xcbicgKTtcblxuXHR9XG5cblx0c3RhdGljIGdldCBbIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBdICgpIHtcblx0XHRyZXR1cm4gbmV3IFN0cmluZyggYGJhc2Ugb2YgOiAke01ORU1PTklDQX0gOiBlcnJvcnNgICk7XG5cdH1cblxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoXG5cdEJBU0VfTU5FTU9OSUNBX0VSUk9SLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcixcblx0J25hbWUnLFxuXHR7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBuZXcgU3RyaW5nKCAnQkFTRV9NTkVNT05JQ0FfRVJST1InICk7XG5cdFx0fVxuXHR9IFxuKTtcblxuXG5leHBvcnQgY29uc3QgY29uc3RydWN0RXJyb3IgPSAoIG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBOYW1lZEVycm9yQ29uc3RydWN0b3IgPSBjbGFzcyBleHRlbmRzIEJBU0VfTU5FTU9OSUNBX0VSUk9SIHtcblx0XHRjb25zdHJ1Y3RvciAoIGFkZGl0aW9uOiBzdHJpbmcsIHN0YWNrOiBzdHJpbmdbXSApIHtcblx0XHRcdGNvbnN0IHNheWluZyA9IGFkZGl0aW9uID8gYCR7bWVzc2FnZX0gOiAke2FkZGl0aW9ufWAgOiBgJHttZXNzYWdlfWA7XG5cdFx0XHRzdXBlcihcblx0XHRcdFx0c2F5aW5nLFxuXHRcdFx0XHRzdGFjayBcblx0XHRcdCk7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IHJlTmFtZXIgPSB7fSBhcyB7XG5cdFx0WyBrZXk6IHN0cmluZyBdOiB7XG5cdFx0XHRwcm90b3R5cGU6IHtcblx0XHRcdFx0Y29uc3RydWN0b3I6IENhbGxhYmxlRnVuY3Rpb25cblx0XHRcdH1cblx0XHR9LFxuXHR9O1xuXHRyZU5hbWVyWyBuYW1lIF0gPSBOYW1lZEVycm9yQ29uc3RydWN0b3I7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRyZU5hbWVyWyBuYW1lIF0ucHJvdG90eXBlLmNvbnN0cnVjdG9yLFxuXHRcdCduYW1lJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gbmV3IFN0cmluZyggbmFtZSApO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cdHJldHVybiByZU5hbWVyWyBuYW1lIF07XG59O1xuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUliLCtDQUE0QztBQUU1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsYUFBYSxHQUNiLEdBQUcscUJBQVMsQ0FBQztBQUVkLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztBQUVoQyxRQUFBLGFBQWEsR0FBYSxFQUFFLENBQUM7QUFNbkMsTUFBTSxZQUFZLEdBQUcsQ0FBRSxLQUFlLEVBQUcsRUFBRTtJQUNqRCxNQUFNLE9BQU8sR0FBYSxLQUFLLENBQUMsTUFBTSxDQUNyQyxDQUFFLEdBQWEsRUFBRSxJQUFZLEVBQUcsRUFBRTtRQUNqQyxxQkFBYSxDQUFDLE9BQU8sQ0FBRSxhQUFhLENBQUMsRUFBRTtZQUN0QyxJQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsRUFBRyxDQUFDO2dCQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO1lBQ2xCLENBQUM7UUFDRixDQUFDLENBQUUsQ0FBQztRQUNKLE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDLENBQUM7QUFkVyxRQUFBLFlBQVksZ0JBY3ZCO0FBRUssTUFBTSxRQUFRLEdBQUcsVUFFdkIsS0FBYSxFQUNiLGFBQXVCLEVBQ3ZCLFlBQTRCO0lBRzVCLElBQUssS0FBSyxDQUFDLGlCQUFpQixFQUFHLENBQUM7UUFDL0IsS0FBSyxDQUFDLGlCQUFpQixDQUN0QixJQUFJLEVBQ0osWUFB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LEVBQ047UUFDQyxHQUFHO1lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUUsSUFBSSxDQUFFLENBQUM7WUFDbEMsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO0tBQ0QsQ0FDRCxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUUsSUFBSSxDQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBOUJXLFFBQUEsY0FBYyxrQkE4QnpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YWNrQm91bmRhcnkgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0RXJyb3JNZXNzYWdlcyxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHsgQkFTRV9FUlJPUl9NRVNTQUdFIH0gPSBFcnJvck1lc3NhZ2VzO1xuXG5leHBvcnQgY29uc3Qgc3RhY2tDbGVhbmVyczogUmVnRXhwW10gPSBbXTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja2FibGVJbnN0YW5jZSB7XG5cdHN0YWNrPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBjbGVhbnVwU3RhY2sgPSAoIHN0YWNrOiBzdHJpbmdbXSApID0+IHtcblx0Y29uc3QgY2xlYW5lZDogc3RyaW5nW10gPSBzdGFjay5yZWR1Y2UoXG5cdFx0KCBhcnI6IHN0cmluZ1tdLCBsaW5lOiBzdHJpbmcgKSA9PiB7XG5cdFx0XHRzdGFja0NsZWFuZXJzLmZvckVhY2goIGNsZWFuZXJSZWdFeHAgPT4ge1xuXHRcdFx0XHRpZiAoICFjbGVhbmVyUmVnRXhwLnRlc3QoIGxpbmUgKSApIHtcblx0XHRcdFx0XHRhcnIucHVzaCggbGluZSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0XHRyZXR1cm4gYXJyO1xuXHRcdH0sXG5cdFx0W10gXG5cdCk7XG5cdGNvbnN0IHJlc3VsdCA9IGNsZWFuZWQubGVuZ3RoID8gY2xlYW5lZCA6IHN0YWNrO1xuXHRyZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN0YWNrID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBTdGFja2FibGVJbnN0YW5jZSxcblx0dGl0bGU6IHN0cmluZyxcblx0c3RhY2tBZGRpdGlvbjogc3RyaW5nW10sXG5cdHRpbGxGdW5jdGlvbj86IFN0YWNrQm91bmRhcnlcbikge1xuXG5cdGlmICggRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UgKSB7XG5cdFx0RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoXG5cdFx0XHR0aGlzLFxuXHRcdFx0dGlsbEZ1bmN0aW9uIHx8IGdldFN0YWNrXG5cdFx0KTtcblx0fSBlbHNlIHtcblx0XHR0aGlzLnN0YWNrID0gKCBuZXcgRXJyb3IoKSApLnN0YWNrO1xuXHR9XG5cblx0dGhpcy5zdGFjayA9ICh0aGlzLnN0YWNrIGFzIHN0cmluZykuc3BsaXQoICdcXG4nICkuc2xpY2UoIDEgKTtcblx0dGhpcy5zdGFjayA9IGNsZWFudXBTdGFjayggdGhpcy5zdGFjayApO1xuXG5cdHRoaXMuc3RhY2sudW5zaGlmdCggdGl0bGUgKTtcblx0aWYgKCBBcnJheS5pc0FycmF5KCBzdGFja0FkZGl0aW9uICkgJiYgc3RhY2tBZGRpdGlvbi5sZW5ndGggKSB7XG5cdFx0dGhpcy5zdGFjay5wdXNoKCAuLi5zdGFja0FkZGl0aW9uICk7XG5cdH1cblx0dGhpcy5zdGFjay5wdXNoKCAnXFxuJyApO1xuXG5cdHJldHVybiB0aGlzLnN0YWNrO1xuXG59O1xuXG5leHBvcnQgY2xhc3MgQkFTRV9NTkVNT05JQ0FfRVJST1IgZXh0ZW5kcyBFcnJvciB7XG5cblx0Y29uc3RydWN0b3IgKCBtZXNzYWdlID0gQkFTRV9FUlJPUl9NRVNTQUdFLCBhZGRpdGlvbmFsU3RhY2s6IHN0cmluZ1tdICkge1xuXG5cdFx0c3VwZXIoIG1lc3NhZ2UgKTtcblx0XHRjb25zdCBCYXNlU3RhY2s6IHN0cmluZyA9IHRoaXMuc3RhY2sgYXMgc3RyaW5nO1xuXHRcdG9kcChcblx0XHRcdHRoaXMsXG5cdFx0XHQnQmFzZVN0YWNrJyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gQmFzZVN0YWNrO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRjb25zdCBzdGFjayA9IGNsZWFudXBTdGFjayggQmFzZVN0YWNrLnNwbGl0KCAnXFxuJyApICk7XG5cblx0XHRpZiAoIGFkZGl0aW9uYWxTdGFjayApIHtcblx0XHRcdHN0YWNrLnVuc2hpZnQoIC4uLmFkZGl0aW9uYWxTdGFjayApO1xuXHRcdH1cblxuXHRcdHRoaXMuc3RhY2sgPSBzdGFjay5qb2luKCAnXFxuJyApO1xuXG5cdH1cblxuXHRzdGF0aWMgZ2V0IFsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKCkge1xuXHRcdGNvbnN0IHJlc3VsdCA9IG5ldyBTdHJpbmcoIGBiYXNlIG9mIDogJHtNTkVNT05JQ0F9IDogZXJyb3JzYCApO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoXG5cdEJBU0VfTU5FTU9OSUNBX0VSUk9SLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcixcblx0J25hbWUnLFxuXHR7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IG5ldyBTdHJpbmcoICdCQVNFX01ORU1PTklDQV9FUlJPUicgKTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHR9IFxuKTtcblxuXG5leHBvcnQgY29uc3QgY29uc3RydWN0RXJyb3IgPSAoIG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBOYW1lZEVycm9yQ29uc3RydWN0b3IgPSBjbGFzcyBleHRlbmRzIEJBU0VfTU5FTU9OSUNBX0VSUk9SIHtcblx0XHRjb25zdHJ1Y3RvciAoIGFkZGl0aW9uOiBzdHJpbmcsIHN0YWNrOiBzdHJpbmdbXSApIHtcblx0XHRcdGNvbnN0IHNheWluZyA9IGFkZGl0aW9uID8gYCR7bWVzc2FnZX0gOiAke2FkZGl0aW9ufWAgOiBgJHttZXNzYWdlfWA7XG5cdFx0XHRzdXBlcihcblx0XHRcdFx0c2F5aW5nLFxuXHRcdFx0XHRzdGFjayBcblx0XHRcdCk7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IHJlTmFtZXIgPSB7fSBhcyB7XG5cdFx0WyBrZXk6IHN0cmluZyBdOiB7XG5cdFx0XHRwcm90b3R5cGU6IHtcblx0XHRcdFx0Y29uc3RydWN0b3I6IENhbGxhYmxlRnVuY3Rpb25cblx0XHRcdH1cblx0XHR9LFxuXHR9O1xuXHRyZU5hbWVyWyBuYW1lIF0gPSBOYW1lZEVycm9yQ29uc3RydWN0b3I7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRyZU5hbWVyWyBuYW1lIF0ucHJvdG90eXBlLmNvbnN0cnVjdG9yLFxuXHRcdCduYW1lJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBuZXcgU3RyaW5nKCBuYW1lICk7XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblx0cmV0dXJuIHJlTmFtZXJbIG5hbWUgXTtcbn07XG4iXX0=
@@ -1,4 +1,7 @@
1
1
  'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.throwModificationError = void 0;
4
7
  const constants_1 = require("../../constants");
@@ -6,10 +9,11 @@ const { odp, MNEMONICA, } = constants_1.constants;
6
9
  const errors_1 = require("../../descriptors/errors");
7
10
  const { BASE_MNEMONICA_ERROR } = errors_1.ErrorsTypes;
8
11
  const _1 = require("./");
9
- const utils_1 = require("../utils");
12
+ const utils_1 = __importDefault(require("../utils"));
10
13
  const { makeErrorModificatorType } = utils_1.default;
11
- const utils_2 = require("../../utils");
12
- const { parse, parent, extract } = utils_2.utils;
14
+ const parse_1 = require("../../utils/parse");
15
+ const parent_1 = require("../../utils/parent");
16
+ const extract_1 = require("../../utils/extract");
13
17
  const InstanceModificator_1 = require("../types/InstanceModificator");
14
18
  const throwModificationError = function (error) {
15
19
  const self = this;
@@ -109,23 +113,25 @@ const throwModificationError = function (error) {
109
113
  });
110
114
  odp(erroredInstance, 'extract', {
111
115
  get() {
112
- return () => {
113
- const _parent = parent(erroredInstance);
114
- const extractResult = extract(_parent);
116
+ const extractGetter = () => {
117
+ const _parent = (0, parent_1.parent)(erroredInstance);
118
+ const extractResult = (0, extract_1.extract)(_parent);
115
119
  return extractResult;
116
120
  };
121
+ return extractGetter;
117
122
  }
118
123
  });
119
124
  odp(erroredInstance, 'parse', {
120
125
  get() {
121
- return () => {
122
- const parseResult = parse(erroredInstance);
126
+ const parseGetter = () => {
127
+ const parseResult = (0, parse_1.parse)(erroredInstance);
123
128
  return parseResult;
124
129
  };
130
+ return parseGetter;
125
131
  }
126
132
  });
127
133
  }
128
134
  throw erroredInstance;
129
135
  };
130
136
  exports.throwModificationError = throwModificationError;
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dNb2RpZmljYXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXJyb3JzL3Rocm93TW9kaWZpY2F0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFNYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QscURBQXVEO0FBQ3ZELE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLG9CQUFXLENBQUM7QUFFN0MseUJBRVk7QUFFWixvQ0FBa0M7QUFDbEMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsZUFBVSxDQUFDO0FBRWhELHVDQUFvQztBQUNwQyxNQUFNLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsR0FBRyxhQUFLLENBQUM7QUFFVixzRUFBdUU7QUFFaEUsTUFBTSxzQkFBc0IsR0FBRyxVQUF5QyxLQUFxQjtJQUluRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQzFCLElBQUksRUFDSixHQUFHLElBRUgsQ0FBQztJQU1GLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO0lBRXZELElBQUssS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUcsQ0FBQztRQUUxQyxLQUFLLENBQUMsT0FBbUIsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBRSxDQUFDO1FBQ3hELEtBQUssQ0FBQyxPQUFtQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUV6QyxNQUFNLEtBQUssQ0FBQztJQUViLENBQUM7SUFFRCxHQUFHLENBQ0YsS0FBSyxFQUNMLGlCQUFpQixFQUNqQjtRQUNDLEdBQUc7WUFDRixPQUFPLGVB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RUYsR0FBRyxDQUNGLGVBQWUsRUFDZixPQUFPLEVBQ1A7WUFDQyxHQUFHO2dCQUNGLE9BQU8sR0FBRyxFQUFFO29CQUNYLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBRSxlQUFlLENBQUUsQ0FBQztvQkFDN0MsT0FBTyxXQUFXLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQztZQUNILENBQUM7U0FDRCxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxlQUFlLENBQUM7QUFFdkIsQ0FBQyxDQUFDO0FBL09XLFFBQUEsc0JBQXNCLDBCQStPakMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0TW5lbW9uaWNhRXJyb3IsIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRNTkVNT05JQ0EsXG59ID0gY29uc3RhbnRzO1xuXG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgQkFTRV9NTkVNT05JQ0FfRVJST1IgfSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmNvbnN0IHtcblx0cGFyc2UsXG5cdHBhcmVudCxcblx0ZXh0cmFjdFxufSA9IHV0aWxzO1xuXG5pbXBvcnQgeyBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciB9IGZyb20gJy4uL3R5cGVzL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5leHBvcnQgY29uc3QgdGhyb3dNb2RpZmljYXRpb25FcnJvciA9IGZ1bmN0aW9uICggdGhpczogSW5zdGFuY2VDcmVhdG9yQ29udGV4dCwgZXJyb3I6IE1uZW1vbmljYUVycm9yICkge1xuXG5cdC8vIEluc3RhbmNlQ3JlYXRvclxuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGNvbnN0IHtcblx0XHRUeXBlTmFtZSxcblx0XHR0eXBlOiB7IHN0YWNrOiB0eXBlU3RhY2sgfSxcblx0XHRhcmdzXG5cdH0gPSBzZWxmIGFzIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgJiB7XG5cdFx0dHlwZTogeyBzdGFjazogc3RyaW5nW10gfVxuXHR9O1xuXG5cdC8vIGlmICggZXJyb3JbIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBdICkge1xuXHQvLyBcdGRlYnVnZ2VyO1xuXHQvLyB9XG5cblx0Y29uc3QgZXhjZXB0aW9uUmVhc29uID0gZXJyb3IuZXhjZXB0aW9uUmVhc29uIHx8IGVycm9yO1xuXG5cdGlmICggZXJyb3IuZXhjZXB0aW9uUmVhc29uICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHQoZXJyb3IucmVhc29ucyBhcyBFcnJvcltdKS5wdXNoKCBlcnJvci5leGNlcHRpb25SZWFzb24gKTtcblx0XHQoZXJyb3Iuc3VycGx1cyBhcyBFcnJvcltdKS5wdXNoKCBlcnJvciApO1xuXG5cdFx0dGhyb3cgZXJyb3I7XG5cblx0fVxuXG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQnZXhjZXB0aW9uUmVhc29uJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gZXhjZXB0aW9uUmVhc29uO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblxuXHRjb25zdCByZWFzb25zOiBFcnJvcltdID0gWyBleGNlcHRpb25SZWFzb24gXTtcblxuXHRvZHAoXG5cdFx0ZXJyb3IsXG5cdFx0J3JlYXNvbnMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiByZWFzb25zO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblx0Y29uc3Qgc3VycGx1czogRXJyb3JbXSA9IFtdO1xuXHRvZHAoXG5cdFx0ZXJyb3IsXG5cdFx0J3N1cnBsdXMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBzdXJwbHVzO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblxuXHRzZWxmLk1vZGlmaWNhdG9yVHlwZSA9IG1ha2VFcnJvck1vZGlmaWNhdG9yVHlwZSggVHlwZU5hbWUgKTtcblxuXHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdC8vIGxldCBlcnJvcmVkSW5zdGFuY2UgPSBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCk7XG5cdGNvbnN0IGVycm9yZWRJbnN0YW5jZSA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblxuXHRsZXQgZXJyb3JQcm90bzogb2JqZWN0IHwgbnVsbCA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoIGVycm9yZWRJbnN0YW5jZSApO1xuXHRsZXQgaXNNbmVtb25pY2FJbnN0YW5jZSA9IGZhbHNlO1xuXHR3aGlsZSAoIGVycm9yUHJvdG8gKSB7XG5cdFx0Y29uc3QgdGVzdFRvUHJvdG8gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKCBlcnJvclByb3RvICk7XG5cdFx0aWYgKHRlc3RUb1Byb3RvID09PSBudWxsKSB7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cdFx0Ly8gaWYgKHRlc3RUb1Byb3RvID09PSBPYmplY3QucHJvdG90eXBlKSB7XG5cdFx0Ly8gXHRicmVhaztcblx0XHQvLyB9XG5cdFx0aWYgKFxuXHRcdFx0dGVzdFRvUHJvdG8gIT09IG51bGwgJiZcblx0XHRcdE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuXHRcdFx0XHR0ZXN0VG9Qcm90byxcblx0XHRcdFx0J2NvbnN0cnVjdG9yJ1xuXHRcdFx0KSAmJlxuXHRcdFx0dGVzdFRvUHJvdG8uY29uc3RydWN0b3IubmFtZSA9PT0gTU5FTU9OSUNBXG5cdFx0KSB7XG5cdFx0XHRpc01uZW1vbmljYUluc3RhbmNlID0gdHJ1ZTtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRlcnJvclByb3RvID0gdGVzdFRvUHJvdG87XG5cdH1cblxuXHQvLyBSZWZsZWN0LnNldFByb3RvdHlwZU9mKCBlcnJvclByb3RvLCBlcnJvcik7XG5cdGNvbnN0IHJlc3VsdCA9IFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoXG4gZXJyb3JQcm90byBhcyBvYmplY3QsXG4gZXJyb3Jcblx0KTtcblx0Ly8gbGV0IHJlc3VsdCA9IFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8sIGVycm9yKTtcblx0Ly8gaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcblx0Ly8gXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoZXJyb3JQcm90bywgZXJyb3IpO1xuXHQvLyBcdC8vIHVucmVhY2hhYmxlXG5cdC8vIFx0cmVzdWx0ID0gdHJ1ZTtcblx0Ly8gfVxuXHQvLyBjb25zb2xlLmxvZyhyZXN1bHQpO1xuXG5cdGNvbnN0IHN0YWNrOiBzdHJpbmdbXSA9IFtdO1xuXG5cdGlmICggZXJyb3IgaW5zdGFuY2VvZiBCQVNFX01ORU1PTklDQV9FUlJPUiApIHtcblxuXHRcdHN0YWNrLnB1c2goIGVycm9yLnN0YWNrIGFzIHN0cmluZyApO1xuXG5cdH0gZWxzZSB7XG5cblx0XHRjb25zdCB0aXRsZSA9IGBcXG48LS0gY3JlYXRpb24gb2YgWyAke1R5cGVOYW1lfSBdIHRyYWNlZCAtLT5gO1xuXG5cdFx0Z2V0U3RhY2suY2FsbChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdHRpdGxlLFxuXHRcdFx0W10sXG5cdFx0XHR0aHJvd01vZGlmaWNhdGlvbkVycm9yIFxuXHRcdCk7XG5cblx0XHRzdGFjay5wdXNoKCAuLi4oZXJyb3JlZEluc3RhbmNlIGFzIHsgc3RhY2s6IHN0cmluZ1tdIH0pLnN0YWNrICk7XG5cblx0XHRjb25zdCBlcnJvclN0YWNrID0gKGVycm9yLnN0YWNrIGFzIHN0cmluZyApLnNwbGl0KCAnXFxuJyApO1xuXG5cdFx0c3RhY2sucHVzaCggJzwtLSB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3IgLS0+JyApO1xuXG5cdFx0ZXJyb3JTdGFjay5mb3JFYWNoKCAoIGxpbmU6IHN0cmluZyApID0+IHtcblx0XHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRcdHN0YWNrLnB1c2goIGxpbmUgKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cblx0XHRzdGFjay5wdXNoKCAnXFxuPC0tIG9mIGNvbnN0cnVjdG9yIGRlZmluaXRpb25zIHN0YWNrIC0tPicgKTtcblx0XHRzdGFjay5wdXNoKCAuLi50eXBlU3RhY2sgKTtcblxuXHR9XG5cblx0Y29uc3QgZXJyb3JlZEluc3RhbmNlU3RhY2sgPSBjbGVhbnVwU3RhY2soIHN0YWNrICkuam9pbiggJ1xcbicgKTtcblxuXHQvLyBzdGFydGluZyBmcm9tIE5vZGUuanMgdjIyIHdlIHNob3VsZCBkZWZpbmUgdGhpcyBwcm9wZXJ0eSB0aHJvdWdoIG9kcFxuXHQvLyB0aGF0IHdhcyB1bm5lY2Vzc2FyeSBmb3IgdjIwLCB0aG91Z2ggc2VlbXMgbmV3IHY4IG9wdGltaXplZCBjb21waWxlclxuXHQvLyBpcyBnYXRoZXJpbmcgdmFsdWUgZnJvbSBkZWVwIGNoYWluIGFuZCB3aGlsZSBjb21wYXJpbmcgaXQgd2l0aCBcblx0Ly8gYXNzaWdubWVudCBvcGVyYXRvciwgdGhlbiBpdCB3aWxsIG5vdCBjcmVhdGUgdGhpcyBwcm9wZXJ0eSBcblx0Ly8gc28gd2UgbmVlZCBkaXJlY3QgcHJvcGVydHkgZGVjbGFyYXRpb24gaGVyZSAuLi5cblx0b2RwKFxuXHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2VTdGFjaztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBlcnJvcmVkSW5zdGFuY2U7XG5cblx0aWYgKHJlc3VsdCkge1xuXHRcdGlmIChpc01uZW1vbmljYUluc3RhbmNlKSB7XG5cblx0XHRcdC8vIGlmIGhvb2tzIGhhZCBzb21lIGludGVyY2VwdGlvbjogc3RhcnRcblx0XHRcdGNvbnN0IHJlc3VsdHMgPSBzZWxmLmludm9rZVBvc3RIb29rcygpO1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHR0eXBlLFxuXHRcdFx0XHRjb2xsZWN0aW9uLFxuXHRcdFx0fSA9IHJlc3VsdHM7XG5cdFx0XHRpZiAoIHR5cGUuaGFzKCB0cnVlICkgfHwgY29sbGVjdGlvbi5oYXMoIHRydWUgKSApIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIH1cblxuXHRcdC8vIGlmIGhvb2tzIGhhZCBzb21lIGludGVyY2VwdGlvbjogc3RvcFxuXG5cdFx0b2RwKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0J2FyZ3MnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBhcmdzO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnb3JpZ2luYWxFcnJvcicsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnaW5zdGFuY2UnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2U7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdleHRyYWN0Jyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgX3BhcmVudCA9IHBhcmVudChlcnJvcmVkSW5zdGFuY2UpO1xuXHRcdFx0XHRcdFx0Y29uc3QgZXh0cmFjdFJlc3VsdCA9IGV4dHJhY3QoX3BhcmVudCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZXh0cmFjdFJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQncGFyc2UnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJzZVJlc3VsdCA9IHBhcnNlKCBlcnJvcmVkSW5zdGFuY2UgKTtcblx0XHRcdFx0XHRcdHJldHVybiBwYXJzZVJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cdH1cblxuXHR0aHJvdyBlcnJvcmVkSW5zdGFuY2U7XG5cbn07XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dNb2RpZmljYXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXJyb3JzL3Rocm93TW9kaWZpY2F0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7QUFNYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QscURBQXVEO0FBQ3ZELE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLG9CQUFXLENBQUM7QUFFN0MseUJBRVk7QUFFWixxREFBa0M7QUFDbEMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsZUFBVSxDQUFDO0FBRWhELDZDQUEwQztBQUMxQywrQ0FBNEM7QUFDNUMsaURBQThDO0FBRTlDLHNFQUF1RTtBQUVoRSxNQUFNLHNCQUFzQixHQUFHLFVBQXlDLEtBQXFCO0lBSW5HLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztJQUVsQixNQUFNLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFDMUIsSUFBSSxFQUNKLEdBQUcsSUFFSCxDQUFDO0lBTUYsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7SUFFdkQsSUFBSyxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRyxDQUFDO1FBRTFDLEtBQUssQ0FBQyxPQUFtQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUMsZUFBZSxDQUFFLENBQUM7UUFDeEQsS0FBSyxDQUFDLE9BQW1CLENBQUMsSUFBSSxDQUFFLEtBQUssQ0FBRSxDQUFDO1FBRXpDLE1BQU0sS0FBSyxDQUFDO0lBRWIsQ0FBQztJQUVELEdBQUcsQ0FDRixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCO1FBQ0MsR0FBRztZQUNGLE9BQU8sZUFBZSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxVQUFVLEVB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LENBQ0QsQ0FBQztRQUVGLEdBQUcsQ0FDRixlQUFlLEVBQ2YsT0FBTyxFQUNQO1lBQ0MsR0FBRztnQkFDRixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7b0JBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUEsYUFBSyxFQUFFLGVBQWUsQ0FBRSxDQUFDO29CQUM3QyxPQUFPLFdBQVcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sV0FBVyxDQUFDO1lBQ3BCLENBQUM7U0FDRCxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxlQUFlLENBQUM7QUFFdkIsQ0FBQyxDQUFDO0FBblBXLFFBQUEsc0JBQXNCLDBCQW1QakMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0TW5lbW9uaWNhRXJyb3IsIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRNTkVNT05JQ0EsXG59ID0gY29uc3RhbnRzO1xuXG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgQkFTRV9NTkVNT05JQ0FfRVJST1IgfSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BhcnNlJztcbmltcG9ydCB7IHBhcmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BhcmVudCc7XG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZXh0cmFjdCc7XG5cbmltcG9ydCB7IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yIH0gZnJvbSAnLi4vdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvcic7XG5cbmV4cG9ydCBjb25zdCB0aHJvd01vZGlmaWNhdGlvbkVycm9yID0gZnVuY3Rpb24gKCB0aGlzOiBJbnN0YW5jZUNyZWF0b3JDb250ZXh0LCBlcnJvcjogTW5lbW9uaWNhRXJyb3IgKSB7XG5cblx0Ly8gSW5zdGFuY2VDcmVhdG9yXG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0Y29uc3Qge1xuXHRcdFR5cGVOYW1lLFxuXHRcdHR5cGU6IHsgc3RhY2s6IHR5cGVTdGFjayB9LFxuXHRcdGFyZ3Ncblx0fSA9IHNlbGYgYXMgSW5zdGFuY2VDcmVhdG9yQ29udGV4dCAmIHtcblx0XHR0eXBlOiB7IHN0YWNrOiBzdHJpbmdbXSB9XG5cdH07XG5cblx0Ly8gaWYgKCBlcnJvclsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKSB7XG5cdC8vIFx0ZGVidWdnZXI7XG5cdC8vIH1cblxuXHRjb25zdCBleGNlcHRpb25SZWFzb24gPSBlcnJvci5leGNlcHRpb25SZWFzb24gfHwgZXJyb3I7XG5cblx0aWYgKCBlcnJvci5leGNlcHRpb25SZWFzb24gIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdChlcnJvci5yZWFzb25zIGFzIEVycm9yW10pLnB1c2goIGVycm9yLmV4Y2VwdGlvblJlYXNvbiApO1xuXHRcdChlcnJvci5zdXJwbHVzIGFzIEVycm9yW10pLnB1c2goIGVycm9yICk7XG5cblx0XHR0aHJvdyBlcnJvcjtcblxuXHR9XG5cblx0b2RwKFxuXHRcdGVycm9yLFxuXHRcdCdleGNlcHRpb25SZWFzb24nLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25SZWFzb247XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXG5cdGNvbnN0IHJlYXNvbnM6IEVycm9yW10gPSBbIGV4Y2VwdGlvblJlYXNvbiBdO1xuXG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQncmVhc29ucycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHJlYXNvbnM7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXHRjb25zdCBzdXJwbHVzOiBFcnJvcltdID0gW107XG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQnc3VycGx1cycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN1cnBsdXM7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXG5cdHNlbGYuTW9kaWZpY2F0b3JUeXBlID0gbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlKCBUeXBlTmFtZSApO1xuXG5cdHNlbGYuSW5zdGFuY2VNb2RpZmljYXRvciA9IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yKCBzZWxmICk7XG5cblx0Ly8gbGV0IGVycm9yZWRJbnN0YW5jZSA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblx0Y29uc3QgZXJyb3JlZEluc3RhbmNlID0gbmV3IHNlbGYuSW5zdGFuY2VNb2RpZmljYXRvcigpO1xuXG5cdGxldCBlcnJvclByb3RvOiBvYmplY3QgfCBudWxsID0gUmVmbGVjdC5nZXRQcm90b3R5cGVPZiggZXJyb3JlZEluc3RhbmNlICk7XG5cdGxldCBpc01uZW1vbmljYUluc3RhbmNlID0gZmFsc2U7XG5cdHdoaWxlICggZXJyb3JQcm90byApIHtcblx0XHRjb25zdCB0ZXN0VG9Qcm90byA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8gKTtcblx0XHRpZiAodGVzdFRvUHJvdG8gPT09IG51bGwpIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHQvLyBpZiAodGVzdFRvUHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUpIHtcblx0XHQvLyBcdGJyZWFrO1xuXHRcdC8vIH1cblx0XHRpZiAoXG5cdFx0XHR0ZXN0VG9Qcm90byAhPT0gbnVsbCAmJlxuXHRcdFx0T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoXG5cdFx0XHRcdHRlc3RUb1Byb3RvLFxuXHRcdFx0XHQnY29uc3RydWN0b3InXG5cdFx0XHQpICYmXG5cdFx0XHR0ZXN0VG9Qcm90by5jb25zdHJ1Y3Rvci5uYW1lID09PSBNTkVNT05JQ0Fcblx0XHQpIHtcblx0XHRcdGlzTW5lbW9uaWNhSW5zdGFuY2UgPSB0cnVlO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGVycm9yUHJvdG8gPSB0ZXN0VG9Qcm90bztcblx0fVxuXG5cdC8vIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8sIGVycm9yKTtcblx0Y29uc3QgcmVzdWx0ID0gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihcbiBlcnJvclByb3RvIGFzIG9iamVjdCxcbiBlcnJvclxuXHQpO1xuXHQvLyBsZXQgcmVzdWx0ID0gUmVmbGVjdC5zZXRQcm90b3R5cGVPZiggZXJyb3JQcm90bywgZXJyb3IpO1xuXHQvLyBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuXHQvLyBcdE9iamVjdC5zZXRQcm90b3R5cGVPZihlcnJvclByb3RvLCBlcnJvcik7XG5cdC8vIFx0Ly8gdW5yZWFjaGFibGVcblx0Ly8gXHRyZXN1bHQgPSB0cnVlO1xuXHQvLyB9XG5cdC8vIGNvbnNvbGUubG9nKHJlc3VsdCk7XG5cblx0Y29uc3Qgc3RhY2s6IHN0cmluZ1tdID0gW107XG5cblx0aWYgKCBlcnJvciBpbnN0YW5jZW9mIEJBU0VfTU5FTU9OSUNBX0VSUk9SICkge1xuXG5cdFx0c3RhY2sucHVzaCggZXJyb3Iuc3RhY2sgYXMgc3RyaW5nICk7XG5cblx0fSBlbHNlIHtcblxuXHRcdGNvbnN0IHRpdGxlID0gYFxcbjwtLSBjcmVhdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gdHJhY2VkIC0tPmA7XG5cblx0XHRnZXRTdGFjay5jYWxsKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0dGl0bGUsXG5cdFx0XHRbXSxcblx0XHRcdHRocm93TW9kaWZpY2F0aW9uRXJyb3IgXG5cdFx0KTtcblxuXHRcdHN0YWNrLnB1c2goIC4uLihlcnJvcmVkSW5zdGFuY2UgYXMgeyBzdGFjazogc3RyaW5nW10gfSkuc3RhY2sgKTtcblxuXHRcdGNvbnN0IGVycm9yU3RhY2sgPSAoZXJyb3Iuc3RhY2sgYXMgc3RyaW5nICkuc3BsaXQoICdcXG4nICk7XG5cblx0XHRzdGFjay5wdXNoKCAnPC0tIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvciAtLT4nICk7XG5cblx0XHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdFx0aWYgKCAhc3RhY2suaW5jbHVkZXMoIGxpbmUgKSApIHtcblx0XHRcdFx0c3RhY2sucHVzaCggbGluZSApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHRcdHN0YWNrLnB1c2goICdcXG48LS0gb2YgY29uc3RydWN0b3IgZGVmaW5pdGlvbnMgc3RhY2sgLS0+JyApO1xuXHRcdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdH1cblxuXHRjb25zdCBlcnJvcmVkSW5zdGFuY2VTdGFjayA9IGNsZWFudXBTdGFjayggc3RhY2sgKS5qb2luKCAnXFxuJyApO1xuXG5cdC8vIHN0YXJ0aW5nIGZyb20gTm9kZS5qcyB2MjIgd2Ugc2hvdWxkIGRlZmluZSB0aGlzIHByb3BlcnR5IHRocm91Z2ggb2RwXG5cdC8vIHRoYXQgd2FzIHVubmVjZXNzYXJ5IGZvciB2MjAsIHRob3VnaCBzZWVtcyBuZXcgdjggb3B0aW1pemVkIGNvbXBpbGVyXG5cdC8vIGlzIGdhdGhlcmluZyB2YWx1ZSBmcm9tIGRlZXAgY2hhaW4gYW5kIHdoaWxlIGNvbXBhcmluZyBpdCB3aXRoIFxuXHQvLyBhc3NpZ25tZW50IG9wZXJhdG9yLCB0aGVuIGl0IHdpbGwgbm90IGNyZWF0ZSB0aGlzIHByb3BlcnR5IFxuXHQvLyBzbyB3ZSBuZWVkIGRpcmVjdCBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBoZXJlIC4uLlxuXHRvZHAoXG5cdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdCdzdGFjaycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGVycm9yZWRJbnN0YW5jZVN0YWNrO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGVycm9yZWRJbnN0YW5jZTtcblxuXHRpZiAocmVzdWx0KSB7XG5cdFx0aWYgKGlzTW5lbW9uaWNhSW5zdGFuY2UpIHtcblxuXHRcdFx0Ly8gaWYgaG9va3MgaGFkIHNvbWUgaW50ZXJjZXB0aW9uOiBzdGFydFxuXHRcdFx0Y29uc3QgcmVzdWx0cyA9IHNlbGYuaW52b2tlUG9zdEhvb2tzKCk7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHR5cGUsXG5cdFx0XHRcdGNvbGxlY3Rpb24sXG5cdFx0XHR9ID0gcmVzdWx0cztcblx0XHRcdGlmICggdHlwZS5oYXMoIHRydWUgKSB8fCBjb2xsZWN0aW9uLmhhcyggdHJ1ZSApICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gfVxuXG5cdFx0Ly8gaWYgaG9va3MgaGFkIHNvbWUgaW50ZXJjZXB0aW9uOiBzdG9wXG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnYXJncycsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGFyZ3M7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdvcmlnaW5hbEVycm9yJyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gZXJyb3I7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdpbnN0YW5jZScsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycm9yZWRJbnN0YW5jZTtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHQpO1xuXG5cdFx0b2RwKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0J2V4dHJhY3QnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdGNvbnN0IGV4dHJhY3RHZXR0ZXIgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHQvLyBtbmVtb25pY2EgaW5zdGFuY2VzIGFsd2F5cyBoYXZlIGEgcGFyZW50IG9iamVjdCxcblx0XHRcdFx0XHRcdC8vIHNvIHRoZSBydW50aW1lIHZhbHVlIGlzIGd1YXJhbnRlZWQgdG8gYmUgb2JqZWN0IGhlcmVcblx0XHRcdFx0XHRcdGNvbnN0IF9wYXJlbnQgPSBwYXJlbnQoZXJyb3JlZEluc3RhbmNlKSBhcyBvYmplY3Q7XG5cdFx0XHRcdFx0XHRjb25zdCBleHRyYWN0UmVzdWx0ID0gZXh0cmFjdChfcGFyZW50KTtcblx0XHRcdFx0XHRcdHJldHVybiBleHRyYWN0UmVzdWx0O1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0cmV0dXJuIGV4dHJhY3RHZXR0ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdwYXJzZScsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0Y29uc3QgcGFyc2VHZXR0ZXIgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJzZVJlc3VsdCA9IHBhcnNlKCBlcnJvcmVkSW5zdGFuY2UgKTtcblx0XHRcdFx0XHRcdHJldHVybiBwYXJzZVJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdHJldHVybiBwYXJzZUdldHRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHQpO1xuXHR9XG5cblx0dGhyb3cgZXJyb3JlZEluc3RhbmNlO1xuXG59O1xuIl19
@@ -1,9 +1,42 @@
1
1
  'use strict';
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.types = exports.hooks = exports.errors = void 0;
4
37
  const hooks_1 = require("./hooks");
5
38
  const types_1 = require("./types");
6
- exports.errors = require("./errors");
39
+ exports.errors = __importStar(require("./errors"));
7
40
  exports.hooks = {
8
41
  invokeHook: hooks_1.invokeHook,
9
42
  registerHook: hooks_1.registerHook,
@@ -13,4 +46,4 @@ exports.types = {
13
46
  define: types_1.define,
14
47
  lookup: types_1.lookup,
15
48
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBVWIsbUNBSWlCO0FBQ2pCLG1DQUdpQjtBQUVqQixxQ0FBbUM7QUFFdEIsUUFBQSxLQUFLLEdBQUc7SUFDcEIsVUFBVSxFQUFWLGtCQUFVO0lBQ1YsWUFBWSxFQUFaLG9CQUFZO0lBQ1osbUJBQW1CLEVBQW5CLDJCQUFtQjtDQUNuQixDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDcEIsTUFBTSxFQUFOLGNBQU07SUFDTixNQUFNLEVBQU4sY0FBTTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIFRPRE8gOlxuXG4vLyBldmVudHNcbi8vIGhhbmRsZXJzXG4vLyBoZWxwZXJzXG4vLyBsb2FkZXJzXG4vLyB0cmFuc2Zvcm1zXG5cbmltcG9ydCB7XG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVySG9vayxcblx0cmVnaXN0ZXJGbG93Q2hlY2tlcixcbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCAqIGFzIGVycm9ycyBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBob29rcyA9IHtcblx0aW52b2tlSG9vayxcblx0cmVnaXN0ZXJIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufTtcblxuZXhwb3J0IGNvbnN0IHR5cGVzID0ge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn07XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWIsbUNBSWlCO0FBQ2pCLG1DQUdpQjtBQUVqQixtREFBbUM7QUFFdEIsUUFBQSxLQUFLLEdBQUc7SUFDcEIsVUFBVSxFQUFWLGtCQUFVO0lBQ1YsWUFBWSxFQUFaLG9CQUFZO0lBQ1osbUJBQW1CLEVBQW5CLDJCQUFtQjtDQUNuQixDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDcEIsTUFBTSxFQUFOLGNBQU07SUFDTixNQUFNLEVBQU4sY0FBTTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIFRPRE8gOlxuXG4vLyBldmVudHNcbi8vIGhhbmRsZXJzXG4vLyBoZWxwZXJzXG4vLyBsb2FkZXJzXG4vLyB0cmFuc2Zvcm1zXG5cbmltcG9ydCB7XG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVySG9vayxcblx0cmVnaXN0ZXJGbG93Q2hlY2tlcixcbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCAqIGFzIGVycm9ycyBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBob29rcyA9IHtcblx0aW52b2tlSG9vayxcblx0cmVnaXN0ZXJIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufTtcblxuZXhwb3J0IGNvbnN0IHR5cGVzID0ge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn07XG4iXX0=