@mnaoumov/obsidian-lib 10.11.0 → 10.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/components/all-windows-status-bar-item-component/package.json +6 -0
- package/components/shared-component-pool-component/package.json +6 -0
- package/components/workspace-layout-state-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +76 -1
- package/dist/lib/cjs/__merged.d.cts +11 -4
- package/dist/lib/cjs/bug-report-diagnostics.cjs +222 -0
- package/dist/lib/cjs/bug-report-diagnostics.d.cts +186 -0
- package/dist/lib/cjs/bug-report.cjs +36 -10
- package/dist/lib/cjs/bug-report.d.cts +65 -0
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +93 -2
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +34 -2
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +245 -0
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.d.cts +146 -0
- package/dist/lib/cjs/components/embed-extensions-component.cjs +20 -3
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +8 -0
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +16 -2
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.d.cts +9 -0
- package/dist/lib/cjs/components/index.cjs +12 -3
- package/dist/lib/cjs/components/index.d.cts +3 -0
- package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -9
- package/dist/lib/cjs/components/plugin-settings-component.cjs +7 -2
- package/dist/lib/cjs/components/shared-component-pool-component.cjs +368 -0
- package/dist/lib/cjs/components/shared-component-pool-component.d.cts +129 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.cjs +495 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.d.cts +239 -0
- package/dist/lib/cjs/css-class.cjs +5 -1
- package/dist/lib/cjs/css-class.d.cts +16 -0
- package/dist/lib/cjs/data-handler.cjs +156 -5
- package/dist/lib/cjs/data-handler.d.cts +128 -2
- package/dist/lib/cjs/desktop-git-runner.cjs +4 -14
- package/dist/lib/cjs/desktop-git-runner.d.cts +8 -2
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/git-rename-history.cjs +1 -1
- package/dist/lib/cjs/git-rename-history.d.cts +2 -2
- package/dist/lib/cjs/i18n/locales/en.cjs +23 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +22 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +22 -0
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/markdown-view.cjs +191 -3
- package/dist/lib/cjs/markdown-view.d.cts +48 -1
- package/dist/lib/cjs/modals/copy-text-manually.cjs +181 -0
- package/dist/lib/cjs/modals/copy-text-manually.d.cts +38 -0
- package/dist/lib/cjs/modals/index.cjs +7 -1
- package/dist/lib/cjs/modals/index.d.cts +2 -0
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +202 -0
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.d.cts +30 -0
- package/dist/lib/cjs/plugin/index.cjs +4 -1
- package/dist/lib/cjs/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +13 -4
- package/dist/lib/cjs/plugin/plugin-api.d.cts +5 -1
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +46 -1
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +30 -0
- package/dist/lib/cjs/plugin/plugin-instance.cjs +448 -0
- package/dist/lib/cjs/plugin/plugin-instance.d.cts +251 -0
- package/dist/lib/cjs/plugin/plugin.cjs +16 -1
- package/dist/lib/cjs/plugin/plugin.d.cts +7 -0
- package/dist/lib/esm/__merged.d.mts +11 -4
- package/dist/lib/esm/__merged.mjs +83 -3
- package/dist/lib/esm/bug-report-diagnostics.d.mts +186 -0
- package/dist/lib/esm/bug-report-diagnostics.mjs +127 -0
- package/dist/lib/esm/bug-report.d.mts +65 -0
- package/dist/lib/esm/bug-report.mjs +33 -10
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +34 -2
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +99 -3
- package/dist/lib/esm/components/all-windows-status-bar-item-component.d.mts +146 -0
- package/dist/lib/esm/components/all-windows-status-bar-item-component.mjs +154 -0
- package/dist/lib/esm/components/embed-extensions-component.d.mts +8 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +20 -3
- package/dist/lib/esm/components/embeddable-markdown-editor-component.d.mts +9 -0
- package/dist/lib/esm/components/embeddable-markdown-editor-component.mjs +16 -2
- package/dist/lib/esm/components/index.d.mts +3 -0
- package/dist/lib/esm/components/index.mjs +8 -2
- package/dist/lib/esm/components/plugin-gate-component.mjs +5 -13
- package/dist/lib/esm/components/plugin-settings-component.mjs +7 -2
- package/dist/lib/esm/components/shared-component-pool-component.d.mts +129 -0
- package/dist/lib/esm/components/shared-component-pool-component.mjs +280 -0
- package/dist/lib/esm/components/workspace-layout-state-component.d.mts +239 -0
- package/dist/lib/esm/components/workspace-layout-state-component.mjs +404 -0
- package/dist/lib/esm/css-class.d.mts +16 -0
- package/dist/lib/esm/css-class.mjs +5 -1
- package/dist/lib/esm/data-handler.d.mts +128 -2
- package/dist/lib/esm/data-handler.mjs +152 -4
- package/dist/lib/esm/desktop-git-runner.d.mts +8 -2
- package/dist/lib/esm/desktop-git-runner.mjs +3 -3
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/git-rename-history.d.mts +2 -2
- package/dist/lib/esm/git-rename-history.mjs +1 -1
- package/dist/lib/esm/i18n/locales/en.d.mts +22 -0
- package/dist/lib/esm/i18n/locales/en.mjs +23 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +22 -0
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/markdown-view.d.mts +48 -1
- package/dist/lib/esm/markdown-view.mjs +192 -2
- package/dist/lib/esm/modals/copy-text-manually.d.mts +38 -0
- package/dist/lib/esm/modals/copy-text-manually.mjs +99 -0
- package/dist/lib/esm/modals/index.d.mts +2 -0
- package/dist/lib/esm/modals/index.mjs +5 -1
- package/dist/lib/esm/modals/review-bug-report-diagnostics.d.mts +30 -0
- package/dist/lib/esm/modals/review-bug-report-diagnostics.mjs +120 -0
- package/dist/lib/esm/plugin/index.d.mts +1 -0
- package/dist/lib/esm/plugin/index.mjs +3 -1
- package/dist/lib/esm/plugin/plugin-api.d.mts +5 -1
- package/dist/lib/esm/plugin/plugin-api.mjs +13 -4
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +30 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +44 -1
- package/dist/lib/esm/plugin/plugin-instance.d.mts +251 -0
- package/dist/lib/esm/plugin/plugin-instance.mjs +366 -0
- package/dist/lib/esm/plugin/plugin.d.mts +7 -0
- package/dist/lib/esm/plugin/plugin.mjs +16 -1
- package/dist/styles.css +16 -1
- package/modals/copy-text-manually/package.json +6 -0
- package/modals/review-bug-report-diagnostics/package.json +6 -0
- package/package.json +2 -1
- package/plugin/plugin-instance/package.json +6 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/// <reference path="../library-references.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Keeps a plugin's layout-scoped state in the workspace layout itself, so each saved workspace remembers its own value
|
|
6
|
+
* and switching workspaces restores it, instead of one global value in `data.json`.
|
|
7
|
+
*
|
|
8
|
+
* Read from Obsidian `1.15.1`: `Workspace.getLayout()` builds a fresh object (`main`, `left`, `right`, `left-ribbon`,
|
|
9
|
+
* `floating`, `active`) and `Workspace.setLayout()` ignores every other top-level key. `deserializeLayout` keeps each
|
|
10
|
+
* item's `id`, popout leaves included. The Workspaces core plugin saves through `getLayout()` and loads through
|
|
11
|
+
* `changeLayout()`, which calls `setLayout()`. Startup goes through `loadLayout()`, `readWorkspaceFile()` and
|
|
12
|
+
* `setLayout()`, after the plugins enabled at startup have loaded. So two patches on the `app.workspace` instance carry
|
|
13
|
+
* the whole thing: `getLayout` writes the records under {@link WORKSPACE_LAYOUT_STATE_LAYOUT_KEY}, and `setLayout`
|
|
14
|
+
* replaces them from the layout it is handed before any view is restored. Per-leaf state is keyed by leaf id at the
|
|
15
|
+
* layout level, so no `WorkspaceItem.serialize` or `deserializeLayout` patch is needed.
|
|
16
|
+
*
|
|
17
|
+
* A view the plugin owns needs none of this: `View.getState` / `setState` already ride in each leaf's state. This
|
|
18
|
+
* component is for the scope those methods cannot represent: the whole layout, and leaves of views the plugin does not
|
|
19
|
+
* own.
|
|
20
|
+
*
|
|
21
|
+
* Every plugin bundles its own copy of this library, so the records, the subscriptions and ONE installation of the
|
|
22
|
+
* patches live in the shared-state bag under a versioned key, owned by one subscriber. When the owner unloads while
|
|
23
|
+
* others remain, the next subscriber installs again from its own copy. What crosses that boundary is a wire format
|
|
24
|
+
* between copies of different versions: plain objects and plain functions only, fields only ever added, and a change of
|
|
25
|
+
* meaning moves to a new key. The layout record is a wire format too, persisted in `workspace.json` and in every saved
|
|
26
|
+
* workspace.
|
|
27
|
+
*/
|
|
28
|
+
import type { App, WorkspaceLeaf } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
29
|
+
import type { JsonValue } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
30
|
+
import { ComponentEx } from './component-ex.cjs';
|
|
31
|
+
/**
|
|
32
|
+
* The top-level key of a serialized layout that holds the records.
|
|
33
|
+
*/
|
|
34
|
+
export declare const WORKSPACE_LAYOUT_STATE_LAYOUT_KEY = "obsidianLibLayoutStateV1";
|
|
35
|
+
/**
|
|
36
|
+
* A change of one key's value, in one scope.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam T - The value type.
|
|
39
|
+
*/
|
|
40
|
+
export interface WorkspaceLayoutStateChange<T> {
|
|
41
|
+
/**
|
|
42
|
+
* The leaf whose value changed, or `null` for the workspace scope or a leaf no longer in the layout.
|
|
43
|
+
*/
|
|
44
|
+
readonly leaf: null | WorkspaceLeaf;
|
|
45
|
+
/**
|
|
46
|
+
* The id of the leaf whose value changed, or `null` for the workspace scope.
|
|
47
|
+
*/
|
|
48
|
+
readonly leafId: null | string;
|
|
49
|
+
/**
|
|
50
|
+
* The value before the change, as {@link WorkspaceLayoutStateKey.get} read it.
|
|
51
|
+
*/
|
|
52
|
+
readonly oldValue: T;
|
|
53
|
+
/**
|
|
54
|
+
* The value after the change, as {@link WorkspaceLayoutStateKey.get} reads it.
|
|
55
|
+
*/
|
|
56
|
+
readonly value: T;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parameters for {@link WorkspaceLayoutStateComponent}.
|
|
60
|
+
*/
|
|
61
|
+
export interface WorkspaceLayoutStateComponentConstructorParams {
|
|
62
|
+
/**
|
|
63
|
+
* The Obsidian app instance.
|
|
64
|
+
*/
|
|
65
|
+
readonly app: App;
|
|
66
|
+
/**
|
|
67
|
+
* The id of the plugin the values belong to. Every value is namespaced by it.
|
|
68
|
+
*/
|
|
69
|
+
readonly pluginId: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A typed handle to one layout-scoped key.
|
|
73
|
+
*
|
|
74
|
+
* Every method takes an optional leaf. Without one, the value belongs to the whole layout (the workspace scope).
|
|
75
|
+
*
|
|
76
|
+
* @typeParam T - The value type.
|
|
77
|
+
*/
|
|
78
|
+
export interface WorkspaceLayoutStateKey<T> {
|
|
79
|
+
/**
|
|
80
|
+
* Reads the value: a clone of the stored one, or of the default when nothing is stored or the stored value fails the
|
|
81
|
+
* key's guard.
|
|
82
|
+
*
|
|
83
|
+
* @param leaf - The leaf, or nothing for the workspace scope.
|
|
84
|
+
* @returns The value.
|
|
85
|
+
*/
|
|
86
|
+
readonly get: (leaf?: WorkspaceLeaf) => T;
|
|
87
|
+
/**
|
|
88
|
+
* Checks whether a value is stored, valid or not.
|
|
89
|
+
*
|
|
90
|
+
* @param leaf - The leaf, or nothing for the workspace scope.
|
|
91
|
+
* @returns Whether a value is stored.
|
|
92
|
+
*/
|
|
93
|
+
readonly has: (leaf?: WorkspaceLeaf) => boolean;
|
|
94
|
+
/**
|
|
95
|
+
* The key name, unique within the plugin.
|
|
96
|
+
*/
|
|
97
|
+
readonly key: string;
|
|
98
|
+
/**
|
|
99
|
+
* Subscribes to changes of this key made through `set` or `unset`, in any scope and from any copy of the library. A
|
|
100
|
+
* layout load is reported through {@link WorkspaceLayoutStateComponent.onLayoutLoad} instead.
|
|
101
|
+
*
|
|
102
|
+
* @param callback - Called after each change.
|
|
103
|
+
* @returns A function that unsubscribes. Unloading the component unsubscribes too.
|
|
104
|
+
*/
|
|
105
|
+
readonly onChange: (callback: (change: WorkspaceLayoutStateChange<T>) => void) => () => void;
|
|
106
|
+
/**
|
|
107
|
+
* Stores a clone of the value and requests a layout save. Storing a value equal to the stored one does nothing.
|
|
108
|
+
*
|
|
109
|
+
* @param value - The value. It must be JSON-safe; `null` is stored as `null`.
|
|
110
|
+
* @param leaf - The leaf, or nothing for the workspace scope.
|
|
111
|
+
* @throws A `TypeError` if the value is not JSON-safe.
|
|
112
|
+
*/
|
|
113
|
+
readonly set: (value: T, leaf?: WorkspaceLeaf) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Removes the stored value, so `get` reads the default again, and requests a layout save.
|
|
116
|
+
*
|
|
117
|
+
* @param leaf - The leaf, or nothing for the workspace scope.
|
|
118
|
+
*/
|
|
119
|
+
readonly unset: (leaf?: WorkspaceLeaf) => void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Defines a layout-scoped key.
|
|
123
|
+
*
|
|
124
|
+
* @typeParam T - The value type.
|
|
125
|
+
*/
|
|
126
|
+
export interface WorkspaceLayoutStateKeyDefinition<T> {
|
|
127
|
+
/**
|
|
128
|
+
* The value read when nothing valid is stored.
|
|
129
|
+
*/
|
|
130
|
+
readonly defaultValue: T;
|
|
131
|
+
/**
|
|
132
|
+
* Checks a stored value. A value that fails reads as the default and stays stored until it is replaced or unset.
|
|
133
|
+
*
|
|
134
|
+
* @default Accepts every JSON value.
|
|
135
|
+
*/
|
|
136
|
+
readonly isValid?: (value: unknown) => value is T;
|
|
137
|
+
/**
|
|
138
|
+
* The key name, unique within the plugin.
|
|
139
|
+
*/
|
|
140
|
+
readonly key: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* One plugin's records. Fields a newer copy adds are preserved.
|
|
144
|
+
*/
|
|
145
|
+
export interface WorkspaceLayoutStatePluginRecord {
|
|
146
|
+
/**
|
|
147
|
+
* The values by leaf id, then by key.
|
|
148
|
+
*/
|
|
149
|
+
readonly leaves: Record<string, JsonRecord>;
|
|
150
|
+
/**
|
|
151
|
+
* Fields a newer copy of the library added.
|
|
152
|
+
*/
|
|
153
|
+
readonly [field: string]: unknown;
|
|
154
|
+
/**
|
|
155
|
+
* The workspace-scope values by key.
|
|
156
|
+
*/
|
|
157
|
+
readonly workspace: JsonRecord;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The record persisted under {@link WORKSPACE_LAYOUT_STATE_LAYOUT_KEY}. Fields a newer copy adds are preserved.
|
|
161
|
+
*/
|
|
162
|
+
export interface WorkspaceLayoutStateRecord {
|
|
163
|
+
/**
|
|
164
|
+
* The records by plugin id.
|
|
165
|
+
*/
|
|
166
|
+
readonly plugins: Record<string, WorkspaceLayoutStatePluginRecord>;
|
|
167
|
+
/**
|
|
168
|
+
* Fields a newer copy of the library added.
|
|
169
|
+
*/
|
|
170
|
+
readonly [field: string]: unknown;
|
|
171
|
+
}
|
|
172
|
+
type JsonRecord = Record<string, JsonValue>;
|
|
173
|
+
/**
|
|
174
|
+
* Keeps a plugin's layout-scoped values in the workspace layout, so saved workspaces each restore their own.
|
|
175
|
+
*
|
|
176
|
+
* Any number of these, in any number of plugins, share one installation per {@link App}. Values are restored when a
|
|
177
|
+
* layout loads, which REPLACES every value: write them after {@link Workspace.onLayoutReady}, and re-read them in
|
|
178
|
+
* {@link onLayoutLoad}.
|
|
179
|
+
*/
|
|
180
|
+
export declare class WorkspaceLayoutStateComponent extends ComponentEx {
|
|
181
|
+
/**
|
|
182
|
+
* The Obsidian app instance.
|
|
183
|
+
*/
|
|
184
|
+
protected readonly app: App;
|
|
185
|
+
/**
|
|
186
|
+
* The id of the plugin the values belong to.
|
|
187
|
+
*/
|
|
188
|
+
protected readonly pluginId: string;
|
|
189
|
+
private readonly layoutLoadListeners;
|
|
190
|
+
private readonly recordChangeListeners;
|
|
191
|
+
/**
|
|
192
|
+
* Creates a new workspace layout state component.
|
|
193
|
+
*
|
|
194
|
+
* @param params - The parameters.
|
|
195
|
+
* @throws A `TypeError` if the plugin id is empty.
|
|
196
|
+
*/
|
|
197
|
+
constructor(params: WorkspaceLayoutStateComponentConstructorParams);
|
|
198
|
+
/**
|
|
199
|
+
* Defines a typed key.
|
|
200
|
+
*
|
|
201
|
+
* @typeParam T - The value type.
|
|
202
|
+
* @param definition - The key definition.
|
|
203
|
+
* @returns The key handle.
|
|
204
|
+
* @throws A `TypeError` if the key is empty or the default value is not JSON-safe.
|
|
205
|
+
*/
|
|
206
|
+
defineKey<T>(definition: WorkspaceLayoutStateKeyDefinition<T>): WorkspaceLayoutStateKey<T>;
|
|
207
|
+
/**
|
|
208
|
+
* Subscribes to layout loads: a saved workspace loaded, the layout restored at startup, or the saved layout read when
|
|
209
|
+
* the component is first loaded after layout-ready. Every value may have changed.
|
|
210
|
+
*
|
|
211
|
+
* @param callback - Called after the layout is loaded, once its leaves exist.
|
|
212
|
+
* @returns A function that unsubscribes. Unloading the component unsubscribes too.
|
|
213
|
+
*/
|
|
214
|
+
onLayoutLoad(callback: () => void): () => void;
|
|
215
|
+
/**
|
|
216
|
+
* Subscribes to the shared installation, installing it when nobody has yet.
|
|
217
|
+
*/
|
|
218
|
+
onload(): void;
|
|
219
|
+
private subscribeToRecordChanges;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Parses a persisted record. A part that is malformed is dropped one level at a time: a malformed record reads as
|
|
223
|
+
* empty, a malformed plugin record drops only that plugin, and a malformed leaf bucket drops only that leaf. Fields this
|
|
224
|
+
* copy does not know are kept.
|
|
225
|
+
*
|
|
226
|
+
* @param value - The value found under {@link WORKSPACE_LAYOUT_STATE_LAYOUT_KEY}.
|
|
227
|
+
* @returns The parsed record, sharing nothing with the input.
|
|
228
|
+
*/
|
|
229
|
+
export declare function parseWorkspaceLayoutStateRecord(value: unknown): WorkspaceLayoutStateRecord;
|
|
230
|
+
/**
|
|
231
|
+
* Builds the record to persist into a serialized layout: leaf buckets for leaves absent from the layout are left out,
|
|
232
|
+
* and so are plugins with nothing left.
|
|
233
|
+
*
|
|
234
|
+
* @param record - The current record.
|
|
235
|
+
* @param layout - The serialized layout.
|
|
236
|
+
* @returns The record to persist, or `null` when there is nothing to persist.
|
|
237
|
+
*/
|
|
238
|
+
export declare function serializeWorkspaceLayoutStateRecord(record: WorkspaceLayoutStateRecord, layout: unknown): null | WorkspaceLayoutStateRecord;
|
|
239
|
+
export {};
|
|
@@ -92,6 +92,8 @@ __export(css_class_exports, {
|
|
|
92
92
|
module.exports = __toCommonJS(css_class_exports);
|
|
93
93
|
var CssClass = /* @__PURE__ */ ((CssClass2) => {
|
|
94
94
|
CssClass2["AlertModal"] = "alert-modal";
|
|
95
|
+
CssClass2["BugReportPreview"] = "bug-report-preview";
|
|
96
|
+
CssClass2["BugReportReviewModal"] = "bug-report-review-modal";
|
|
95
97
|
CssClass2["CancelButton"] = "cancel-button";
|
|
96
98
|
CssClass2["CheckboxComponent"] = "checkbox-component";
|
|
97
99
|
CssClass2["ClickableIcon"] = "clickable-icon";
|
|
@@ -103,6 +105,8 @@ var CssClass = /* @__PURE__ */ ((CssClass2) => {
|
|
|
103
105
|
CssClass2["CodeBlockBuilderPreview"] = "code-block-builder-preview";
|
|
104
106
|
CssClass2["CodeHighlighterComponent"] = "code-highlighter-component";
|
|
105
107
|
CssClass2["ConfirmModal"] = "confirm-modal";
|
|
108
|
+
CssClass2["CopyTextManuallyModal"] = "copy-text-manually-modal";
|
|
109
|
+
CssClass2["CopyTextManuallyText"] = "copy-text-manually-text";
|
|
106
110
|
CssClass2["DateComponent"] = "date-component";
|
|
107
111
|
CssClass2["DateTimeComponent"] = "datetime-component";
|
|
108
112
|
CssClass2["EmailComponent"] = "email-component";
|
|
@@ -174,4 +178,4 @@ var CssClass = /* @__PURE__ */ ((CssClass2) => {
|
|
|
174
178
|
0 && (module.exports = {
|
|
175
179
|
CssClass
|
|
176
180
|
});
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jc3MtY2xhc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENTUyBjbGFzc2VzIHVzZWQgYnkgdGhlIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBsaWJyYXJ5LlxuICovXG5cbi8qKlxuICogQ1NTIGNsYXNzZXMgdXNlZCBieSB0aGUgYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBlbnVtIENzc0NsYXNzIHtcbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYWxlcnQgbW9kYWwuXG4gICAqL1xuICBBbGVydE1vZGFsID0gJ2FsZXJ0LW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjYW5jZWwgYnV0dG9uLlxuICAgKi9cbiAgQ2FuY2VsQnV0dG9uID0gJ2NhbmNlbC1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGNoZWNrYm94IGNvbXBvbmVudC5cbiAgICovXG4gIENoZWNrYm94Q29tcG9uZW50ID0gJ2NoZWNrYm94LWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGEgY2xpY2thYmxlIGljb24gYnV0dG9uLCBnaXZpbmcgaXQgdGhlIGhvdmVyIGJhY2tncm91bmQgYW5kIGljb24tY29sb3IgdHJlYXRtZW50LlxuICAgKi9cbiAgQ2xpY2thYmxlSWNvbiA9ICdjbGlja2FibGUtaWNvbicsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGFuIGlubGluZSBjb2RlIGVsZW1lbnQgKHVzZWQgYnkgYGFwcGVuZENvZGVCbG9ja2ApLlxuICAgKi9cbiAgQ29kZSA9ICdjb2RlJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIGEgY29sbGFwc2libGUgZmllbGQgZ3JvdXAgb2YgdGhlIGNvZGUgYmxvY2sgYnVpbGRlciBtb2RhbC5cbiAgICovXG4gIENvZGVCbG9ja0J1aWxkZXJHcm91cCA9ICdjb2RlLWJsb2NrLWJ1aWxkZXItZ3JvdXAnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGZpZWxkIGNvbnRhaW5lciBvZiBhIGNvbGxhcHNpYmxlIGdyb3VwIG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyR3JvdXBCb2R5ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1ncm91cC1ib2R5JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyTW9kYWwgPSAnY29kZS1ibG9jay1idWlsZGVyLW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBvdXRwdXQgcm93IG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyT3V0cHV0ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1vdXRwdXQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGxpdmUgcHJldmlldyBjb250YWluZXIgb2YgdGhlIGNvZGUgYmxvY2sgYnVpbGRlciBtb2RhbC5cbiAgICovXG4gIENvZGVCbG9ja0J1aWxkZXJQcmV2aWV3ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1wcmV2aWV3JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb2RlIGhpZ2hsaWdodGVyIGNvbXBvbmVudC5cbiAgICovXG4gIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCA9ICdjb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAgICovXG4gIENvbmZpcm1Nb2RhbCA9ICdjb25maXJtLW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBkYXRlIGNvbXBvbmVudC5cbiAgICovXG4gIERhdGVDb21wb25lbnQgPSAnZGF0ZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGRhdGUgYW5kIHRpbWUgY29tcG9uZW50LlxuICAgKi9cbiAgRGF0ZVRpbWVDb21wb25lbnQgPSAnZGF0ZXRpbWUtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBlbWFpbCBjb21wb25lbnQuXG4gICAqL1xuICBFbWFpbENvbXBvbmVudCA9ICdlbWFpbC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGZpbGUgY29tcG9uZW50LlxuICAgKi9cbiAgRmlsZUNvbXBvbmVudCA9ICdmaWxlLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciByZW5kZXJlZCBtYXJrZG93biB3aG9zZSBoZWFkaW5ncyBhbmQgbGlzdHMgYHJlZ2lzdGVyRm9sZEhhbmRsZXJzYCBtYWRlIGZvbGRhYmxlLlxuICAgKi9cbiAgRm9sZGFibGVNYXJrZG93biA9ICdmb2xkYWJsZS1tYXJrZG93bicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgZm9sZGVyIGxpc3QgY29tcG9uZW50LlxuICAgKi9cbiAgRm9sZGVyTGlzdENvbXBvbmVudCA9ICdmb2xkZXItbGlzdC1jb21wb25lbnQnLFxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBob3RrZXkgY29tcG9uZW50LlxuICAgKi9cbiAgSG90a2V5Q29tcG9uZW50ID0gJ2hvdGtleS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGVsZW1lbnQgYW4gaW5saW5lIHRva2VuIHJlbmRlcnMgaW50bywgaW4gUmVhZGluZyB2aWV3IGFuZCBpbiBMaXZlIFByZXZpZXcuXG4gICAqL1xuICBJbmxpbmVUb2tlbiA9ICdpbmxpbmUtdG9rZW4nLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciBhIGNvbnRyb2wgdGhhdCBpcyBjdXJyZW50bHkgT04sIHJldXNlZCBzbyBhIHByZXNzZWQgY29tbWFuZCBidXR0b24gbWF0Y2hlcyB0aGVcbiAgICogYXBwJ3Mgb3duIHRvZ2dsZWQgY29udHJvbHMuXG4gICAqL1xuICBJc0FjdGl2ZSA9ICdpcy1hY3RpdmUnLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciBhIGNvbGxhcHNlZCBlbGVtZW50LCByZXVzZWQgZm9yIGEgY29sbGFwc2VkIGdyb3VwIG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBJc0NvbGxhcHNlZCA9ICdpcy1jb2xsYXBzZWQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHBsYWNlaG9sZGVyLlxuICAgKi9cbiAgSXNQbGFjZWhvbGRlciA9ICdpcy1wbGFjZWhvbGRlcicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbGlicmFyeSBuYW1lLCBzZXQgb24gZXZlcnkgZWxlbWVudCB0aGUgbGlicmFyeSBidWlsZHMuXG4gICAqL1xuICBMaWJyYXJ5TmFtZSA9ICdvYnNpZGlhbi1saWInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHJlb3JkZXJhYmxlIGxpc3QgY29tcG9uZW50LlxuICAgKi9cbiAgTGlzdENvbXBvbmVudCA9ICdsaXN0LWNvbXBvbmVudCcsXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIG1hcmtpbmcgcmVuZGVyZWQtbWFya2Rvd24gY29udGVudCAodXNlZCBieSBgYXBwZW5kQ29kZUJsb2NrYCkuXG4gICAqL1xuICBNYXJrZG93blJlbmRlcmVkID0gJ21hcmtkb3duLXJlbmRlcmVkJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtaW5pbWl6YWJsZSBtb2RhbC5cbiAgICovXG4gIE1pbmltaXphYmxlTW9kYWwgPSAnbWluaW1pemFibGUtbW9kYWwnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1pbmltaXplIGJ1dHRvbiBvZiB0aGUgbWluaW1pemFibGUgbW9kYWwuXG4gICAqL1xuICBNaW5pbWl6ZUJ1dHRvbiA9ICdtaW5pbWl6ZS1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1pbmltaXplZCBiYXIgb2YgdGhlIG1pbmltaXphYmxlIG1vZGFsLlxuICAgKi9cbiAgTWluaW1pemVkTW9kYWxCYXIgPSAnbWluaW1pemVkLW1vZGFsLWJhcicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgb25lLXNob3QgYXR0ZW50aW9uIGZsYXNoIG9mIHRoZSBtaW5pbWl6ZWQgYmFyLCBwbGF5ZWQgd2hlbiB0aGUgdXNlciBhdHRlbXB0cyBhXG4gICAqIGJsb2NrZWQgYWN0aW9uIChhIGtleXN0cm9rZSwgcmlnaHQtY2xpY2ssIG9yIG9wZW5pbmcgYW5vdGhlciBtb2RhbCkgd2hpbGUgdGhlIG1vZGFsIGlzIG1pbmltaXplZC5cbiAgICovXG4gIE1pbmltaXplZE1vZGFsQmFyQXR0ZW50aW9uID0gJ21pbmltaXplZC1tb2RhbC1iYXItYXR0ZW50aW9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0aXRsZSBvZiB0aGUgbWluaW1pemVkIGJhciBvZiB0aGUgbWluaW1pemFibGUgbW9kYWwuXG4gICAqL1xuICBNaW5pbWl6ZWRNb2RhbEJhclRpdGxlID0gJ21pbmltaXplZC1tb2RhbC1iYXItdGl0bGUnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3Igb25lIGJ1dHRvbiBpbiBhIG1vZGFsJ3MgY29tbWFuZCBzdHJpcC5cbiAgICovXG4gIE1vZGFsQ29tbWFuZCA9ICdtb2RhbC1jb21tYW5kJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIGEgY29udHJvbCBpbmplY3RlZCBpbnRvIGFuIGluc3RydWN0aW9uJ3MgcHVycG9zZSB0ZXh0IOKAlCBhIGNoZWNrYm94LCBhIGRyb3Bkb3duLlxuICAgKiBPYnNpZGlhbidzIG93biBpbnN0cnVjdGlvbiBiYXIgbmV2ZXIgY29udGFpbnMgb25lLCBzbyBub3RoaW5nIHVwc3RyZWFtIHNlcGFyYXRlcyBpdCBmcm9tIHRoZSBsYWJlbFxuICAgKiBpdCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kQ29udHJvbCA9ICdtb2RhbC1jb21tYW5kLWNvbnRyb2wnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGhvdGtleSBoaW50IGluc2lkZSBhIG1vZGFsIGNvbW1hbmQgYnV0dG9uLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kSG90a2V5ID0gJ21vZGFsLWNvbW1hbmQtaG90a2V5JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzdHJpcCBvZiBjb21tYW5kcyBhIG1vZGFsIHJlbmRlcnMgYWxvbmcgaXRzIGJvdHRvbSBlZGdlLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kcyA9ICdtb2RhbC1jb21tYW5kcycsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGEgbW9kYWwgaGVhZGVyIGJ1dHRvbiAoZS5nLiB0aGUgbW9kYWwgY2xvc2UgYnV0dG9uKSwgcmV1c2VkIHRvIG1hdGNoIHRoZVxuICAgKiBuYXRpdmUgbW9kYWwgY2xvc2UgYnV0dG9uJ3MgYm94IGFuZCBob3Zlci5cbiAgICovXG4gIE1vZGFsSGVhZGVyQnV0dG9uID0gJ21vZGFsLWhlYWRlci1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1vbnRoIGNvbXBvbmVudC5cbiAgICovXG4gIE1vbnRoQ29tcG9uZW50ID0gJ21vbnRoLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKi9cbiAgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCA9ICdtdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG11bHRpcGxlIGVtYWlsIGNvbXBvbmVudC5cbiAgICovXG4gIE11bHRpcGxlRW1haWxDb21wb25lbnQgPSAnbXVsdGlwbGUtZW1haWwtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtdWx0aXBsZSBmaWxlIGNvbXBvbmVudC5cbiAgICovXG4gIE11bHRpcGxlRmlsZUNvbXBvbmVudCA9ICdtdWx0aXBsZS1maWxlLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqL1xuICBNdWx0aXBsZVRleHRDb21wb25lbnQgPSAnbXVsdGlwbGUtdGV4dC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG51bWJlciBjb21wb25lbnQuXG4gICAqL1xuICBOdW1iZXJDb21wb25lbnQgPSAnbnVtYmVyLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgb2sgYnV0dG9uLlxuICAgKi9cbiAgT2tCdXR0b24gPSAnb2stYnV0dG9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBvdmVybGF5IHZhbGlkYXRvci5cbiAgICovXG4gIE92ZXJsYXlWYWxpZGF0b3IgPSAnb3ZlcmxheS12YWxpZGF0b3InLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHBhc3N3b3JkIGNvbXBvbmVudC5cbiAgICovXG4gIFBhc3N3b3JkQ29tcG9uZW50ID0gJ3Bhc3N3b3JkLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYmFubmVyIG5hbWluZyBhIHBsdWdpbiB0aGlzIG9uZSByZWZ1c2VzLCBvciB3YXJucyBhYm91dCwgcnVubmluZyBiZXNpZGUuXG4gICAqL1xuICBQbHVnaW5Db25mbGljdEJhbm5lciA9ICdwbHVnaW4tY29uZmxpY3QtYmFubmVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBiYW5uZXIgYSBibG9ja2VkIHBsdWdpbiByZW5kZXJzIGluIHBsYWNlIG9mIGl0cyBzZXR0aW5ncywgbmFtaW5nIHRoZSBtYW5kYXRvcnlcbiAgICogZGVwZW5kZW5jeSBpdCBpcyB3YWl0aW5nIGZvci5cbiAgICovXG4gIFBsdWdpbkRlcGVuZGVuY3lCYW5uZXIgPSAncGx1Z2luLWRlcGVuZGVuY3ktYmFubmVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjbG9zZSBidXR0b24gb2YgYSBub3RpY2UgdGhhdCByZXF1aXJlcyBjbG9zZSBjb25maXJtYXRpb24uXG4gICAqL1xuICBQbHVnaW5Ob3RpY2VDbG9zZUJ1dHRvbiA9ICdwbHVnaW4tbm90aWNlLWNsb3NlLWJ1dHRvbicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgY29udGFpbmVyIHdyYXBwaW5nIGEgbm90aWNlJ3MgY29udGVudCwgdXNlZCB0byBrZWVwIHRoZSBub3RpY2Ugb3BlbiB3aGVuIGFuXG4gICAqIGludGVyYWN0aXZlIGVsZW1lbnQgaW5zaWRlIGl0IGlzIGNsaWNrZWQuXG4gICAqL1xuICBQbHVnaW5Ob3RpY2VDb250ZW50ID0gJ3BsdWdpbi1ub3RpY2UtY29udGVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcGx1Z2luIG5hbWUgc2hvd24gYXMgdGhlIHByZWZpeCBvZiBhIG5vdGljZS5cbiAgICovXG4gIFBsdWdpbk5vdGljZU5hbWUgPSAncGx1Z2luLW5vdGljZS1uYW1lJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgYXBwbGllZCB0byB0aGUgbm90aWNlIGVsZW1lbnQgb2YgYSBub3RpY2UgdGhhdCByZXF1aXJlcyBhbiBleHBsaWNpdCBjbG9zZSwgdXNlZCB0byBtYWtlXG4gICAqIGl0cyB3aG9sZSBhcmVhIG5vbi1kaXNtaXNzaWJsZS5cbiAgICovXG4gIFBsdWdpbk5vdGljZVJlcXVpcmVzRXhwbGljaXRDbG9zZSA9ICdwbHVnaW4tbm90aWNlLXJlcXVpcmVzLWV4cGxpY2l0LWNsb3NlJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgUGx1Z2luU2V0dGluZ3NUYWIgPSAncGx1Z2luLXNldHRpbmdzLXRhYicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYmFubmVyIGEgcGx1Z2luLXN1Z2dlc3Rpb24gcmVuZGVycyBpbnRvIGEgc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgUGx1Z2luU3VnZ2VzdGlvbkJhbm5lciA9ICdwbHVnaW4tc3VnZ2VzdGlvbi1iYW5uZXInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHJvdyBvZiBidXR0b25zIGluIGEgcGx1Z2luLXN1Z2dlc3Rpb24gbm90aWNlLCB3aGljaCBzcGFjZXMgdGhlIGFjdGlvbiBidXR0b24gYXBhcnQgZnJvbVxuICAgKiB0aGUgZGVjbGluZSBidXR0b24uXG4gICAqL1xuICBQbHVnaW5TdWdnZXN0aW9uTm90aWNlQnV0dG9ucyA9ICdwbHVnaW4tc3VnZ2VzdGlvbi1ub3RpY2UtYnV0dG9ucycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcG9wb3Zlci5cbiAgICovXG4gIFBvcG92ZXIgPSAncG9wb3ZlcicsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIG9uZSByb3cgb2YgaXRzIG1vZGFsIGluc3RydWN0aW9uIGJhciwgcmV1c2VkIHNvIGEgc2VsZi1jcmVhdGVkIGJhciBpbmhlcml0cyB0aGVcbiAgICogYXBwJ3Mgb3duIGluc3RydWN0aW9uIHN0eWxpbmcuXG4gICAqL1xuICBQcm9tcHRJbnN0cnVjdGlvbiA9ICdwcm9tcHQtaW5zdHJ1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciB0aGUga2V5LWhpbnQgaGFsZiBvZiBvbmUgaW5zdHJ1Y3Rpb24gcm93LiBJdCBpcyB0aGUgb25seSB0aGluZyBjYXJyeWluZyB0aGF0XG4gICAqIGhpbnQncyBib2xkIHdlaWdodCBhbmQgdGhlIGBtYXJnaW4taW5saW5lLWVuZGAgdGhhdCBzZXBhcmF0ZXMgaXQgZnJvbSB0aGUgcHVycG9zZSB0ZXh0LCBzbyBhXG4gICAqIHNlbGYtY3JlYXRlZCBiYXIgdGhhdCBvbWl0cyBpdCByZW5kZXJzIGBhbHQgMUtlZXAgdGhlIG9sZCB0aXRsZWAgd2VsZGVkIHRvZ2V0aGVyLiBSZXVzZWQgcmF0aGVyXG4gICAqIHRoYW4gcmUtaW1wbGVtZW50ZWQ6IHRoZSBhcHAncyBydWxlIGZvciBpdCBpcyB1bnNjb3BlZCwgc28gaXQgcmVhY2hlcyBhIHBsYWluIGBNb2RhbGAgdG9vLCBhbmRcbiAgICogc2hhcmluZyB0aGUgY2xhc3Mga2VlcHMgdGhlIHNlbGYtY3JlYXRlZCBiYXIgYW5kIGBzZXRJbnN0cnVjdGlvbnNgIGZyb20gZXZlciBkcmlmdGluZyBhcGFydC5cbiAgICovXG4gIFByb21wdEluc3RydWN0aW9uQ29tbWFuZCA9ICdwcm9tcHQtaW5zdHJ1Y3Rpb24tY29tbWFuZCcsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGl0cyBtb2RhbCBpbnN0cnVjdGlvbiBiYXIsIHJldXNlZCBzbyBhIHNlbGYtY3JlYXRlZCBiYXIgaW5oZXJpdHMgdGhlIGFwcCdzIG93blxuICAgKiBpbnN0cnVjdGlvbiBzdHlsaW5nLlxuICAgKi9cbiAgUHJvbXB0SW5zdHJ1Y3Rpb25zID0gJ3Byb21wdC1pbnN0cnVjdGlvbnMnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAgICovXG4gIFByb21wdE1vZGFsID0gJ3Byb21wdC1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcmVzdG9yZSBidXR0b24gb2YgdGhlIG1pbmltaXplZCBtb2RhbCBiYXIuXG4gICAqL1xuICBSZXN0b3JlQnV0dG9uID0gJ3Jlc3RvcmUtYnV0dG9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzZWxlY3QgaXRlbSBtb2RhbC5cbiAgICovXG4gIFNlbGVjdEl0ZW1Nb2RhbCA9ICdzZWxlY3QtaXRlbS1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgc2VsZWN0IG9wdGlvbiBtb2RhbC5cbiAgICovXG4gIFNlbGVjdE9wdGlvbk1vZGFsID0gJ3NlbGVjdC1vcHRpb24tbW9kYWwnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHNldHRpbmcgY29tcG9uZW50IHdyYXBwZXIuXG4gICAqL1xuICBTZXR0aW5nQ29tcG9uZW50V3JhcHBlciA9ICdzZXR0aW5nLWNvbXBvbmVudC13cmFwcGVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzZXR0aW5ncyB0YWJzLlxuICAgKi9cbiAgU2V0dGluZ3NUYWJzID0gJ3NldHRpbmdzLXRhYnMnLFxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0YWcgbGlzdCBjb21wb25lbnQuXG4gICAqL1xuICBUYWdMaXN0Q29tcG9uZW50ID0gJ3RhZy1saXN0LWNvbXBvbmVudCcsXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRlbGVwaG9uZSBjb21wb25lbnQuXG4gICAqL1xuICBUZWxlcGhvbmVDb21wb25lbnQgPSAndGVsZXBob25lLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdGV4dCBib3guXG4gICAqL1xuICBUZXh0Qm94ID0gJ3RleHQtYm94JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0aW1lIGNvbXBvbmVudC5cbiAgICovXG4gIFRpbWVDb21wb25lbnQgPSAndGltZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAuXG4gICAqL1xuICBUb29sdGlwID0gJ3Rvb2x0aXAnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgYXJyb3cuXG4gICAqL1xuICBUb29sdGlwQXJyb3cgPSAndG9vbHRpcC1hcnJvdycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdG9vbHRpcCB2YWxpZGF0b3IuXG4gICAqL1xuICBUb29sdGlwVmFsaWRhdG9yID0gJ3Rvb2x0aXAtdmFsaWRhdG9yJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0cmktc3RhdGUgY2hlY2tib3ggY29tcG9uZW50LlxuICAgKi9cbiAgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCA9ICd0cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0eXBlZCBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBUeXBlZERyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdHlwZWQgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKi9cbiAgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLW11bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciBhbiBpbnB1dCB0aGUgdXNlciBoYXMgbm90IGludGVyYWN0ZWQgd2l0aCB5ZXQsIHVzZWQgdG8gZGVmZXIgdGhlIGludmFsaWQgc3R5bGluZyB1bnRpbFxuICAgKiB0aGUgaW5wdXQgaXMgdG91Y2hlZC5cbiAgICovXG4gIFVudG91Y2hlZCA9ICd1bnRvdWNoZWQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHVybCBjb21wb25lbnQuXG4gICAqL1xuICBVcmxDb21wb25lbnQgPSAndXJsLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgd2VlayBjb21wb25lbnQuXG4gICAqL1xuICBXZWVrQ29tcG9uZW50ID0gJ3dlZWstY29tcG9uZW50J1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU08sSUFBSyxXQUFMLGtCQUFLQSxjQUFMO0FBSUwsRUFBQUEsVUFBQSxnQkFBYTtBQUtiLEVBQUFBLFVBQUEsa0JBQWU7QUFLZixFQUFBQSxVQUFBLHVCQUFvQjtBQUtwQixFQUFBQSxVQUFBLG1CQUFnQjtBQUtoQixFQUFBQSxVQUFBLFVBQU87QUFLUCxFQUFBQSxVQUFBLDJCQUF3QjtBQUt4QixFQUFBQSxVQUFBLCtCQUE0QjtBQUs1QixFQUFBQSxVQUFBLDJCQUF3QjtBQUt4QixFQUFBQSxVQUFBLDRCQUF5QjtBQUt6QixFQUFBQSxVQUFBLDZCQUEwQjtBQUsxQixFQUFBQSxVQUFBLDhCQUEyQjtBQUszQixFQUFBQSxVQUFBLGtCQUFlO0FBS2YsRUFBQUEsVUFBQSxtQkFBZ0I7QUFLaEIsRUFBQUEsVUFBQSx1QkFBb0I7QUFLcEIsRUFBQUEsVUFBQSxvQkFBaUI7QUFLakIsRUFBQUEsVUFBQSxtQkFBZ0I7QUFLaEIsRUFBQUEsVUFBQSxzQkFBbUI7QUFLbkIsRUFBQUEsVUFBQSx5QkFBc0I7QUFJdEIsRUFBQUEsVUFBQSxxQkFBa0I7QUFLbEIsRUFBQUEsVUFBQSxpQkFBYztBQU1kLEVBQUFBLFVBQUEsY0FBVztBQUtYLEVBQUFBLFVBQUEsaUJBQWM7QUFLZCxFQUFBQSxVQUFBLG1CQUFnQjtBQUtoQixFQUFBQSxVQUFBLGlCQUFjO0FBS2QsRUFBQUEsVUFBQSxtQkFBZ0I7QUFJaEIsRUFBQUEsVUFBQSxzQkFBbUI7QUFLbkIsRUFBQUEsVUFBQSxzQkFBbUI7QUFLbkIsRUFBQUEsVUFBQSxvQkFBaUI7QUFLakIsRUFBQUEsVUFBQSx1QkFBb0I7QUFNcEIsRUFBQUEsVUFBQSxnQ0FBNkI7QUFLN0IsRUFBQUEsVUFBQSw0QkFBeUI7QUFLekIsRUFBQUEsVUFBQSxrQkFBZTtBQU9mLEVBQUFBLFVBQUEseUJBQXNCO0FBS3RCLEVBQUFBLFVBQUEsd0JBQXFCO0FBS3JCLEVBQUFBLFVBQUEsbUJBQWdCO0FBTWhCLEVBQUFBLFVBQUEsdUJBQW9CO0FBS3BCLEVBQUFBLFVBQUEsb0JBQWlCO0FBS2pCLEVBQUFBLFVBQUEsK0JBQTRCO0FBSzVCLEVBQUFBLFVBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLFVBQUEsMkJBQXdCO0FBS3hCLEVBQUFBLFVBQUEsMkJBQXdCO0FBS3hCLEVBQUFBLFVBQUEscUJBQWtCO0FBS2xCLEVBQUFBLFVBQUEsY0FBVztBQUtYLEVBQUFBLFVBQUEsc0JBQW1CO0FBS25CLEVBQUFBLFVBQUEsdUJBQW9CO0FBS3BCLEVBQUFBLFVBQUEsMEJBQXVCO0FBTXZCLEVBQUFBLFVBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLFVBQUEsNkJBQTBCO0FBTTFCLEVBQUFBLFVBQUEseUJBQXNCO0FBS3RCLEVBQUFBLFVBQUEsc0JBQW1CO0FBTW5CLEVBQUFBLFVBQUEsdUNBQW9DO0FBS3BDLEVBQUFBLFVBQUEsdUJBQW9CO0FBS3BCLEVBQUFBLFVBQUEsNEJBQXlCO0FBTXpCLEVBQUFBLFVBQUEsbUNBQWdDO0FBS2hDLEVBQUFBLFVBQUEsYUFBVTtBQU1WLEVBQUFBLFVBQUEsdUJBQW9CO0FBU3BCLEVBQUFBLFVBQUEsOEJBQTJCO0FBTTNCLEVBQUFBLFVBQUEsd0JBQXFCO0FBS3JCLEVBQUFBLFVBQUEsaUJBQWM7QUFLZCxFQUFBQSxVQUFBLG1CQUFnQjtBQUtoQixFQUFBQSxVQUFBLHFCQUFrQjtBQUtsQixFQUFBQSxVQUFBLHVCQUFvQjtBQUtwQixFQUFBQSxVQUFBLDZCQUEwQjtBQUsxQixFQUFBQSxVQUFBLGtCQUFlO0FBSWYsRUFBQUEsVUFBQSxzQkFBbUI7QUFJbkIsRUFBQUEsVUFBQSx3QkFBcUI7QUFLckIsRUFBQUEsVUFBQSxhQUFVO0FBS1YsRUFBQUEsVUFBQSxtQkFBZ0I7QUFLaEIsRUFBQUEsVUFBQSxhQUFVO0FBS1YsRUFBQUEsVUFBQSxrQkFBZTtBQUtmLEVBQUFBLFVBQUEsc0JBQW1CO0FBS25CLEVBQUFBLFVBQUEsK0JBQTRCO0FBSzVCLEVBQUFBLFVBQUEsNEJBQXlCO0FBS3pCLEVBQUFBLFVBQUEsb0NBQWlDO0FBTWpDLEVBQUFBLFVBQUEsZUFBWTtBQUtaLEVBQUFBLFVBQUEsa0JBQWU7QUFLZixFQUFBQSxVQUFBLG1CQUFnQjtBQTVZTixTQUFBQTtBQUFBLEdBQUE7IiwibmFtZXMiOlsiQ3NzQ2xhc3MiXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jc3MtY2xhc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENTUyBjbGFzc2VzIHVzZWQgYnkgdGhlIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBsaWJyYXJ5LlxuICovXG5cbi8qKlxuICogQ1NTIGNsYXNzZXMgdXNlZCBieSB0aGUgYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIGxpYnJhcnkuXG4gKi9cbmV4cG9ydCBlbnVtIENzc0NsYXNzIHtcbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYWxlcnQgbW9kYWwuXG4gICAqL1xuICBBbGVydE1vZGFsID0gJ2FsZXJ0LW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBwcmV2aWV3IG9mIHRoZSBidWctcmVwb3J0IGRpYWdub3N0aWNzIHJldmlldyBtb2RhbC5cbiAgICovXG4gIEJ1Z1JlcG9ydFByZXZpZXcgPSAnYnVnLXJlcG9ydC1wcmV2aWV3JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBidWctcmVwb3J0IGRpYWdub3N0aWNzIHJldmlldyBtb2RhbC5cbiAgICovXG4gIEJ1Z1JlcG9ydFJldmlld01vZGFsID0gJ2J1Zy1yZXBvcnQtcmV2aWV3LW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjYW5jZWwgYnV0dG9uLlxuICAgKi9cbiAgQ2FuY2VsQnV0dG9uID0gJ2NhbmNlbC1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGNoZWNrYm94IGNvbXBvbmVudC5cbiAgICovXG4gIENoZWNrYm94Q29tcG9uZW50ID0gJ2NoZWNrYm94LWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGEgY2xpY2thYmxlIGljb24gYnV0dG9uLCBnaXZpbmcgaXQgdGhlIGhvdmVyIGJhY2tncm91bmQgYW5kIGljb24tY29sb3IgdHJlYXRtZW50LlxuICAgKi9cbiAgQ2xpY2thYmxlSWNvbiA9ICdjbGlja2FibGUtaWNvbicsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGFuIGlubGluZSBjb2RlIGVsZW1lbnQgKHVzZWQgYnkgYGFwcGVuZENvZGVCbG9ja2ApLlxuICAgKi9cbiAgQ29kZSA9ICdjb2RlJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIGEgY29sbGFwc2libGUgZmllbGQgZ3JvdXAgb2YgdGhlIGNvZGUgYmxvY2sgYnVpbGRlciBtb2RhbC5cbiAgICovXG4gIENvZGVCbG9ja0J1aWxkZXJHcm91cCA9ICdjb2RlLWJsb2NrLWJ1aWxkZXItZ3JvdXAnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGZpZWxkIGNvbnRhaW5lciBvZiBhIGNvbGxhcHNpYmxlIGdyb3VwIG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyR3JvdXBCb2R5ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1ncm91cC1ib2R5JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyTW9kYWwgPSAnY29kZS1ibG9jay1idWlsZGVyLW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBvdXRwdXQgcm93IG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBDb2RlQmxvY2tCdWlsZGVyT3V0cHV0ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1vdXRwdXQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGxpdmUgcHJldmlldyBjb250YWluZXIgb2YgdGhlIGNvZGUgYmxvY2sgYnVpbGRlciBtb2RhbC5cbiAgICovXG4gIENvZGVCbG9ja0J1aWxkZXJQcmV2aWV3ID0gJ2NvZGUtYmxvY2stYnVpbGRlci1wcmV2aWV3JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb2RlIGhpZ2hsaWdodGVyIGNvbXBvbmVudC5cbiAgICovXG4gIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCA9ICdjb2RlLWhpZ2hsaWdodGVyLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAgICovXG4gIENvbmZpcm1Nb2RhbCA9ICdjb25maXJtLW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjb3B5LXRleHQtbWFudWFsbHkgbW9kYWwuXG4gICAqL1xuICBDb3B5VGV4dE1hbnVhbGx5TW9kYWwgPSAnY29weS10ZXh0LW1hbnVhbGx5LW1vZGFsJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0ZXh0IGFyZWEgb2YgdGhlIGNvcHktdGV4dC1tYW51YWxseSBtb2RhbC5cbiAgICovXG4gIENvcHlUZXh0TWFudWFsbHlUZXh0ID0gJ2NvcHktdGV4dC1tYW51YWxseS10ZXh0JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBkYXRlIGNvbXBvbmVudC5cbiAgICovXG4gIERhdGVDb21wb25lbnQgPSAnZGF0ZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGRhdGUgYW5kIHRpbWUgY29tcG9uZW50LlxuICAgKi9cbiAgRGF0ZVRpbWVDb21wb25lbnQgPSAnZGF0ZXRpbWUtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBlbWFpbCBjb21wb25lbnQuXG4gICAqL1xuICBFbWFpbENvbXBvbmVudCA9ICdlbWFpbC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGZpbGUgY29tcG9uZW50LlxuICAgKi9cbiAgRmlsZUNvbXBvbmVudCA9ICdmaWxlLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciByZW5kZXJlZCBtYXJrZG93biB3aG9zZSBoZWFkaW5ncyBhbmQgbGlzdHMgYHJlZ2lzdGVyRm9sZEhhbmRsZXJzYCBtYWRlIGZvbGRhYmxlLlxuICAgKi9cbiAgRm9sZGFibGVNYXJrZG93biA9ICdmb2xkYWJsZS1tYXJrZG93bicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgZm9sZGVyIGxpc3QgY29tcG9uZW50LlxuICAgKi9cbiAgRm9sZGVyTGlzdENvbXBvbmVudCA9ICdmb2xkZXItbGlzdC1jb21wb25lbnQnLFxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBob3RrZXkgY29tcG9uZW50LlxuICAgKi9cbiAgSG90a2V5Q29tcG9uZW50ID0gJ2hvdGtleS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGVsZW1lbnQgYW4gaW5saW5lIHRva2VuIHJlbmRlcnMgaW50bywgaW4gUmVhZGluZyB2aWV3IGFuZCBpbiBMaXZlIFByZXZpZXcuXG4gICAqL1xuICBJbmxpbmVUb2tlbiA9ICdpbmxpbmUtdG9rZW4nLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciBhIGNvbnRyb2wgdGhhdCBpcyBjdXJyZW50bHkgT04sIHJldXNlZCBzbyBhIHByZXNzZWQgY29tbWFuZCBidXR0b24gbWF0Y2hlcyB0aGVcbiAgICogYXBwJ3Mgb3duIHRvZ2dsZWQgY29udHJvbHMuXG4gICAqL1xuICBJc0FjdGl2ZSA9ICdpcy1hY3RpdmUnLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciBhIGNvbGxhcHNlZCBlbGVtZW50LCByZXVzZWQgZm9yIGEgY29sbGFwc2VkIGdyb3VwIG9mIHRoZSBjb2RlIGJsb2NrIGJ1aWxkZXIgbW9kYWwuXG4gICAqL1xuICBJc0NvbGxhcHNlZCA9ICdpcy1jb2xsYXBzZWQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHBsYWNlaG9sZGVyLlxuICAgKi9cbiAgSXNQbGFjZWhvbGRlciA9ICdpcy1wbGFjZWhvbGRlcicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbGlicmFyeSBuYW1lLCBzZXQgb24gZXZlcnkgZWxlbWVudCB0aGUgbGlicmFyeSBidWlsZHMuXG4gICAqL1xuICBMaWJyYXJ5TmFtZSA9ICdvYnNpZGlhbi1saWInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHJlb3JkZXJhYmxlIGxpc3QgY29tcG9uZW50LlxuICAgKi9cbiAgTGlzdENvbXBvbmVudCA9ICdsaXN0LWNvbXBvbmVudCcsXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIG1hcmtpbmcgcmVuZGVyZWQtbWFya2Rvd24gY29udGVudCAodXNlZCBieSBgYXBwZW5kQ29kZUJsb2NrYCkuXG4gICAqL1xuICBNYXJrZG93blJlbmRlcmVkID0gJ21hcmtkb3duLXJlbmRlcmVkJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtaW5pbWl6YWJsZSBtb2RhbC5cbiAgICovXG4gIE1pbmltaXphYmxlTW9kYWwgPSAnbWluaW1pemFibGUtbW9kYWwnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1pbmltaXplIGJ1dHRvbiBvZiB0aGUgbWluaW1pemFibGUgbW9kYWwuXG4gICAqL1xuICBNaW5pbWl6ZUJ1dHRvbiA9ICdtaW5pbWl6ZS1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1pbmltaXplZCBiYXIgb2YgdGhlIG1pbmltaXphYmxlIG1vZGFsLlxuICAgKi9cbiAgTWluaW1pemVkTW9kYWxCYXIgPSAnbWluaW1pemVkLW1vZGFsLWJhcicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgb25lLXNob3QgYXR0ZW50aW9uIGZsYXNoIG9mIHRoZSBtaW5pbWl6ZWQgYmFyLCBwbGF5ZWQgd2hlbiB0aGUgdXNlciBhdHRlbXB0cyBhXG4gICAqIGJsb2NrZWQgYWN0aW9uIChhIGtleXN0cm9rZSwgcmlnaHQtY2xpY2ssIG9yIG9wZW5pbmcgYW5vdGhlciBtb2RhbCkgd2hpbGUgdGhlIG1vZGFsIGlzIG1pbmltaXplZC5cbiAgICovXG4gIE1pbmltaXplZE1vZGFsQmFyQXR0ZW50aW9uID0gJ21pbmltaXplZC1tb2RhbC1iYXItYXR0ZW50aW9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0aXRsZSBvZiB0aGUgbWluaW1pemVkIGJhciBvZiB0aGUgbWluaW1pemFibGUgbW9kYWwuXG4gICAqL1xuICBNaW5pbWl6ZWRNb2RhbEJhclRpdGxlID0gJ21pbmltaXplZC1tb2RhbC1iYXItdGl0bGUnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3Igb25lIGJ1dHRvbiBpbiBhIG1vZGFsJ3MgY29tbWFuZCBzdHJpcC5cbiAgICovXG4gIE1vZGFsQ29tbWFuZCA9ICdtb2RhbC1jb21tYW5kJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIGEgY29udHJvbCBpbmplY3RlZCBpbnRvIGFuIGluc3RydWN0aW9uJ3MgcHVycG9zZSB0ZXh0IOKAlCBhIGNoZWNrYm94LCBhIGRyb3Bkb3duLlxuICAgKiBPYnNpZGlhbidzIG93biBpbnN0cnVjdGlvbiBiYXIgbmV2ZXIgY29udGFpbnMgb25lLCBzbyBub3RoaW5nIHVwc3RyZWFtIHNlcGFyYXRlcyBpdCBmcm9tIHRoZSBsYWJlbFxuICAgKiBpdCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kQ29udHJvbCA9ICdtb2RhbC1jb21tYW5kLWNvbnRyb2wnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIGhvdGtleSBoaW50IGluc2lkZSBhIG1vZGFsIGNvbW1hbmQgYnV0dG9uLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kSG90a2V5ID0gJ21vZGFsLWNvbW1hbmQtaG90a2V5JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzdHJpcCBvZiBjb21tYW5kcyBhIG1vZGFsIHJlbmRlcnMgYWxvbmcgaXRzIGJvdHRvbSBlZGdlLlxuICAgKi9cbiAgTW9kYWxDb21tYW5kcyA9ICdtb2RhbC1jb21tYW5kcycsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGEgbW9kYWwgaGVhZGVyIGJ1dHRvbiAoZS5nLiB0aGUgbW9kYWwgY2xvc2UgYnV0dG9uKSwgcmV1c2VkIHRvIG1hdGNoIHRoZVxuICAgKiBuYXRpdmUgbW9kYWwgY2xvc2UgYnV0dG9uJ3MgYm94IGFuZCBob3Zlci5cbiAgICovXG4gIE1vZGFsSGVhZGVyQnV0dG9uID0gJ21vZGFsLWhlYWRlci1idXR0b24nLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG1vbnRoIGNvbXBvbmVudC5cbiAgICovXG4gIE1vbnRoQ29tcG9uZW50ID0gJ21vbnRoLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKi9cbiAgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCA9ICdtdWx0aXBsZS1kcm9wZG93bi1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG11bHRpcGxlIGVtYWlsIGNvbXBvbmVudC5cbiAgICovXG4gIE11bHRpcGxlRW1haWxDb21wb25lbnQgPSAnbXVsdGlwbGUtZW1haWwtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBtdWx0aXBsZSBmaWxlIGNvbXBvbmVudC5cbiAgICovXG4gIE11bHRpcGxlRmlsZUNvbXBvbmVudCA9ICdtdWx0aXBsZS1maWxlLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqL1xuICBNdWx0aXBsZVRleHRDb21wb25lbnQgPSAnbXVsdGlwbGUtdGV4dC1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIG51bWJlciBjb21wb25lbnQuXG4gICAqL1xuICBOdW1iZXJDb21wb25lbnQgPSAnbnVtYmVyLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgb2sgYnV0dG9uLlxuICAgKi9cbiAgT2tCdXR0b24gPSAnb2stYnV0dG9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBvdmVybGF5IHZhbGlkYXRvci5cbiAgICovXG4gIE92ZXJsYXlWYWxpZGF0b3IgPSAnb3ZlcmxheS12YWxpZGF0b3InLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHBhc3N3b3JkIGNvbXBvbmVudC5cbiAgICovXG4gIFBhc3N3b3JkQ29tcG9uZW50ID0gJ3Bhc3N3b3JkLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYmFubmVyIG5hbWluZyBhIHBsdWdpbiB0aGlzIG9uZSByZWZ1c2VzLCBvciB3YXJucyBhYm91dCwgcnVubmluZyBiZXNpZGUuXG4gICAqL1xuICBQbHVnaW5Db25mbGljdEJhbm5lciA9ICdwbHVnaW4tY29uZmxpY3QtYmFubmVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBiYW5uZXIgYSBibG9ja2VkIHBsdWdpbiByZW5kZXJzIGluIHBsYWNlIG9mIGl0cyBzZXR0aW5ncywgbmFtaW5nIHRoZSBtYW5kYXRvcnlcbiAgICogZGVwZW5kZW5jeSBpdCBpcyB3YWl0aW5nIGZvci5cbiAgICovXG4gIFBsdWdpbkRlcGVuZGVuY3lCYW5uZXIgPSAncGx1Z2luLWRlcGVuZGVuY3ktYmFubmVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBjbG9zZSBidXR0b24gb2YgYSBub3RpY2UgdGhhdCByZXF1aXJlcyBjbG9zZSBjb25maXJtYXRpb24uXG4gICAqL1xuICBQbHVnaW5Ob3RpY2VDbG9zZUJ1dHRvbiA9ICdwbHVnaW4tbm90aWNlLWNsb3NlLWJ1dHRvbicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgY29udGFpbmVyIHdyYXBwaW5nIGEgbm90aWNlJ3MgY29udGVudCwgdXNlZCB0byBrZWVwIHRoZSBub3RpY2Ugb3BlbiB3aGVuIGFuXG4gICAqIGludGVyYWN0aXZlIGVsZW1lbnQgaW5zaWRlIGl0IGlzIGNsaWNrZWQuXG4gICAqL1xuICBQbHVnaW5Ob3RpY2VDb250ZW50ID0gJ3BsdWdpbi1ub3RpY2UtY29udGVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcGx1Z2luIG5hbWUgc2hvd24gYXMgdGhlIHByZWZpeCBvZiBhIG5vdGljZS5cbiAgICovXG4gIFBsdWdpbk5vdGljZU5hbWUgPSAncGx1Z2luLW5vdGljZS1uYW1lJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgYXBwbGllZCB0byB0aGUgbm90aWNlIGVsZW1lbnQgb2YgYSBub3RpY2UgdGhhdCByZXF1aXJlcyBhbiBleHBsaWNpdCBjbG9zZSwgdXNlZCB0byBtYWtlXG4gICAqIGl0cyB3aG9sZSBhcmVhIG5vbi1kaXNtaXNzaWJsZS5cbiAgICovXG4gIFBsdWdpbk5vdGljZVJlcXVpcmVzRXhwbGljaXRDbG9zZSA9ICdwbHVnaW4tbm90aWNlLXJlcXVpcmVzLWV4cGxpY2l0LWNsb3NlJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgUGx1Z2luU2V0dGluZ3NUYWIgPSAncGx1Z2luLXNldHRpbmdzLXRhYicsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgYmFubmVyIGEgcGx1Z2luLXN1Z2dlc3Rpb24gcmVuZGVycyBpbnRvIGEgc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgUGx1Z2luU3VnZ2VzdGlvbkJhbm5lciA9ICdwbHVnaW4tc3VnZ2VzdGlvbi1iYW5uZXInLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHJvdyBvZiBidXR0b25zIGluIGEgcGx1Z2luLXN1Z2dlc3Rpb24gbm90aWNlLCB3aGljaCBzcGFjZXMgdGhlIGFjdGlvbiBidXR0b24gYXBhcnQgZnJvbVxuICAgKiB0aGUgZGVjbGluZSBidXR0b24uXG4gICAqL1xuICBQbHVnaW5TdWdnZXN0aW9uTm90aWNlQnV0dG9ucyA9ICdwbHVnaW4tc3VnZ2VzdGlvbi1ub3RpY2UtYnV0dG9ucycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcG9wb3Zlci5cbiAgICovXG4gIFBvcG92ZXIgPSAncG9wb3ZlcicsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIG9uZSByb3cgb2YgaXRzIG1vZGFsIGluc3RydWN0aW9uIGJhciwgcmV1c2VkIHNvIGEgc2VsZi1jcmVhdGVkIGJhciBpbmhlcml0cyB0aGVcbiAgICogYXBwJ3Mgb3duIGluc3RydWN0aW9uIHN0eWxpbmcuXG4gICAqL1xuICBQcm9tcHRJbnN0cnVjdGlvbiA9ICdwcm9tcHQtaW5zdHJ1Y3Rpb24nLFxuXG4gIC8qKlxuICAgKiBPYnNpZGlhbidzIGNsYXNzIGZvciB0aGUga2V5LWhpbnQgaGFsZiBvZiBvbmUgaW5zdHJ1Y3Rpb24gcm93LiBJdCBpcyB0aGUgb25seSB0aGluZyBjYXJyeWluZyB0aGF0XG4gICAqIGhpbnQncyBib2xkIHdlaWdodCBhbmQgdGhlIGBtYXJnaW4taW5saW5lLWVuZGAgdGhhdCBzZXBhcmF0ZXMgaXQgZnJvbSB0aGUgcHVycG9zZSB0ZXh0LCBzbyBhXG4gICAqIHNlbGYtY3JlYXRlZCBiYXIgdGhhdCBvbWl0cyBpdCByZW5kZXJzIGBhbHQgMUtlZXAgdGhlIG9sZCB0aXRsZWAgd2VsZGVkIHRvZ2V0aGVyLiBSZXVzZWQgcmF0aGVyXG4gICAqIHRoYW4gcmUtaW1wbGVtZW50ZWQ6IHRoZSBhcHAncyBydWxlIGZvciBpdCBpcyB1bnNjb3BlZCwgc28gaXQgcmVhY2hlcyBhIHBsYWluIGBNb2RhbGAgdG9vLCBhbmRcbiAgICogc2hhcmluZyB0aGUgY2xhc3Mga2VlcHMgdGhlIHNlbGYtY3JlYXRlZCBiYXIgYW5kIGBzZXRJbnN0cnVjdGlvbnNgIGZyb20gZXZlciBkcmlmdGluZyBhcGFydC5cbiAgICovXG4gIFByb21wdEluc3RydWN0aW9uQ29tbWFuZCA9ICdwcm9tcHQtaW5zdHJ1Y3Rpb24tY29tbWFuZCcsXG5cbiAgLyoqXG4gICAqIE9ic2lkaWFuJ3MgY2xhc3MgZm9yIGl0cyBtb2RhbCBpbnN0cnVjdGlvbiBiYXIsIHJldXNlZCBzbyBhIHNlbGYtY3JlYXRlZCBiYXIgaW5oZXJpdHMgdGhlIGFwcCdzIG93blxuICAgKiBpbnN0cnVjdGlvbiBzdHlsaW5nLlxuICAgKi9cbiAgUHJvbXB0SW5zdHJ1Y3Rpb25zID0gJ3Byb21wdC1pbnN0cnVjdGlvbnMnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAgICovXG4gIFByb21wdE1vZGFsID0gJ3Byb21wdC1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgcmVzdG9yZSBidXR0b24gb2YgdGhlIG1pbmltaXplZCBtb2RhbCBiYXIuXG4gICAqL1xuICBSZXN0b3JlQnV0dG9uID0gJ3Jlc3RvcmUtYnV0dG9uJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzZWxlY3QgaXRlbSBtb2RhbC5cbiAgICovXG4gIFNlbGVjdEl0ZW1Nb2RhbCA9ICdzZWxlY3QtaXRlbS1tb2RhbCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgc2VsZWN0IG9wdGlvbiBtb2RhbC5cbiAgICovXG4gIFNlbGVjdE9wdGlvbk1vZGFsID0gJ3NlbGVjdC1vcHRpb24tbW9kYWwnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHNldHRpbmcgY29tcG9uZW50IHdyYXBwZXIuXG4gICAqL1xuICBTZXR0aW5nQ29tcG9uZW50V3JhcHBlciA9ICdzZXR0aW5nLWNvbXBvbmVudC13cmFwcGVyJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSBzZXR0aW5ncyB0YWJzLlxuICAgKi9cbiAgU2V0dGluZ3NUYWJzID0gJ3NldHRpbmdzLXRhYnMnLFxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0YWcgbGlzdCBjb21wb25lbnQuXG4gICAqL1xuICBUYWdMaXN0Q29tcG9uZW50ID0gJ3RhZy1saXN0LWNvbXBvbmVudCcsXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRlbGVwaG9uZSBjb21wb25lbnQuXG4gICAqL1xuICBUZWxlcGhvbmVDb21wb25lbnQgPSAndGVsZXBob25lLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdGV4dCBib3guXG4gICAqL1xuICBUZXh0Qm94ID0gJ3RleHQtYm94JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0aW1lIGNvbXBvbmVudC5cbiAgICovXG4gIFRpbWVDb21wb25lbnQgPSAndGltZS1jb21wb25lbnQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAuXG4gICAqL1xuICBUb29sdGlwID0gJ3Rvb2x0aXAnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHRvb2x0aXAgYXJyb3cuXG4gICAqL1xuICBUb29sdGlwQXJyb3cgPSAndG9vbHRpcC1hcnJvdycsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdG9vbHRpcCB2YWxpZGF0b3IuXG4gICAqL1xuICBUb29sdGlwVmFsaWRhdG9yID0gJ3Rvb2x0aXAtdmFsaWRhdG9yJyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0cmktc3RhdGUgY2hlY2tib3ggY29tcG9uZW50LlxuICAgKi9cbiAgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCA9ICd0cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50JyxcblxuICAvKipcbiAgICogQSBDU1MgY2xhc3MgZm9yIHRoZSB0eXBlZCBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBUeXBlZERyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgdHlwZWQgbXVsdGlwbGUgZHJvcGRvd24gY29tcG9uZW50LlxuICAgKi9cbiAgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50ID0gJ3R5cGVkLW11bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciBhbiBpbnB1dCB0aGUgdXNlciBoYXMgbm90IGludGVyYWN0ZWQgd2l0aCB5ZXQsIHVzZWQgdG8gZGVmZXIgdGhlIGludmFsaWQgc3R5bGluZyB1bnRpbFxuICAgKiB0aGUgaW5wdXQgaXMgdG91Y2hlZC5cbiAgICovXG4gIFVudG91Y2hlZCA9ICd1bnRvdWNoZWQnLFxuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyBmb3IgdGhlIHVybCBjb21wb25lbnQuXG4gICAqL1xuICBVcmxDb21wb25lbnQgPSAndXJsLWNvbXBvbmVudCcsXG5cbiAgLyoqXG4gICAqIEEgQ1NTIGNsYXNzIGZvciB0aGUgd2VlayBjb21wb25lbnQuXG4gICAqL1xuICBXZWVrQ29tcG9uZW50ID0gJ3dlZWstY29tcG9uZW50J1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU08sSUFBSyxXQUFMLGtCQUFLQSxjQUFMO0FBSUwsRUFBQUEsVUFBQSxnQkFBYTtBQUtiLEVBQUFBLFVBQUEsc0JBQW1CO0FBS25CLEVBQUFBLFVBQUEs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
|
|
@@ -12,6 +12,14 @@ export declare enum CssClass {
|
|
|
12
12
|
* A CSS class for the alert modal.
|
|
13
13
|
*/
|
|
14
14
|
AlertModal = "alert-modal",
|
|
15
|
+
/**
|
|
16
|
+
* A CSS class for the preview of the bug-report diagnostics review modal.
|
|
17
|
+
*/
|
|
18
|
+
BugReportPreview = "bug-report-preview",
|
|
19
|
+
/**
|
|
20
|
+
* A CSS class for the bug-report diagnostics review modal.
|
|
21
|
+
*/
|
|
22
|
+
BugReportReviewModal = "bug-report-review-modal",
|
|
15
23
|
/**
|
|
16
24
|
* A CSS class for the cancel button.
|
|
17
25
|
*/
|
|
@@ -56,6 +64,14 @@ export declare enum CssClass {
|
|
|
56
64
|
* A CSS class for the confirm modal.
|
|
57
65
|
*/
|
|
58
66
|
ConfirmModal = "confirm-modal",
|
|
67
|
+
/**
|
|
68
|
+
* A CSS class for the copy-text-manually modal.
|
|
69
|
+
*/
|
|
70
|
+
CopyTextManuallyModal = "copy-text-manually-modal",
|
|
71
|
+
/**
|
|
72
|
+
* A CSS class for the text area of the copy-text-manually modal.
|
|
73
|
+
*/
|
|
74
|
+
CopyTextManuallyText = "copy-text-manually-text",
|
|
59
75
|
/**
|
|
60
76
|
* A CSS class for the date component.
|
|
61
77
|
*/
|
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
5
32
|
(function patchObsidianRequire() {
|
|
6
33
|
const originalRequire = require;
|
|
7
34
|
if (!originalRequire || originalRequire.__isPatched) {
|
|
@@ -87,39 +114,163 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
87
114
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
88
115
|
var data_handler_exports = {};
|
|
89
116
|
__export(data_handler_exports, {
|
|
90
|
-
|
|
117
|
+
DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES: () => DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES,
|
|
118
|
+
PluginDataHandler: () => PluginDataHandler,
|
|
119
|
+
PluginDataOperation: () => PluginDataOperation,
|
|
120
|
+
PluginDataSizeLimitExceededError: () => PluginDataSizeLimitExceededError
|
|
91
121
|
});
|
|
92
122
|
module.exports = __toCommonJS(data_handler_exports);
|
|
123
|
+
var import_obsidian = require('obsidian');
|
|
124
|
+
const OBSIDIAN_JSON_INDENT = 2;
|
|
125
|
+
const DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES = 16777216;
|
|
126
|
+
var PluginDataOperation = /* @__PURE__ */ ((PluginDataOperation2) => {
|
|
127
|
+
PluginDataOperation2["Load"] = "load";
|
|
128
|
+
PluginDataOperation2["Save"] = "save";
|
|
129
|
+
return PluginDataOperation2;
|
|
130
|
+
})(PluginDataOperation || {});
|
|
93
131
|
class PluginDataHandler {
|
|
94
132
|
/**
|
|
95
133
|
* Creates a new plugin data handler.
|
|
96
134
|
*
|
|
97
135
|
* @param plugin - The plugin instance.
|
|
136
|
+
* @param options - The options.
|
|
98
137
|
*/
|
|
99
|
-
constructor(plugin) {
|
|
138
|
+
constructor(plugin, options = {}) {
|
|
100
139
|
this.plugin = plugin;
|
|
140
|
+
const maxSizeInBytes = options.maxSizeInBytes ?? DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES;
|
|
141
|
+
if (Number.isNaN(maxSizeInBytes) || maxSizeInBytes < 0) {
|
|
142
|
+
throw new RangeError(`maxSizeInBytes must be a non-negative number, got ${String(maxSizeInBytes)}.`);
|
|
143
|
+
}
|
|
144
|
+
this.maxSizeInBytes = maxSizeInBytes;
|
|
101
145
|
}
|
|
102
146
|
plugin;
|
|
147
|
+
/**
|
|
148
|
+
* The maximum size of `data.json`, in bytes.
|
|
149
|
+
*/
|
|
150
|
+
maxSizeInBytes;
|
|
103
151
|
/**
|
|
104
152
|
* Loads data from the plugin's data file.
|
|
105
153
|
*
|
|
154
|
+
* The file's size is read through the adapter BEFORE Obsidian reads and parses it, so an oversized file is never
|
|
155
|
+
* loaded into memory.
|
|
156
|
+
*
|
|
106
157
|
* @returns The loaded data.
|
|
158
|
+
* @throws {@link PluginDataSizeLimitExceededError} If the existing file is larger than the limit.
|
|
107
159
|
*/
|
|
108
160
|
async loadData() {
|
|
161
|
+
const sizeInBytes = await this.getExistingFileSize();
|
|
162
|
+
if (sizeInBytes !== null && sizeInBytes > this.maxSizeInBytes) {
|
|
163
|
+
throw this.createError("load" /* Load */, sizeInBytes);
|
|
164
|
+
}
|
|
109
165
|
return this.plugin.loadData();
|
|
110
166
|
}
|
|
111
167
|
/**
|
|
112
168
|
* Saves data to the plugin's data file.
|
|
113
169
|
*
|
|
170
|
+
* The data is serialized exactly as Obsidian writes it, and its UTF-8 byte length is checked before anything is
|
|
171
|
+
* written.
|
|
172
|
+
*
|
|
114
173
|
* @param data - The data to save.
|
|
115
174
|
* @returns A promise that resolves when the data is saved.
|
|
175
|
+
* @throws {@link PluginDataSizeLimitExceededError} If the serialized data is larger than the limit.
|
|
116
176
|
*/
|
|
117
177
|
async saveData(data) {
|
|
118
|
-
|
|
178
|
+
if (this.maxSizeInBytes !== Infinity) {
|
|
179
|
+
const serialized = JSON.stringify(data, void 0, OBSIDIAN_JSON_INDENT);
|
|
180
|
+
if (serialized !== void 0) {
|
|
181
|
+
const sizeInBytes = new TextEncoder().encode(serialized).byteLength;
|
|
182
|
+
if (sizeInBytes > this.maxSizeInBytes) {
|
|
183
|
+
throw this.createError("save" /* Save */, sizeInBytes);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
await this.plugin.saveData(data);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Gets the path of the plugin's `data.json`, as Obsidian's `Plugin.loadData` reads it.
|
|
191
|
+
*
|
|
192
|
+
* @returns The path, or `null` when the manifest has no folder.
|
|
193
|
+
*/
|
|
194
|
+
getDataFilePath() {
|
|
195
|
+
const directory = this.plugin.manifest.dir;
|
|
196
|
+
return directory ? (0, import_obsidian.normalizePath)(`${directory}/data.json`) : null;
|
|
197
|
+
}
|
|
198
|
+
createError(operation, sizeInBytes) {
|
|
199
|
+
return new PluginDataSizeLimitExceededError({
|
|
200
|
+
maxSizeInBytes: this.maxSizeInBytes,
|
|
201
|
+
operation,
|
|
202
|
+
path: this.getDataFilePath() ?? "data.json",
|
|
203
|
+
pluginId: this.plugin.manifest.id,
|
|
204
|
+
pluginName: this.plugin.manifest.name,
|
|
205
|
+
sizeInBytes
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
async getExistingFileSize() {
|
|
209
|
+
if (this.maxSizeInBytes === Infinity) {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
const path = this.getDataFilePath();
|
|
213
|
+
if (path === null) {
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
try {
|
|
217
|
+
const stat = await this.plugin.app.vault.adapter.stat(path);
|
|
218
|
+
return stat?.size ?? null;
|
|
219
|
+
} catch {
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
class PluginDataSizeLimitExceededError extends Error {
|
|
225
|
+
/**
|
|
226
|
+
* The size limit, in bytes.
|
|
227
|
+
*/
|
|
228
|
+
maxSizeInBytes;
|
|
229
|
+
/**
|
|
230
|
+
* The refused operation.
|
|
231
|
+
*/
|
|
232
|
+
operation;
|
|
233
|
+
/**
|
|
234
|
+
* The path of the plugin's `data.json`.
|
|
235
|
+
*/
|
|
236
|
+
path;
|
|
237
|
+
/**
|
|
238
|
+
* The `manifest.id` of the plugin.
|
|
239
|
+
*/
|
|
240
|
+
pluginId;
|
|
241
|
+
/**
|
|
242
|
+
* The `manifest.name` of the plugin.
|
|
243
|
+
*/
|
|
244
|
+
pluginName;
|
|
245
|
+
/**
|
|
246
|
+
* The size of the existing file (load) or of the serialized data (save), in bytes.
|
|
247
|
+
*/
|
|
248
|
+
sizeInBytes;
|
|
249
|
+
/**
|
|
250
|
+
* Creates a {@link PluginDataSizeLimitExceededError}.
|
|
251
|
+
*
|
|
252
|
+
* @param params - The parameters for the error.
|
|
253
|
+
*/
|
|
254
|
+
constructor(params) {
|
|
255
|
+
const what = params.operation === "load" /* Load */ ? `Refusing to load "${params.path}": the file is ${String(params.sizeInBytes)} bytes` : `Refusing to save "${params.path}": the data would be ${String(params.sizeInBytes)} bytes`;
|
|
256
|
+
const consequence = params.operation === "load" /* Load */ ? "The file was left untouched." : "Nothing was written, so the last saved file remains.";
|
|
257
|
+
super(
|
|
258
|
+
`Plugin "${params.pluginName}" (${params.pluginId}): ${what}, over the ${String(params.maxSizeInBytes)}-byte limit. ${consequence} Keep data.json for small settings, and move large or growing state to LocalDataStore or SharedDataStore.`
|
|
259
|
+
);
|
|
260
|
+
this.name = "PluginDataSizeLimitExceededError";
|
|
261
|
+
this.maxSizeInBytes = params.maxSizeInBytes;
|
|
262
|
+
this.operation = params.operation;
|
|
263
|
+
this.path = params.path;
|
|
264
|
+
this.pluginId = params.pluginId;
|
|
265
|
+
this.pluginName = params.pluginName;
|
|
266
|
+
this.sizeInBytes = params.sizeInBytes;
|
|
119
267
|
}
|
|
120
268
|
}
|
|
121
269
|
// Annotate the CommonJS export names for ESM import in node:
|
|
122
270
|
0 && (module.exports = {
|
|
123
|
-
|
|
271
|
+
DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES,
|
|
272
|
+
PluginDataHandler,
|
|
273
|
+
PluginDataOperation,
|
|
274
|
+
PluginDataSizeLimitExceededError
|
|
124
275
|
});
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGxvYWQgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWREYXRhOiAoKSA9PiBQcm9taXNlPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHNhdmUgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIHNhdmUuXG4gICAqL1xuICByZWFkb25seSBzYXZlRGF0YTogKGRhdGE6IHVua25vd24pID0+IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciBsb2FkaW5nIGFuZCBzYXZpbmcgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luRGF0YUhhbmRsZXIgaW1wbGVtZW50cyBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbiBkYXRhIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBwbHVnaW46IFBsdWdpbikge31cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRGF0YSgpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZGF0YSBpcyBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlRGF0YShkYXRhOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNhdmVEYXRhKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4Qk8sTUFBTSxrQkFBeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNN0MsWUFBK0IsUUFBZ0I7QUFBaEI7QUFBQSxFQUFpQjtBQUFBLEVBQWpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3RDLE1BQWEsV0FBNkI7QUFDeEMsV0FBTyxLQUFLLE9BQU8sU0FBUztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFNBQVMsTUFBOEI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFDbEM7QUFDRjsiLCJuYW1lcyI6W119
|
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICpcbiAqIHtAbGluayBQbHVnaW5EYXRhSGFuZGxlcn0gYm91bmRzIHRoZSBwbHVnaW4ncyBgZGF0YS5qc29uYCBpbiBieXRlcywgaW4gYm90aCBkaXJlY3Rpb25zLCBiZWNhdXNlIE9ic2lkaWFuIGRvZXNcbiAqIG5vdC4gUmVhZCBmcm9tIE9ic2lkaWFuIGAxLjE1LjFgOiBgUGx1Z2luLmxvYWREYXRhYCByZWFkcyB0aGUgd2hvbGUgZmlsZSBhbmQgYEpTT04ucGFyc2VgcyBpdCB3aXRoIG5vIGxpbWl0LCBzbyBhblxuICogb3ZlcnNpemVkIGZpbGUgaXMgZnVsbHkgcmVhZCBhbmQgcGFyc2VkIGludG8gbWVtb3J5IG9uIGV2ZXJ5IHN0YXJ0dXAsIGFuZCBgUGx1Z2luLnNhdmVEYXRhYCB3cml0ZXNcbiAqIGBKU09OLnN0cmluZ2lmeShkYXRhLCB1bmRlZmluZWQsIDIpYCB3aXRoIG5vIGxpbWl0IGVpdGhlci4gT2JzaWRpYW4gYWxzbyBzd2FsbG93cyBhIGZhaWxlZCByZWFkIG9yIHdyaXRlOiBpdHNcbiAqIGByZWFkSnNvbmAgbG9ncyBhIHBhcnNlIGZhaWx1cmUgYW5kIHJlc29sdmVzIGB1bmRlZmluZWRgLCBhbmQgaXRzIGB3cml0ZUpzb25gIGNhdGNoZXMgZXZlcnkgZXJyb3IuIFNvIHRoZSBndWFyZFxuICogaGFzIHRvIGRlY2lkZSBCRUZPUkUgaGFuZGluZyB0aGUgY2FsbCB0byBPYnNpZGlhbiwgd2hpY2ggaXMgdGhlIG9ubHkgcG9pbnQgd2hlcmUgcmVmdXNpbmcgc3RpbGwgY2hhbmdlcyB0aGVcbiAqIG91dGNvbWUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IG5vcm1hbGl6ZVBhdGggfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogVGhlIGluZGVudGF0aW9uIE9ic2lkaWFuJ3MgYFZhdWx0LndyaXRlSnNvbmAgcGFzc2VzIHRvIGBKU09OLnN0cmluZ2lmeWAgZm9yIGBkYXRhLmpzb25gIChyZWFkIGZyb20gYDEuMTUuMWApLlxuICovXG5jb25zdCBPQlNJRElBTl9KU09OX0lOREVOVCA9IDI7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgbWF4aW11bSBzaXplIG9mIGEgcGx1Z2luJ3MgYGRhdGEuanNvbmAsIGluIGJ5dGVzOiAxNiBNaUIuXG4gKlxuICogVGhpcyBpcyBhIHByb3RlY3RpdmUgYnVkZ2V0IGFnYWluc3Qgc3RhcnR1cCBleGhhdXN0aW9uLCBub3QgYSBzeW5jIHF1b3RhLiBPYnNpZGlhbiBTeW5jJ3Mgb3duIHBlci1maWxlIGxpbWl0XG4gKiBkZXBlbmRzIG9uIHRoZSBwbGFuIGFuZCBpcyBhIHNlcGFyYXRlIGNvbnN0cmFpbnQgYSBwbHVnaW4gbWF5IHdhbnQgdG8gc3RheSB3ZWxsIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5fREFUQV9NQVhfU0laRV9JTl9CWVRFUyA9IDE2Xzc3N18yMTY7XG5cbi8qKlxuICogVGhlIG9wZXJhdGlvbiBhIHtAbGluayBQbHVnaW5EYXRhU2l6ZUxpbWl0RXhjZWVkZWRFcnJvcn0gcmVmdXNlZC5cbiAqL1xuZXhwb3J0IGVudW0gUGx1Z2luRGF0YU9wZXJhdGlvbiB7XG4gIC8qKlxuICAgKiBMb2FkaW5nIHRoZSBleGlzdGluZyBgZGF0YS5qc29uYC5cbiAgICovXG4gIExvYWQgPSAnbG9hZCcsXG5cbiAgLyoqXG4gICAqIFNhdmluZyBhIG5ldyBgZGF0YS5qc29uYC5cbiAgICovXG4gIFNhdmUgPSAnc2F2ZSdcbn1cblxuLyoqXG4gKiBBIGhhbmRsZXIgZm9yIGxvYWRpbmcgYW5kIHNhdmluZyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUhhbmRsZXIge1xuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBsb2FkIGRhdGEgZnJvbSB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbG9hZGVkIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBsb2FkRGF0YTogKCkgPT4gUHJvbWlzZTx1bmtub3duPjtcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byBzYXZlIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBzYXZlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2F2ZURhdGE6IChkYXRhOiB1bmtub3duKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBQbHVnaW5EYXRhSGFuZGxlcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luRGF0YUhhbmRsZXJDb25zdHJ1Y3Rvck9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gc2l6ZSBvZiBgZGF0YS5qc29uYCwgaW4gVVRGLTggYnl0ZXMgYXMgd3JpdHRlbiB0byBkaXNrLiBEZWZhdWx0cyB0b1xuICAgKiB7QGxpbmsgREVGQVVMVF9QTFVHSU5fREFUQV9NQVhfU0laRV9JTl9CWVRFU30uIFBhc3MgYEluZmluaXR5YCB0byBkaXNhYmxlIHRoZSBndWFyZC5cbiAgICovXG4gIHJlYWRvbmx5IG1heFNpemVJbkJ5dGVzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBQbHVnaW5EYXRhU2l6ZUxpbWl0RXhjZWVkZWRFcnJvcn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luRGF0YVNpemVMaW1pdEV4Y2VlZGVkRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBsaW1pdCwgaW4gYnl0ZXMuXG4gICAqL1xuICByZWFkb25seSBtYXhTaXplSW5CeXRlczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVmdXNlZCBvcGVyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb246IFBsdWdpbkRhdGFPcGVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIG9mIHRoZSBwbHVnaW4ncyBgZGF0YS5qc29uYC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGBtYW5pZmVzdC5pZGAgb2YgdGhlIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBgbWFuaWZlc3QubmFtZWAgb2YgdGhlIHBsdWdpbi5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGV4aXN0aW5nIGZpbGUgKGxvYWQpIG9yIG9mIHRoZSBzZXJpYWxpemVkIGRhdGEgKHNhdmUpLCBpbiBieXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNpemVJbkJ5dGVzOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciBsb2FkaW5nIGFuZCBzYXZpbmcgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLCByZWZ1c2luZyBhIGBkYXRhLmpzb25gIGxhcmdlciB0aGFuIGEgYnl0ZSBsaW1pdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkRhdGFIYW5kbGVyIGltcGxlbWVudHMgRGF0YUhhbmRsZXIge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gc2l6ZSBvZiBgZGF0YS5qc29uYCwgaW4gYnl0ZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWF4U2l6ZUluQnl0ZXM6IG51bWJlcjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwbHVnaW4gZGF0YSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW4sIG9wdGlvbnM6IFBsdWdpbkRhdGFIYW5kbGVyQ29uc3RydWN0b3JPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtYXhTaXplSW5CeXRlcyA9IG9wdGlvbnMubWF4U2l6ZUluQnl0ZXMgPz8gREVGQVVMVF9QTFVHSU5fREFUQV9NQVhfU0laRV9JTl9CWVRFUztcbiAgICBpZiAoTnVtYmVyLmlzTmFOKG1heFNpemVJbkJ5dGVzKSB8fCBtYXhTaXplSW5CeXRlcyA8IDApIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBtYXhTaXplSW5CeXRlcyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlciwgZ290ICR7U3RyaW5nKG1heFNpemVJbkJ5dGVzKX0uYCk7XG4gICAgfVxuICAgIHRoaXMubWF4U2l6ZUluQnl0ZXMgPSBtYXhTaXplSW5CeXRlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyBkYXRhIGZyb20gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAgICpcbiAgICogVGhlIGZpbGUncyBzaXplIGlzIHJlYWQgdGhyb3VnaCB0aGUgYWRhcHRlciBCRUZPUkUgT2JzaWRpYW4gcmVhZHMgYW5kIHBhcnNlcyBpdCwgc28gYW4gb3ZlcnNpemVkIGZpbGUgaXMgbmV2ZXJcbiAgICogbG9hZGVkIGludG8gbWVtb3J5LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbG9hZGVkIGRhdGEuXG4gICAqIEB0aHJvd3Mge0BsaW5rIFBsdWdpbkRhdGFTaXplTGltaXRFeGNlZWRlZEVycm9yfSBJZiB0aGUgZXhpc3RpbmcgZmlsZSBpcyBsYXJnZXIgdGhhbiB0aGUgbGltaXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbG9hZERhdGEoKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgY29uc3Qgc2l6ZUluQnl0ZXMgPSBhd2FpdCB0aGlzLmdldEV4aXN0aW5nRmlsZVNpemUoKTtcbiAgICBpZiAoc2l6ZUluQnl0ZXMgIT09IG51bGwgJiYgc2l6ZUluQnl0ZXMgPiB0aGlzLm1heFNpemVJbkJ5dGVzKSB7XG4gICAgICB0aHJvdyB0aGlzLmNyZWF0ZUVycm9yKFBsdWdpbkRhdGFPcGVyYXRpb24uTG9hZCwgc2l6ZUluQnl0ZXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIFRoZSBkYXRhIGlzIHNlcmlhbGl6ZWQgZXhhY3RseSBhcyBPYnNpZGlhbiB3cml0ZXMgaXQsIGFuZCBpdHMgVVRGLTggYnl0ZSBsZW5ndGggaXMgY2hlY2tlZCBiZWZvcmUgYW55dGhpbmcgaXNcbiAgICogd3JpdHRlbi5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBzYXZlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBkYXRhIGlzIHNhdmVkLlxuICAgKiBAdGhyb3dzIHtAbGluayBQbHVnaW5EYXRhU2l6ZUxpbWl0RXhjZWVkZWRFcnJvcn0gSWYgdGhlIHNlcmlhbGl6ZWQgZGF0YSBpcyBsYXJnZXIgdGhhbiB0aGUgbGltaXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZURhdGEoZGF0YTogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm1heFNpemVJbkJ5dGVzICE9PSBJbmZpbml0eSkge1xuICAgICAgLy8gT2JzaWRpYW4ncyBgd3JpdGVKc29uYCB3b3VsZCBzd2FsbG93IGEgc2VyaWFsaXphdGlvbiBmYWlsdXJlIGFuZCB3cml0ZSBub3RoaW5nOyB0aHJvd2luZyBoZXJlIGluc3RlYWQga2VlcHNcbiAgICAgIC8vIHRoZSBkaXNrIHVuY2hhbmdlZCB0b28sIGFuZCB0ZWxscyB0aGUgY2FsbGVyLlxuICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIHVuZGVmaW5lZCwgT0JTSURJQU5fSlNPTl9JTkRFTlQpO1xuICAgICAgaWYgKHNlcmlhbGl6ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBzaXplSW5CeXRlcyA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShzZXJpYWxpemVkKS5ieXRlTGVuZ3RoO1xuICAgICAgICBpZiAoc2l6ZUluQnl0ZXMgPiB0aGlzLm1heFNpemVJbkJ5dGVzKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5jcmVhdGVFcnJvcihQbHVnaW5EYXRhT3BlcmF0aW9uLlNhdmUsIHNpemVJbkJ5dGVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlRGF0YShkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBwbHVnaW4ncyBgZGF0YS5qc29uYCwgYXMgT2JzaWRpYW4ncyBgUGx1Z2luLmxvYWREYXRhYCByZWFkcyBpdC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHBhdGgsIG9yIGBudWxsYCB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm8gZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldERhdGFGaWxlUGF0aCgpOiBudWxsIHwgc3RyaW5nIHtcbiAgICBjb25zdCBkaXJlY3RvcnkgPSB0aGlzLnBsdWdpbi5tYW5pZmVzdC5kaXI7XG4gICAgcmV0dXJuIGRpcmVjdG9yeSA/IG5vcm1hbGl6ZVBhdGgoYCR7ZGlyZWN0b3J5fS9kYXRhLmpzb25gKSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVycm9yKG9wZXJhdGlvbjogUGx1Z2luRGF0YU9wZXJhdGlvbiwgc2l6ZUluQnl0ZXM6IG51bWJlcik6IFBsdWdpbkRhdGFTaXplTGltaXRFeGNlZWRlZEVycm9yIHtcbiAgICByZXR1cm4gbmV3IFBsdWdpbkRhdGFTaXplTGltaXRFeGNlZWRlZEVycm9yKHtcbiAgICAgIG1heFNpemVJbkJ5dGVzOiB0aGlzLm1heFNpemVJbkJ5dGVzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcGF0aDogdGhpcy5nZXREYXRhRmlsZVBhdGgoKSA/PyAnZGF0YS5qc29uJyxcbiAgICAgIHBsdWdpbklkOiB0aGlzLnBsdWdpbi5tYW5pZmVzdC5pZCxcbiAgICAgIHBsdWdpbk5hbWU6IHRoaXMucGx1Z2luLm1hbmlmZXN0Lm5hbWUsXG4gICAgICBzaXplSW5CeXRlc1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRFeGlzdGluZ0ZpbGVTaXplKCk6IFByb21pc2U8bnVsbCB8IG51bWJlcj4ge1xuICAgIGlmICh0aGlzLm1heFNpemVJbkJ5dGVzID09PSBJbmZpbml0eSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSB0aGlzLmdldERhdGFGaWxlUGF0aCgpO1xuICAgIGlmIChwYXRoID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXQgPSBhd2FpdCB0aGlzLnBsdWdpbi5hcHAudmF1bHQuYWRhcHRlci5zdGF0KHBhdGgpO1xuICAgICAgcmV0dXJuIHN0YXQ/LnNpemUgPz8gbnVsbDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFRoZSBzaXplIGlzIHVua25vd24sIG5vdCBvdmVyc2l6ZWQ6IE9ic2lkaWFuJ3Mgb3duIHJlYWQgZGVjaWRlcyB3aGF0IGhhcHBlbnMgbmV4dCwgYXMgYmVmb3JlIHRoaXMgZ3VhcmQuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaHJvd24gd2hlbiBhIHBsdWdpbidzIGBkYXRhLmpzb25gIGlzLCBvciB3b3VsZCBiZWNvbWUsIGxhcmdlciB0aGFuIHRoZSBjb25maWd1cmVkIGxpbWl0LlxuICpcbiAqIFRoZSBmaWxlIG9uIGRpc2sgaXMgbmV2ZXIgdG91Y2hlZCB3aGVuIHRoaXMgaXMgdGhyb3duOiBhbiBvdmVyc2l6ZWQgZXhpc3RpbmcgZmlsZSBpcyBsZWZ0IGludGFjdCBmb3IgdGhlIHVzZXIgdG9cbiAqIGluc3BlY3Qgb3IgdHJpbSwgYW5kIGFuIG92ZXJzaXplZCBzYXZlIGlzIHJlZnVzZWQgYmVmb3JlIGFueXRoaW5nIGlzIHdyaXR0ZW4sIHNvIHRoZSBsYXN0IGdvb2QgZmlsZSByZW1haW5zLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luRGF0YVNpemVMaW1pdEV4Y2VlZGVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBsaW1pdCwgaW4gYnl0ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4U2l6ZUluQnl0ZXM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHJlZnVzZWQgb3BlcmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGlvbjogUGx1Z2luRGF0YU9wZXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHBhdGggb2YgdGhlIHBsdWdpbidzIGBkYXRhLmpzb25gLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGBtYW5pZmVzdC5pZGAgb2YgdGhlIHBsdWdpbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYG1hbmlmZXN0Lm5hbWVgIG9mIHRoZSBwbHVnaW4uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZXhpc3RpbmcgZmlsZSAobG9hZCkgb3Igb2YgdGhlIHNlcmlhbGl6ZWQgZGF0YSAoc2F2ZSksIGluIGJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNpemVJbkJ5dGVzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgUGx1Z2luRGF0YVNpemVMaW1pdEV4Y2VlZGVkRXJyb3J9LlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBlcnJvci5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFBsdWdpbkRhdGFTaXplTGltaXRFeGNlZWRlZEVycm9yQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBjb25zdCB3aGF0ID0gcGFyYW1zLm9wZXJhdGlvbiA9PT0gUGx1Z2luRGF0YU9wZXJhdGlvbi5Mb2FkXG4gICAgICA/IGBSZWZ1c2luZyB0byBsb2FkIFwiJHtwYXJhbXMucGF0aH1cIjogdGhlIGZpbGUgaXMgJHtTdHJpbmcocGFyYW1zLnNpemVJbkJ5dGVzKX0gYnl0ZXNgXG4gICAgICA6IGBSZWZ1c2luZyB0byBzYXZlIFwiJHtwYXJhbXMucGF0aH1cIjogdGhlIGRhdGEgd291bGQgYmUgJHtTdHJpbmcocGFyYW1zLnNpemVJbkJ5dGVzKX0gYnl0ZXNgO1xuICAgIGNvbnN0IGNvbnNlcXVlbmNlID0gcGFyYW1zLm9wZXJhdGlvbiA9PT0gUGx1Z2luRGF0YU9wZXJhdGlvbi5Mb2FkXG4gICAgICA/ICdUaGUgZmlsZSB3YXMgbGVmdCB1bnRvdWNoZWQuJ1xuICAgICAgOiAnTm90aGluZyB3YXMgd3JpdHRlbiwgc28gdGhlIGxhc3Qgc2F2ZWQgZmlsZSByZW1haW5zLic7XG4gICAgc3VwZXIoXG4gICAgICBgUGx1Z2luIFwiJHtwYXJhbXMucGx1Z2luTmFtZX1cIiAoJHtwYXJhbXMucGx1Z2luSWR9KTogJHt3aGF0fSwgb3ZlciB0aGUgJHtTdHJpbmcocGFyYW1zLm1heFNpemVJbkJ5dGVzKX0tYnl0ZSBsaW1pdC4gJHtjb25zZXF1ZW5jZX0gYFxuICAgICAgICArICdLZWVwIGRhdGEuanNvbiBmb3Igc21hbGwgc2V0dGluZ3MsIGFuZCBtb3ZlIGxhcmdlIG9yIGdyb3dpbmcgc3RhdGUgdG8gTG9jYWxEYXRhU3RvcmUgb3IgU2hhcmVkRGF0YVN0b3JlLidcbiAgICApO1xuICAgIHRoaXMubmFtZSA9ICdQbHVnaW5EYXRhU2l6ZUxpbWl0RXhjZWVkZWRFcnJvcic7XG4gICAgdGhpcy5tYXhTaXplSW5CeXRlcyA9IHBhcmFtcy5tYXhTaXplSW5CeXRlcztcbiAgICB0aGlzLm9wZXJhdGlvbiA9IHBhcmFtcy5vcGVyYXRpb247XG4gICAgdGhpcy5wYXRoID0gcGFyYW1zLnBhdGg7XG4gICAgdGhpcy5wbHVnaW5JZCA9IHBhcmFtcy5wbHVnaW5JZDtcbiAgICB0aGlzLnBsdWdpbk5hbWUgPSBwYXJhbXMucGx1Z2luTmFtZTtcbiAgICB0aGlzLnNpemVJbkJ5dGVzID0gcGFyYW1zLnNpemVJbkJ5dGVzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkEsc0JBQThCO0FBSzlCLE1BQU0sdUJBQXVCO0FBUXRCLE1BQU0sd0NBQXdDO0FBSzlDLElBQUssc0JBQUwsa0JBQUtBLHlCQUFMO0FBSUwsRUFBQUEscUJBQUEsVUFBTztBQUtQLEVBQUFBLHFCQUFBLFVBQU87QUFURyxTQUFBQTtBQUFBLEdBQUE7QUFnRkwsTUFBTSxrQkFBeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVk3QyxZQUErQixRQUFnQixVQUErQyxDQUFDLEdBQUc7QUFBbkU7QUFDcEMsVUFBTSxpQkFBaUIsUUFBUSxrQkFBa0I7QUFDakQsUUFBSSxPQUFPLE1BQU0sY0FBYyxLQUFLLGlCQUFpQixHQUFHO0FBQ3RELFlBQU0sSUFBSSxXQUFXLHFEQUFxRCxPQUFPLGNBQWMsQ0FBQyxHQUFHO0FBQUEsSUFDckc7QUFDQSxTQUFLLGlCQUFpQjtB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
|