@angular/compiler 17.0.0-rc.1 → 17.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/render3/partial/class_metadata.mjs +1 -1
- package/esm2022/src/render3/partial/directive.mjs +1 -1
- package/esm2022/src/render3/partial/factory.mjs +1 -1
- package/esm2022/src/render3/partial/injectable.mjs +1 -1
- package/esm2022/src/render3/partial/injector.mjs +1 -1
- package/esm2022/src/render3/partial/ng_module.mjs +1 -1
- package/esm2022/src/render3/partial/pipe.mjs +1 -1
- package/esm2022/src/render3/r3_ast.mjs +55 -61
- package/esm2022/src/render3/r3_control_flow.mjs +17 -13
- package/esm2022/src/render3/r3_deferred_blocks.mjs +7 -8
- package/esm2022/src/render3/r3_deferred_triggers.mjs +46 -27
- package/esm2022/src/render3/view/compiler.mjs +2 -2
- package/esm2022/src/render3/view/i18n/util.mjs +1 -1
- package/esm2022/src/render3/view/t2_api.mjs +1 -1
- package/esm2022/src/render3/view/t2_binder.mjs +22 -10
- package/esm2022/src/render3/view/template.mjs +56 -5
- package/esm2022/src/template/pipeline/ir/index.mjs +2 -1
- package/esm2022/src/template/pipeline/ir/src/enums.mjs +69 -6
- package/esm2022/src/template/pipeline/ir/src/expression.mjs +85 -71
- package/esm2022/src/template/pipeline/ir/src/handle.mjs +13 -0
- package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +68 -50
- package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +23 -11
- package/esm2022/src/template/pipeline/ir/src/traits.mjs +1 -32
- package/esm2022/src/template/pipeline/src/compilation.mjs +3 -2
- package/esm2022/src/template/pipeline/src/conversion.mjs +2 -2
- package/esm2022/src/template/pipeline/src/emit.mjs +121 -107
- package/esm2022/src/template/pipeline/src/ingest.mjs +183 -54
- package/esm2022/src/template/pipeline/src/instruction.mjs +55 -20
- package/esm2022/src/template/pipeline/src/phases/any_cast.mjs +4 -3
- package/esm2022/src/template/pipeline/src/phases/apply_i18n_expressions.mjs +5 -5
- package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +18 -6
- package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/chaining.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/conditionals.mjs +6 -6
- package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/create_defer_deps_fns.mjs +43 -0
- package/esm2022/src/template/pipeline/src/phases/create_i18n_contexts.mjs +57 -0
- package/esm2022/src/template/pipeline/src/phases/create_i18n_icu_expressions.mjs +52 -0
- package/esm2022/src/template/pipeline/src/phases/defer_configs.mjs +30 -0
- package/esm2022/src/template/pipeline/src/phases/defer_resolve_targets.mjs +113 -0
- package/esm2022/src/template/pipeline/src/phases/empty_elements.mjs +4 -4
- package/esm2022/src/template/pipeline/src/phases/expand_safe_reads.mjs +7 -4
- package/esm2022/src/template/pipeline/src/phases/extract_i18n_messages.mjs +157 -0
- package/esm2022/src/template/pipeline/src/phases/generate_advance.mjs +4 -4
- package/esm2022/src/template/pipeline/src/phases/generate_projection_def.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +4 -3
- package/esm2022/src/template/pipeline/src/phases/has_const_expression_collection.mjs +28 -0
- package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +8 -2
- package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +147 -8
- package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +16 -14
- package/esm2022/src/template/pipeline/src/phases/local_refs.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/merge_i18n_contexts.mjs +59 -0
- package/esm2022/src/template/pipeline/src/phases/namespace.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/naming.mjs +11 -13
- package/esm2022/src/template/pipeline/src/phases/next_context_merging.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/ng_container.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/nonbindable.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/nullish_coalescing.mjs +8 -2
- package/esm2022/src/template/pipeline/src/phases/ordering.mjs +7 -2
- package/esm2022/src/template/pipeline/src/phases/parse_extracted_styles.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/pipe_creation.mjs +16 -11
- package/esm2022/src/template/pipeline/src/phases/pipe_variadic.mjs +7 -3
- package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +5 -3
- package/esm2022/src/template/pipeline/src/phases/pure_function_extraction.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/pure_literal_structures.mjs +4 -4
- package/esm2022/src/template/pipeline/src/phases/reify.mjs +55 -29
- package/esm2022/src/template/pipeline/src/phases/remove_empty_bindings.mjs +5 -2
- package/esm2022/src/template/pipeline/src/phases/remove_i18n_contexts.mjs +27 -0
- package/esm2022/src/template/pipeline/src/phases/repeater_derived_vars.mjs +7 -2
- package/esm2022/src/template/pipeline/src/phases/resolve_contexts.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/resolve_dollar_event.mjs +5 -5
- package/esm2022/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs +109 -0
- package/esm2022/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs +48 -0
- package/esm2022/src/template/pipeline/src/phases/resolve_names.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/resolve_sanitizers.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +14 -9
- package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +4 -29
- package/esm2022/src/template/pipeline/src/phases/style_binding_specialization.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +3 -3
- package/esm2022/src/template/pipeline/src/phases/track_fn_generation.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/track_fn_optimization.mjs +8 -2
- package/esm2022/src/template/pipeline/src/phases/track_variables.mjs +7 -2
- package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +2 -2
- package/esm2022/src/template/pipeline/src/phases/variable_optimization.mjs +5 -5
- package/esm2022/src/template/pipeline/src/phases/wrap_icus.mjs +2 -2
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/compiler.mjs +1806 -1097
- package/fesm2022/compiler.mjs.map +1 -1
- package/index.d.ts +41 -58
- package/package.json +3 -3
- package/esm2022/src/template/pipeline/src/phases/has_const_trait_collection.mjs +0 -34
- package/esm2022/src/template/pipeline/src/phases/i18n_message_extraction.mjs +0 -122
- package/esm2022/src/template/pipeline/src/phases/icu_extraction.mjs +0 -53
- package/esm2022/src/template/pipeline/src/phases/resolve_i18n_placeholders.mjs +0 -288
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
8
|
import { OpKind } from '../enums';
|
|
9
|
-
import { TRAIT_CONSUMES_VARS, TRAIT_DEPENDS_ON_SLOT_CONTEXT
|
|
9
|
+
import { TRAIT_CONSUMES_VARS, TRAIT_DEPENDS_ON_SLOT_CONTEXT } from '../traits';
|
|
10
10
|
import { NEW_OP } from './shared';
|
|
11
11
|
/**
|
|
12
12
|
* Create an `InterpolationTextOp`.
|
|
@@ -154,39 +154,51 @@ export function createAdvanceOp(delta, sourceSpan) {
|
|
|
154
154
|
/**
|
|
155
155
|
* Create a conditional op, which will display an embedded view according to a condtion.
|
|
156
156
|
*/
|
|
157
|
-
export function createConditionalOp(target, test, conditions, sourceSpan) {
|
|
157
|
+
export function createConditionalOp(target, targetSlot, test, conditions, sourceSpan) {
|
|
158
158
|
return {
|
|
159
159
|
kind: OpKind.Conditional,
|
|
160
160
|
target,
|
|
161
|
+
targetSlot,
|
|
161
162
|
test,
|
|
162
163
|
conditions,
|
|
163
164
|
processed: null,
|
|
164
165
|
sourceSpan,
|
|
165
166
|
contextValue: null,
|
|
166
167
|
...NEW_OP,
|
|
167
|
-
...TRAIT_USES_SLOT_INDEX,
|
|
168
168
|
...TRAIT_DEPENDS_ON_SLOT_CONTEXT,
|
|
169
169
|
...TRAIT_CONSUMES_VARS,
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
|
-
export function createRepeaterOp(repeaterCreate, collection, sourceSpan) {
|
|
172
|
+
export function createRepeaterOp(repeaterCreate, targetSlot, collection, sourceSpan) {
|
|
173
173
|
return {
|
|
174
174
|
kind: OpKind.Repeater,
|
|
175
175
|
target: repeaterCreate,
|
|
176
|
+
targetSlot,
|
|
176
177
|
collection,
|
|
177
178
|
sourceSpan,
|
|
178
179
|
...NEW_OP,
|
|
179
|
-
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export function createDeferWhenOp(target, expr, prefetch, sourceSpan) {
|
|
183
|
+
return {
|
|
184
|
+
kind: OpKind.DeferWhen,
|
|
185
|
+
target,
|
|
186
|
+
expr,
|
|
187
|
+
prefetch,
|
|
188
|
+
sourceSpan,
|
|
189
|
+
...NEW_OP,
|
|
190
|
+
...TRAIT_DEPENDS_ON_SLOT_CONTEXT,
|
|
180
191
|
};
|
|
181
192
|
}
|
|
182
193
|
/**
|
|
183
194
|
* Create an i18n expression op.
|
|
184
195
|
*/
|
|
185
|
-
export function createI18nExpressionOp(
|
|
196
|
+
export function createI18nExpressionOp(context, target, handle, expression, i18nPlaceholder, resolutionTime, sourceSpan) {
|
|
186
197
|
return {
|
|
187
198
|
kind: OpKind.I18nExpression,
|
|
188
|
-
|
|
189
|
-
target
|
|
199
|
+
context,
|
|
200
|
+
target,
|
|
201
|
+
handle,
|
|
190
202
|
expression,
|
|
191
203
|
i18nPlaceholder,
|
|
192
204
|
resolutionTime,
|
|
@@ -199,13 +211,13 @@ export function createI18nExpressionOp(owner, expression, i18nPlaceholder, resol
|
|
|
199
211
|
/**
|
|
200
212
|
*Creates an op to apply i18n expression ops
|
|
201
213
|
*/
|
|
202
|
-
export function createI18nApplyOp(target, sourceSpan) {
|
|
214
|
+
export function createI18nApplyOp(target, handle, sourceSpan) {
|
|
203
215
|
return {
|
|
204
216
|
kind: OpKind.I18nApply,
|
|
205
217
|
target,
|
|
218
|
+
handle,
|
|
206
219
|
sourceSpan,
|
|
207
220
|
...NEW_OP,
|
|
208
|
-
...TRAIT_USES_SLOT_INDEX,
|
|
209
221
|
};
|
|
210
222
|
}
|
|
211
223
|
/**
|
|
@@ -219,4 +231,4 @@ export function createIcuUpdateOp(xref, sourceSpan) {
|
|
|
219
231
|
...NEW_OP,
|
|
220
232
|
};
|
|
221
233
|
}
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy9vcHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1ILE9BQU8sRUFBdUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBR3RFLE9BQU8sRUFBMkYsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUscUJBQXFCLEVBQXFCLE1BQU0sV0FBVyxDQUFDO0FBR2xOLE9BQU8sRUFBWSxNQUFNLEVBQTBCLE1BQU0sVUFBVSxDQUFDO0FBc0NwRTs7R0FFRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FDbkMsSUFBWSxFQUFFLGFBQTRCLEVBQUUsZ0JBQW9DLEVBQ2hGLFVBQTJCO0lBQzdCLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLGVBQWU7UUFDNUIsTUFBTSxFQUFFLElBQUk7UUFDWixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLFVBQVU7UUFDVixHQUFHLDZCQUE2QjtRQUNoQyxHQUFHLG1CQUFtQjtRQUN0QixHQUFHLE1BQU07S0FDVixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXFCLE9BQWlCLEVBQVcsV0FBMkI7UUFBdkQsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFXLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUFHLENBQUM7Q0FDakY7QUFzREQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUMzQixNQUFjLEVBQUUsSUFBaUIsRUFBRSxJQUFZLEVBQUUsVUFBc0MsRUFDdkYsSUFBaUIsRUFBRSxlQUFnQyxFQUFFLGVBQXdCLEVBQzdFLFVBQW1CLEVBQUUsVUFBMkI7SUFDbEQsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTztRQUNwQixXQUFXLEVBQUUsSUFBSTtRQUNqQixNQUFNO1FBQ04sSUFBSTtRQUNKLFVBQVU7UUFDVixJQUFJO1FBQ0osZUFBZTtRQUNmLGVBQWU7UUFDZixVQUFVO1FBQ1YsVUFBVTtRQUNWLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBOENEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixNQUFjLEVBQUUsSUFBWSxFQUFFLFVBQXNDLEVBQ3BFLGtCQUEyQixFQUFFLGVBQWdDLEVBQUUsVUFBbUIsRUFFbEYsVUFBMkI7SUFDN0IsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUTtRQUNyQixNQUFNO1FBQ04sSUFBSTtRQUNKLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVTtRQUNWLFVBQVU7UUFDVixHQUFHLDZCQUE2QjtRQUNoQyxHQUFHLG1CQUFtQjtRQUN0QixHQUFHLE1BQU07S0FDVixDQUFDO0FBQ0osQ0FBQztBQStCRCw4QkFBOEI7QUFDOUIsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixJQUFZLEVBQUUsSUFBWSxFQUFFLFVBQXNDLEVBQUUsSUFBaUIsRUFDckYsVUFBMkI7SUFDN0IsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUztRQUN0QixNQUFNLEVBQUUsSUFBSTtRQUNaLElBQUk7UUFDSixVQUFVO1FBQ1YsSUFBSTtRQUNKLFVBQVU7UUFDVixHQUFHLDZCQUE2QjtRQUNoQyxHQUFHLG1CQUFtQjtRQUN0QixHQUFHLE1BQU07S0FDVixDQUFDO0FBQ0osQ0FBQztBQTBCRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDN0IsSUFBWSxFQUFFLElBQVksRUFBRSxVQUF3QixFQUNwRCxVQUEyQjtJQUM3QixPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQ3RCLE1BQU0sRUFBRSxJQUFJO1FBQ1osSUFBSTtRQUNKLFVBQVU7UUFDVixVQUFVO1FBQ1YsR0FBRyw2QkFBNkI7UUFDaEMsR0FBRyxtQkFBbUI7UUFDdEIsR0FBRyxNQUFNO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFxQkQsNkJBQTZCO0FBQzdCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsSUFBWSxFQUFFLFVBQXNDLEVBQUUsVUFBMkI7SUFDbkYsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUTtRQUNyQixNQUFNLEVBQUUsSUFBSTtRQUNaLFVBQVU7UUFDVixVQUFVO1FBQ1YsR0FBRyw2QkFBNkI7UUFDaEMsR0FBRyxtQkFBbUI7UUFDdEIsR0FBRyxNQUFNO0tBQ1YsQ0FBQztBQUNKLENBQUM7QUFxQkQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLElBQVksRUFBRSxVQUFzQyxFQUFFLFVBQTJCO0lBQ25GLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDckIsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVO1FBQ1YsVUFBVTtRQUNWLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBZ0REOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixNQUFjLEVBQUUsSUFBWSxFQUFFLFVBQXNDLEVBQ3BFLGVBQWdDLEVBQUUsZUFBd0IsRUFBRSxVQUFtQixFQUMvRSxVQUEyQjtJQUM3QixPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQ3RCLE1BQU07UUFDTixJQUFJO1FBQ0osVUFBVTtRQUNWLGVBQWU7UUFDZixTQUFTLEVBQUUsSUFBSTtRQUNmLGVBQWU7UUFDZixVQUFVO1FBQ1YsVUFBVTtRQUNWLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBaUJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxLQUFhLEVBQUUsVUFBMkI7SUFDeEUsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsT0FBTztRQUNwQixLQUFLO1FBQ0wsVUFBVTtRQUNWLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBOENEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixNQUFjLEVBQUUsSUFBdUIsRUFBRSxVQUFzQyxFQUMvRSxVQUEyQjtJQUM3QixPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1FBQ3hCLE1BQU07UUFDTixJQUFJO1FBQ0osVUFBVTtRQUNWLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVTtRQUNWLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsTUFBTTtRQUNULEdBQUcscUJBQXFCO1FBQ3hCLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO0tBQ3ZCLENBQUM7QUFDSixDQUFDO0FBa0JELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDNUIsY0FBc0IsRUFBRSxVQUF3QixFQUFFLFVBQTJCO0lBQy9FLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVE7UUFDckIsTUFBTSxFQUFFLGNBQWM7UUFDdEIsVUFBVTtRQUNWLFVBQVU7UUFDVixHQUFHLE1BQU07UUFDVCxHQUFHLHFCQUFxQjtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQXdDRDs7R0FFRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsS0FBYSxFQUFFLFVBQXdCLEVBQUUsZUFBdUIsRUFDaEUsY0FBdUMsRUFBRSxVQUEyQjtJQUN0RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxjQUFjO1FBQzNCLEtBQUs7UUFDTCxNQUFNLEVBQUUsS0FBSztRQUNiLFVBQVU7UUFDVixlQUFlO1FBQ2YsY0FBYztRQUNkLFVBQVU7UUFDVixHQUFHLE1BQU07UUFDVCxHQUFHLG1CQUFtQjtRQUN0QixHQUFHLDZCQUE2QjtLQUNqQyxDQUFDO0FBQ0osQ0FBQztBQWdCRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsVUFBMkI7SUFDM0UsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUztRQUN0QixNQUFNO1FBQ04sVUFBVTtRQUNWLEdBQUcsTUFBTTtRQUNULEdBQUcscUJBQXFCO0tBQ3pCLENBQUM7QUFDSixDQUFDO0FBZ0JEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVksRUFBRSxVQUEyQjtJQUN6RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQ3RCLElBQUk7UUFDSixVQUFVO1FBQ1YsR0FBRyxNQUFNO0tBQ1YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtTZWN1cml0eUNvbnRleHR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0ICogYXMgaTE4biBmcm9tICcuLi8uLi8uLi8uLi8uLi9pMThuL2kxOG5fYXN0JztcbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0IHtQYXJzZVNvdXJjZVNwYW59IGZyb20gJy4uLy4uLy4uLy4uLy4uL3BhcnNlX3V0aWwnO1xuaW1wb3J0IHtCaW5kaW5nS2luZCwgSTE4blBhcmFtUmVzb2x1dGlvblRpbWUsIE9wS2luZH0gZnJvbSAnLi4vZW51bXMnO1xuaW1wb3J0IHR5cGUge0NvbmRpdGlvbmFsQ2FzZUV4cHJ9IGZyb20gJy4uL2V4cHJlc3Npb24nO1xuaW1wb3J0IHtPcCwgWHJlZklkfSBmcm9tICcuLi9vcGVyYXRpb25zJztcbmltcG9ydCB7Q29uc3VtZXNTbG90T3BUcmFpdCwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCwgVFJBSVRfQ09OU1VNRVNfU0xPVCwgVFJBSVRfQ09OU1VNRVNfVkFSUywgVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsIFRSQUlUX1VTRVNfU0xPVF9JTkRFWCwgVXNlc1Nsb3RJbmRleFRyYWl0fSBmcm9tICcuLi90cmFpdHMnO1xuXG5pbXBvcnQgdHlwZSB7SG9zdFByb3BlcnR5T3B9IGZyb20gJy4vaG9zdCc7XG5pbXBvcnQge0xpc3RFbmRPcCwgTkVXX09QLCBTdGF0ZW1lbnRPcCwgVmFyaWFibGVPcH0gZnJvbSAnLi9zaGFyZWQnO1xuXG5cbi8qKlxuICogQW4gb3BlcmF0aW9uIHVzYWJsZSBvbiB0aGUgdXBkYXRlIHNpZGUgb2YgdGhlIElSLlxuICovXG5leHBvcnQgdHlwZSBVcGRhdGVPcCA9IExpc3RFbmRPcDxVcGRhdGVPcD58U3RhdGVtZW50T3A8VXBkYXRlT3A+fFByb3BlcnR5T3B8QXR0cmlidXRlT3B8U3R5bGVQcm9wT3B8XG4gICAgQ2xhc3NQcm9wT3B8U3R5bGVNYXBPcHxDbGFzc01hcE9wfEludGVycG9sYXRlVGV4dE9wfEFkdmFuY2VPcHxWYXJpYWJsZU9wPFVwZGF0ZU9wPnxCaW5kaW5nT3B8XG4gICAgSG9zdFByb3BlcnR5T3B8Q29uZGl0aW9uYWxPcHxJMThuRXhwcmVzc2lvbk9wfEkxOG5BcHBseU9wfEljdVVwZGF0ZU9wfFJlcGVhdGVyT3A7XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiB0byBwZXJmb3JtIHN0cmluZyBpbnRlcnBvbGF0aW9uIG9uIGEgdGV4dCBub2RlLlxuICpcbiAqIEludGVycG9sYXRpb24gaW5wdXRzIGFyZSBzdG9yZWQgYXMgc3RhdGljIGBzdHJpbmdgcyBhbmQgZHluYW1pYyBgby5FeHByZXNzaW9uYHMsIGluIHNlcGFyYXRlXG4gKiBhcnJheXMuIFRodXMsIHRoZSBpbnRlcnBvbGF0aW9uIGBBe3tifX1De3tkfX1FYCBpcyBzdG9yZWQgYXMgMyBzdGF0aWMgc3RyaW5ncyBgWydBJywgJ0MnLCAnRSddYFxuICogYW5kIDIgZHluYW1pYyBleHByZXNzaW9ucyBgW2IsIGRdYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlcnBvbGF0ZVRleHRPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQge1xuICBraW5kOiBPcEtpbmQuSW50ZXJwb2xhdGVUZXh0O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHRleHQgbm9kZSB0byB3aGljaCB0aGUgaW50ZXJwb2xhdGlvbiBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZXJwb2xhdGVkIHZhbHVlLlxuICAgKi9cbiAgaW50ZXJwb2xhdGlvbjogSW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGkxOG4gcGxhY2Vob2xkZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGludGVycG9sYXRpb24uXG4gICAqL1xuICBpMThuUGxhY2Vob2xkZXJzOiBpMThuLlBsYWNlaG9sZGVyW107XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBgSW50ZXJwb2xhdGlvblRleHRPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnRlcnBvbGF0ZVRleHRPcChcbiAgICB4cmVmOiBYcmVmSWQsIGludGVycG9sYXRpb246IEludGVycG9sYXRpb24sIGkxOG5QbGFjZWhvbGRlcnM6IGkxOG4uUGxhY2Vob2xkZXJbXSxcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJbnRlcnBvbGF0ZVRleHRPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkludGVycG9sYXRlVGV4dCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgaW50ZXJwb2xhdGlvbixcbiAgICBpMThuUGxhY2Vob2xkZXJzLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBJbnRlcnBvbGF0aW9uIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc3RyaW5nczogc3RyaW5nW10sIHJlYWRvbmx5IGV4cHJlc3Npb25zOiBvLkV4cHJlc3Npb25bXSkge31cbn1cblxuLyoqXG4gKiBBbiBpbnRlcm1lZGlhdGUgYmluZGluZyBvcCwgdGhhdCBoYXMgbm90IHlldCBiZWVuIHByb2Nlc3NlZCBpbnRvIGFuIGluZGl2aWR1YWwgcHJvcGVydHksXG4gKiBhdHRyaWJ1dGUsIHN0eWxlLCBldGMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmluZGluZ09wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkJpbmRpbmc7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogIFRoZSBraW5kIG9mIGJpbmRpbmcgcmVwcmVzZW50ZWQgYnkgdGhpcyBvcC5cbiAgICovXG4gIGJpbmRpbmdLaW5kOiBCaW5kaW5nS2luZDtcblxuICAvKipcbiAgICogIFRoZSBuYW1lIG9mIHRoaXMgYmluZGluZy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHVuaXQgb2YgdGhlIGJvdW5kIHZhbHVlLlxuICAgKi9cbiAgdW5pdDogc3RyaW5nfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBjb250ZXh0IG9mIHRoZSBiaW5kaW5nLlxuICAgKi9cbiAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJpbmRpbmcgaXMgYSBUZXh0QXR0cmlidXRlIChlLmcuIGBzb21lLWF0dHI9XCJzb21lLXZhbHVlXCJgKS4gVGhpcyBuZWVkcyB0byBiZVxuICAgKiB0cmFja2VkIGZvciBjb21wYXRpYmxpdHkgd2l0aCBgVGVtcGxhdGVEZWZpbml0aW9uQnVpbGRlcmAgd2hpY2ggdHJlYXRzIGBzdHlsZWAgYW5kIGBjbGFzc2BcbiAgICogVGV4dEF0dHJpYnV0ZXMgZGlmZmVyZW50bHkgZnJvbSBgW2F0dHIuc3R5bGVdYCBhbmQgYFthdHRyLmNsYXNzXWAuXG4gICAqL1xuICBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBiaW5kaW5nIGlzIG9uIGEgdGVtcGxhdGUuXG4gICAqL1xuICBpc1RlbXBsYXRlOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgQmluZGluZ09wYCwgbm90IHlldCB0cmFuc2Zvcm1lZCBpbnRvIGEgcGFydGljdWxhciB0eXBlIG9mIGJpbmRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCaW5kaW5nT3AoXG4gICAgdGFyZ2V0OiBYcmVmSWQsIGtpbmQ6IEJpbmRpbmdLaW5kLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLFxuICAgIHVuaXQ6IHN0cmluZ3xudWxsLCBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dCwgaXNUZXh0QXR0cmlidXRlOiBib29sZWFuLFxuICAgIGlzVGVtcGxhdGU6IGJvb2xlYW4sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEJpbmRpbmdPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkJpbmRpbmcsXG4gICAgYmluZGluZ0tpbmQ6IGtpbmQsXG4gICAgdGFyZ2V0LFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICB1bml0LFxuICAgIHNlY3VyaXR5Q29udGV4dCxcbiAgICBpc1RleHRBdHRyaWJ1dGUsXG4gICAgaXNUZW1wbGF0ZSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgcHJvcGVydHkgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9wZXJ0eU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLlByb3BlcnR5O1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJvdW5kIHByb3BlcnR5LlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgcHJvcGVydHkgaXMgYW4gYW5pbWF0aW9uIHRyaWdnZXIuXG4gICAqL1xuICBpc0FuaW1hdGlvblRyaWdnZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN1cml0eSBjb250ZXh0IG9mIHRoZSBiaW5kaW5nLlxuICAgKi9cbiAgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzYW5pdGl6ZXIgZm9yIHRoaXMgcHJvcGVydHkuXG4gICAqL1xuICBzYW5pdGl6ZXI6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYmluZGluZyBpcyBvbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgaXNUZW1wbGF0ZTogYm9vbGVhbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFByb3BlcnR5T3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvcGVydHlPcChcbiAgICB0YXJnZXQ6IFhyZWZJZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbixcbiAgICBpc0FuaW1hdGlvblRyaWdnZXI6IGJvb2xlYW4sIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0LCBpc1RlbXBsYXRlOiBib29sZWFuLFxuXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogUHJvcGVydHlPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLlByb3BlcnR5LFxuICAgIHRhcmdldCxcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgaXNBbmltYXRpb25UcmlnZ2VyLFxuICAgIHNlY3VyaXR5Q29udGV4dCxcbiAgICBzYW5pdGl6ZXI6IG51bGwsXG4gICAgaXNUZW1wbGF0ZSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBzdHlsZSBwcm9wZXJ0eSBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlUHJvcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLlN0eWxlUHJvcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBib3VuZCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHVuaXQgb2YgdGhlIGJvdW5kIHZhbHVlLlxuICAgKi9cbiAgdW5pdDogc3RyaW5nfG51bGw7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKiogQ3JlYXRlIGEgYFN0eWxlUHJvcE9wYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdHlsZVByb3BPcChcbiAgICB4cmVmOiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sIHVuaXQ6IHN0cmluZ3xudWxsLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFN0eWxlUHJvcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuU3R5bGVQcm9wLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgdW5pdCxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBjbGFzcyBwcm9wZXJ0eSBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsYXNzUHJvcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLkNsYXNzUHJvcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBib3VuZCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBDbGFzc1Byb3BPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbGFzc1Byb3BPcChcbiAgICB4cmVmOiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IENsYXNzUHJvcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQ2xhc3NQcm9wLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgc3R5bGUgbWFwIGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVNYXBPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5TdHlsZU1hcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqIENyZWF0ZSBhIGBTdHlsZU1hcE9wYC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTdHlsZU1hcE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFN0eWxlTWFwT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5TdHlsZU1hcCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGJpbmRpbmcgdG8gYSBzdHlsZSBtYXAgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFzc01hcE9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAga2luZDogT3BLaW5kLkNsYXNzTWFwO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBDbGFzc01hcE9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNsYXNzTWFwT3AoXG4gICAgeHJlZjogWHJlZklkLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbiwgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQ2xhc3NNYXBPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkNsYXNzTWFwLFxuICAgIHRhcmdldDogeHJlZixcbiAgICBleHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgc2V0dGluZyBhbiBhdHRyaWJ1dGUgb24gYW4gZWxlbWVudCBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkF0dHJpYnV0ZTtcblxuICAvKipcbiAgICogVGhlIGBYcmVmSWRgIG9mIHRoZSB0ZW1wbGF0ZS1saWtlIGVsZW1lbnQgdGhlIGF0dHJpYnV0ZSB3aWxsIGJlbG9uZyB0by5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIGF0dHJpYnV0ZS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdXJpdHkgY29udGV4dCBvZiB0aGUgYmluZGluZy5cbiAgICovXG4gIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FuaXRpemVyIGZvciB0aGlzIGF0dHJpYnV0ZS5cbiAgICovXG4gIHNhbml0aXplcjogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJpbmRpbmcgaXMgYSBUZXh0QXR0cmlidXRlIChlLmcuIGBzb21lLWF0dHI9XCJzb21lLXZhbHVlXCJgKS4gVGhpcyBuZWVkcyBvdCBiZVxuICAgKiB0cmFja2VkIGZvciBjb21wYXRpYmxpdHkgd2l0aCBgVGVtcGxhdGVEZWZpbml0aW9uQnVpbGRlcmAgd2hpY2ggdHJlYXRzIGBzdHlsZWAgYW5kIGBjbGFzc2BcbiAgICogVGV4dEF0dHJpYnV0ZXMgZGlmZmVyZW50bHkgZnJvbSBgW2F0dHIuc3R5bGVdYCBhbmQgYFthdHRyLmNsYXNzXWAuXG4gICAqL1xuICBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBiaW5kaW5nIGlzIG9uIGEgdGVtcGxhdGUuXG4gICAqL1xuICBpc1RlbXBsYXRlOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gYEF0dHJpYnV0ZU9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUF0dHJpYnV0ZU9wKFxuICAgIHRhcmdldDogWHJlZklkLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLFxuICAgIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0LCBpc1RleHRBdHRyaWJ1dGU6IGJvb2xlYW4sIGlzVGVtcGxhdGU6IGJvb2xlYW4sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQXR0cmlidXRlT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5BdHRyaWJ1dGUsXG4gICAgdGFyZ2V0LFxuICAgIG5hbWUsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzZWN1cml0eUNvbnRleHQsXG4gICAgc2FuaXRpemVyOiBudWxsLFxuICAgIGlzVGV4dEF0dHJpYnV0ZSxcbiAgICBpc1RlbXBsYXRlLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogTG9naWNhbCBvcGVyYXRpb24gdG8gYWR2YW5jZSB0aGUgcnVudGltZSdzIGludGVybmFsIHNsb3QgcG9pbnRlciBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFkdmFuY2VPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5BZHZhbmNlO1xuXG4gIC8qKlxuICAgKiBEZWx0YSBieSB3aGljaCB0byBhZHZhbmNlIHRoZSBwb2ludGVyLlxuICAgKi9cbiAgZGVsdGE6IG51bWJlcjtcblxuICAvLyBTb3VyY2Ugc3BhbiBvZiB0aGUgYmluZGluZyB0aGF0IGNhdXNlZCB0aGUgYWR2YW5jZVxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGBBZHZhbmNlT3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWR2YW5jZU9wKGRlbHRhOiBudW1iZXIsIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEFkdmFuY2VPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkFkdmFuY2UsXG4gICAgZGVsdGEsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogTG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbmFsT3AgZXh0ZW5kcyBPcDxDb25kaXRpb25hbE9wPiwgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlc1Nsb3RJbmRleFRyYWl0LCBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5Db25kaXRpb25hbDtcblxuICAvKipcbiAgICogVGhlIGluc2VydGlvbiBwb2ludCwgd2hpY2ggaXMgdGhlIGZpcnN0IHRlbXBsYXRlIGluIHRoZSBjcmVhdGlvbiBibG9jayBiZWxvbmdpbmcgdG8gdGhpc1xuICAgKiBjb25kaXRpb24uXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIHNsb3Qgb2YgdGhlIHRhcmdldCwgdG8gYmUgcG9wdWxhdGVkIGR1cmluZyBzbG90IGFsbG9jYXRpb24uXG4gICAqL1xuICB0YXJnZXRTbG90OiBudW1iZXJ8bnVsbDtcblxuICAvKipcbiAgICogVGhlIG1haW4gdGVzdCBleHByZXNzaW9uIChmb3IgYSBzd2l0Y2gpLCBvciBgbnVsbGAgKGZvciBhbiBpZiwgd2hpY2ggaGFzIG5vIHRlc3QgZXhwcmVzc2lvbikuXG4gICAqL1xuICB0ZXN0OiBvLkV4cHJlc3Npb258bnVsbDtcblxuICAvKipcbiAgICogRWFjaCBwb3NzaWJsZSBlbWJlZGRlZCB2aWV3IHRoYXQgY291bGQgYmUgZGlzcGxheWVkIGhhcyBhIGNvbmRpdGlvbiAob3IgaXMgZGVmYXVsdCkuIFRoaXNcbiAgICogc3RydWN0dXJlIG1hcHMgZWFjaCB2aWV3IHhyZWYgdG8gaXRzIGNvcnJlc3BvbmRpbmcgY29uZGl0aW9uLlxuICAgKi9cbiAgY29uZGl0aW9uczogQXJyYXk8Q29uZGl0aW9uYWxDYXNlRXhwcj47XG5cbiAgLyoqXG4gICAqIEFmdGVyIHByb2Nlc3NpbmcsIHRoaXMgd2lsbCBiZSBhIHNpbmdsZSBjb2xsYXBzZWQgSm9vc3QtZXhwcmVzc2lvbiB0aGF0IGV2YWx1YXRlcyB0aGVcbiAgICogY29uZGl0aW9ucywgYW5kIHlpZWxkcyB0aGUgc2xvdCBudW1iZXIgb2YgdGhlIHRlbXBsYXRlIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBwcm9jZXNzZWQ6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBDb250cm9sIGZsb3cgY29uZGl0aW9uYWxzIGNhbiBhY2NlcHQgYSBjb250ZXh0IHZhbHVlICh0aGlzIGlzIGEgcmVzdWx0IG9mIHNwZWNpZnlpbmcgYW4gYWxpYXMpLlxuICAgKiBUaGlzIGV4cHJlc3Npb24gd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGNvbmRpdGlvbmFsIGluc3RydWN0aW9uJ3MgY29udGV4dCBwYXJhbWV0ZXIuXG4gICAqL1xuICBjb250ZXh0VmFsdWU6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjb25kaXRpb25hbCBvcCwgd2hpY2ggd2lsbCBkaXNwbGF5IGFuIGVtYmVkZGVkIHZpZXcgYWNjb3JkaW5nIHRvIGEgY29uZHRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25kaXRpb25hbE9wKFxuICAgIHRhcmdldDogWHJlZklkLCB0ZXN0OiBvLkV4cHJlc3Npb258bnVsbCwgY29uZGl0aW9uczogQXJyYXk8Q29uZGl0aW9uYWxDYXNlRXhwcj4sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogQ29uZGl0aW9uYWxPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkNvbmRpdGlvbmFsLFxuICAgIHRhcmdldCxcbiAgICB0ZXN0LFxuICAgIGNvbmRpdGlvbnMsXG4gICAgcHJvY2Vzc2VkOiBudWxsLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgY29udGV4dFZhbHVlOiBudWxsLFxuICAgIC4uLk5FV19PUCxcbiAgICAuLi5UUkFJVF9VU0VTX1NMT1RfSU5ERVgsXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXBlYXRlck9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBVc2VzU2xvdEluZGV4VHJhaXQge1xuICBraW5kOiBPcEtpbmQuUmVwZWF0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBSZXBlYXRlckNyZWF0ZSBvcCBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBlYXRlci5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgY29sbGVjdGlvbiBwcm92aWRlZCB0byB0aGUgZm9yIGxvb3AgYXMgaXRzIGV4cHJlc3Npb24uXG4gICAqL1xuICBjb2xsZWN0aW9uOiBvLkV4cHJlc3Npb247XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVwZWF0ZXJPcChcbiAgICByZXBlYXRlckNyZWF0ZTogWHJlZklkLCBjb2xsZWN0aW9uOiBvLkV4cHJlc3Npb24sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFJlcGVhdGVyT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5SZXBlYXRlcixcbiAgICB0YXJnZXQ6IHJlcGVhdGVyQ3JlYXRlLFxuICAgIGNvbGxlY3Rpb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gICAgLi4uVFJBSVRfVVNFU19TTE9UX0lOREVYLFxuICB9O1xufVxuXG4vKipcbiAqIEFuIG9wIHRoYXQgcmVwcmVzZW50cyBhbiBleHByZXNzaW9uIGluIGFuIGkxOG4gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJMThuRXhwcmVzc2lvbk9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JMThuRXhwcmVzc2lvbjtcblxuICAvKipcbiAgICogVGhlIGkxOG4gYmxvY2sgdGhhdCB0aGlzIGV4cHJlc3Npb24gYmVsb25ncyB0by5cbiAgICovXG4gIG93bmVyOiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBYcmVmIG9mIHRoZSBvcCB0aGF0IHdlIG5lZWQgdG8gYGFkdmFuY2VgIHRvLiBUaGlzIHNob3VsZCBiZSB0aGUgZmluYWwgb3AgaW4gdGhlIG93bmluZyBpMThuXG4gICAqIGJsb2NrLiBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB0aGF0IHdlIHJ1biBhbGwgbGlmZWN5Y2xlIGhvb2tzLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBleHByZXNzaW9uIHZhbHVlLlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaTE4biBwbGFjZWhvbGRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleHByZXNzaW9uLlxuICAgKi9cbiAgaTE4blBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRoYXQgdGhpcyBleHByZXNzaW9uIGlzIHJlc29sdmVkLlxuICAgKi9cbiAgcmVzb2x1dGlvblRpbWU6IEkxOG5QYXJhbVJlc29sdXRpb25UaW1lO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuXG5cbi8qKlxuICogQ3JlYXRlIGFuIGkxOG4gZXhwcmVzc2lvbiBvcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUkxOG5FeHByZXNzaW9uT3AoXG4gICAgb3duZXI6IFhyZWZJZCwgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uLCBpMThuUGxhY2Vob2xkZXI6IHN0cmluZyxcbiAgICByZXNvbHV0aW9uVGltZTogSTE4blBhcmFtUmVzb2x1dGlvblRpbWUsIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEkxOG5FeHByZXNzaW9uT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5JMThuRXhwcmVzc2lvbixcbiAgICBvd25lcixcbiAgICB0YXJnZXQ6IG93bmVyLFxuICAgIGV4cHJlc3Npb24sXG4gICAgaTE4blBsYWNlaG9sZGVyLFxuICAgIHJlc29sdXRpb25UaW1lLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gIH07XG59XG5cbi8qKlxuICogQW4gb3AgdGhhdCByZXByZXNlbnRzIGFwcGx5aW5nIGEgc2V0IG9mIGkxOG4gZXhwcmVzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSTE4bkFwcGx5T3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIFVzZXNTbG90SW5kZXhUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JMThuQXBwbHk7XG5cbiAgLyoqXG4gICAqIFRoZSBpMThuIGJsb2NrIHRvIHdoaWNoIGV4cHJlc3Npb25zIGFyZSBhcHBsaWVkXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICpDcmVhdGVzIGFuIG9wIHRvIGFwcGx5IGkxOG4gZXhwcmVzc2lvbiBvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUkxOG5BcHBseU9wKHRhcmdldDogWHJlZklkLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJMThuQXBwbHlPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkkxOG5BcHBseSxcbiAgICB0YXJnZXQsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gICAgLi4uVFJBSVRfVVNFU19TTE9UX0lOREVYLFxuICB9O1xufVxuXG4vKipcbiAqIEFuIG9wIHRoYXQgcmVwcmVzZW50cyB1cGRhdGluZyBhbiBJQ1UgZXhwcmVzc2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJY3VVcGRhdGVPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5JY3VVcGRhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgSUNVIGJlaW5nIHVwZGF0ZWQuXG4gICAqL1xuICB4cmVmOiBYcmVmSWQ7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gb3AgdG8gdXBkYXRlIGFuIElDVSBleHByZXNzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSWN1VXBkYXRlT3AoeHJlZjogWHJlZklkLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBJY3VVcGRhdGVPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkljdVVwZGF0ZSxcbiAgICB4cmVmLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuIl19
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy9vcHMvdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1ILE9BQU8sRUFBdUMsTUFBTSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBSXRFLE9BQU8sRUFBaUQsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFN0gsT0FBTyxFQUFZLE1BQU0sRUFBMEIsTUFBTSxVQUFVLENBQUM7QUFzQ3BFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxJQUFZLEVBQUUsYUFBNEIsRUFBRSxnQkFBb0MsRUFDaEYsVUFBMkI7SUFDN0IsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsZUFBZTtRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLEdBQUcsNkJBQTZCO1FBQ2hDLEdBQUcsbUJBQW1CO1FBQ3RCLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBcUIsT0FBaUIsRUFBVyxXQUEyQjtRQUF2RCxZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQUcsQ0FBQztDQUNqRjtBQXNERDs7R0FFRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQzNCLE1BQWMsRUFBRSxJQUFpQixFQUFFLElBQVksRUFBRSxVQUFzQyxFQUN2RixJQUFpQixFQUFFLGVBQWdDLEVBQUUsZUFBd0IsRUFDN0UsVUFBbUIsRUFBRSxVQUEyQjtJQUNsRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPO1FBQ3BCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLE1B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UCxNQUFNO1FBQ04sTUFBTTtRQUNOLFVBQVU7UUFDVixlQUFlO1FBQ2YsY0FBYztRQUNkLFVBQVU7UUFDVixHQUFHLE1BQU07UUFDVCxHQUFHLG1CQUFtQjtRQUN0QixHQUFHLDZCQUE2QjtLQUNqQyxDQUFDO0FBQ0osQ0FBQztBQXNCRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDN0IsTUFBYyxFQUFFLE1BQWtCLEVBQUUsVUFBMkI7SUFDakUsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUztRQUN0QixNQUFNO1FBQ04sTUFBTTtRQUNOLFVBQVU7UUFDVixHQUFHLE1BQU07S0FDVixDQUFDO0FBQ0osQ0FBQztBQWdCRDs7R0FFRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZLEVBQUUsVUFBMkI7SUFDekUsT0FBTztRQUNMLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUztRQUN0QixJQUFJO1FBQ0osVUFBVTtRQUNWLEdBQUcsTUFBTTtLQUNWLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7U2VjdXJpdHlDb250ZXh0fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlJztcbmltcG9ydCAqIGFzIGkxOG4gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaTE4bi9pMThuX2FzdCc7XG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uLy4uLy4uLy4uLy4uL291dHB1dC9vdXRwdXRfYXN0JztcbmltcG9ydCB7UGFyc2VTb3VyY2VTcGFufSBmcm9tICcuLi8uLi8uLi8uLi8uLi9wYXJzZV91dGlsJztcbmltcG9ydCB7QmluZGluZ0tpbmQsIEkxOG5QYXJhbVJlc29sdXRpb25UaW1lLCBPcEtpbmR9IGZyb20gJy4uL2VudW1zJztcbmltcG9ydCB0eXBlIHtDb25kaXRpb25hbENhc2VFeHByfSBmcm9tICcuLi9leHByZXNzaW9uJztcbmltcG9ydCB7U2xvdEhhbmRsZX0gZnJvbSAnLi4vaGFuZGxlJztcbmltcG9ydCB7T3AsIFhyZWZJZH0gZnJvbSAnLi4vb3BlcmF0aW9ucyc7XG5pbXBvcnQge0NvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsIFRSQUlUX0NPTlNVTUVTX1ZBUlMsIFRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhUfSBmcm9tICcuLi90cmFpdHMnO1xuaW1wb3J0IHR5cGUge0hvc3RQcm9wZXJ0eU9wfSBmcm9tICcuL2hvc3QnO1xuaW1wb3J0IHtMaXN0RW5kT3AsIE5FV19PUCwgU3RhdGVtZW50T3AsIFZhcmlhYmxlT3B9IGZyb20gJy4vc2hhcmVkJztcblxuXG4vKipcbiAqIEFuIG9wZXJhdGlvbiB1c2FibGUgb24gdGhlIHVwZGF0ZSBzaWRlIG9mIHRoZSBJUi5cbiAqL1xuZXhwb3J0IHR5cGUgVXBkYXRlT3AgPSBMaXN0RW5kT3A8VXBkYXRlT3A+fFN0YXRlbWVudE9wPFVwZGF0ZU9wPnxQcm9wZXJ0eU9wfEF0dHJpYnV0ZU9wfFN0eWxlUHJvcE9wfFxuICAgIENsYXNzUHJvcE9wfFN0eWxlTWFwT3B8Q2xhc3NNYXBPcHxJbnRlcnBvbGF0ZVRleHRPcHxBZHZhbmNlT3B8VmFyaWFibGVPcDxVcGRhdGVPcD58QmluZGluZ09wfFxuICAgIEhvc3RQcm9wZXJ0eU9wfENvbmRpdGlvbmFsT3B8STE4bkV4cHJlc3Npb25PcHxJMThuQXBwbHlPcHxJY3VVcGRhdGVPcHxSZXBlYXRlck9wfERlZmVyV2hlbk9wO1xuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gdG8gcGVyZm9ybSBzdHJpbmcgaW50ZXJwb2xhdGlvbiBvbiBhIHRleHQgbm9kZS5cbiAqXG4gKiBJbnRlcnBvbGF0aW9uIGlucHV0cyBhcmUgc3RvcmVkIGFzIHN0YXRpYyBgc3RyaW5nYHMgYW5kIGR5bmFtaWMgYG8uRXhwcmVzc2lvbmBzLCBpbiBzZXBhcmF0ZVxuICogYXJyYXlzLiBUaHVzLCB0aGUgaW50ZXJwb2xhdGlvbiBgQXt7Yn19Q3t7ZH19RWAgaXMgc3RvcmVkIGFzIDMgc3RhdGljIHN0cmluZ3MgYFsnQScsICdDJywgJ0UnXWBcbiAqIGFuZCAyIGR5bmFtaWMgZXhwcmVzc2lvbnMgYFtiLCBkXWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJwb2xhdGVUZXh0T3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0IHtcbiAga2luZDogT3BLaW5kLkludGVycG9sYXRlVGV4dDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSB0ZXh0IG5vZGUgdG8gd2hpY2ggdGhlIGludGVycG9sYXRpb24gaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIGludGVycG9sYXRlZCB2YWx1ZS5cbiAgICovXG4gIGludGVycG9sYXRpb246IEludGVycG9sYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBpMThuIHBsYWNlaG9sZGVycyBhc3NvY2lhdGVkIHdpdGggdGhpcyBpbnRlcnBvbGF0aW9uLlxuICAgKi9cbiAgaTE4blBsYWNlaG9sZGVyczogaTE4bi5QbGFjZWhvbGRlcltdO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gYEludGVycG9sYXRpb25UZXh0T3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZXJwb2xhdGVUZXh0T3AoXG4gICAgeHJlZjogWHJlZklkLCBpbnRlcnBvbGF0aW9uOiBJbnRlcnBvbGF0aW9uLCBpMThuUGxhY2Vob2xkZXJzOiBpMThuLlBsYWNlaG9sZGVyW10sXG4gICAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuKTogSW50ZXJwb2xhdGVUZXh0T3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5JbnRlcnBvbGF0ZVRleHQsXG4gICAgdGFyZ2V0OiB4cmVmLFxuICAgIGludGVycG9sYXRpb24sXG4gICAgaTE4blBsYWNlaG9sZGVycyxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJwb2xhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHN0cmluZ3M6IHN0cmluZ1tdLCByZWFkb25seSBleHByZXNzaW9uczogby5FeHByZXNzaW9uW10pIHt9XG59XG5cbi8qKlxuICogQW4gaW50ZXJtZWRpYXRlIGJpbmRpbmcgb3AsIHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBwcm9jZXNzZWQgaW50byBhbiBpbmRpdmlkdWFsIHByb3BlcnR5LFxuICogYXR0cmlidXRlLCBzdHlsZSwgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRpbmdPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5CaW5kaW5nO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgb24gd2hpY2ggdGhlIHByb3BlcnR5IGlzIGJvdW5kLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqICBUaGUga2luZCBvZiBiaW5kaW5nIHJlcHJlc2VudGVkIGJ5IHRoaXMgb3AuXG4gICAqL1xuICBiaW5kaW5nS2luZDogQmluZGluZ0tpbmQ7XG5cbiAgLyoqXG4gICAqICBUaGUgbmFtZSBvZiB0aGlzIGJpbmRpbmcuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB1bml0IG9mIHRoZSBib3VuZCB2YWx1ZS5cbiAgICovXG4gIHVuaXQ6IHN0cmluZ3xudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdXJpdHkgY29udGV4dCBvZiB0aGUgYmluZGluZy5cbiAgICovXG4gIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBiaW5kaW5nIGlzIGEgVGV4dEF0dHJpYnV0ZSAoZS5nLiBgc29tZS1hdHRyPVwic29tZS12YWx1ZVwiYCkuIFRoaXMgbmVlZHMgdG8gYmVcbiAgICogdHJhY2tlZCBmb3IgY29tcGF0aWJsaXR5IHdpdGggYFRlbXBsYXRlRGVmaW5pdGlvbkJ1aWxkZXJgIHdoaWNoIHRyZWF0cyBgc3R5bGVgIGFuZCBgY2xhc3NgXG4gICAqIFRleHRBdHRyaWJ1dGVzIGRpZmZlcmVudGx5IGZyb20gYFthdHRyLnN0eWxlXWAgYW5kIGBbYXR0ci5jbGFzc11gLlxuICAgKi9cbiAgaXNUZXh0QXR0cmlidXRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYmluZGluZyBpcyBvbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgaXNUZW1wbGF0ZTogYm9vbGVhbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYEJpbmRpbmdPcGAsIG5vdCB5ZXQgdHJhbnNmb3JtZWQgaW50byBhIHBhcnRpY3VsYXIgdHlwZSBvZiBiaW5kaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQmluZGluZ09wKFxuICAgIHRhcmdldDogWHJlZklkLCBraW5kOiBCaW5kaW5nS2luZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbixcbiAgICB1bml0OiBzdHJpbmd8bnVsbCwgc2VjdXJpdHlDb250ZXh0OiBTZWN1cml0eUNvbnRleHQsIGlzVGV4dEF0dHJpYnV0ZTogYm9vbGVhbixcbiAgICBpc1RlbXBsYXRlOiBib29sZWFuLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBCaW5kaW5nT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5CaW5kaW5nLFxuICAgIGJpbmRpbmdLaW5kOiBraW5kLFxuICAgIHRhcmdldCxcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgdW5pdCxcbiAgICBzZWN1cml0eUNvbnRleHQsXG4gICAgaXNUZXh0QXR0cmlidXRlLFxuICAgIGlzVGVtcGxhdGUsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYmluZGluZyB0byBhIHByb3BlcnR5IGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcGVydHlPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5Qcm9wZXJ0eTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBib3VuZCBwcm9wZXJ0eS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIHByb3BlcnR5IGlzIGFuIGFuaW1hdGlvbiB0cmlnZ2VyLlxuICAgKi9cbiAgaXNBbmltYXRpb25UcmlnZ2VyOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VjdXJpdHkgY29udGV4dCBvZiB0aGUgYmluZGluZy5cbiAgICovXG4gIHNlY3VyaXR5Q29udGV4dDogU2VjdXJpdHlDb250ZXh0O1xuXG4gIC8qKlxuICAgKiBUaGUgc2FuaXRpemVyIGZvciB0aGlzIHByb3BlcnR5LlxuICAgKi9cbiAgc2FuaXRpemVyOiBvLkV4cHJlc3Npb258bnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJpbmRpbmcgaXMgb24gYSB0ZW1wbGF0ZS5cbiAgICovXG4gIGlzVGVtcGxhdGU6IGJvb2xlYW47XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGBQcm9wZXJ0eU9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb3BlcnR5T3AoXG4gICAgdGFyZ2V0OiBYcmVmSWQsIG5hbWU6IHN0cmluZywgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sXG4gICAgaXNBbmltYXRpb25UcmlnZ2VyOiBib29sZWFuLCBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dCwgaXNUZW1wbGF0ZTogYm9vbGVhbixcblxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IFByb3BlcnR5T3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5Qcm9wZXJ0eSxcbiAgICB0YXJnZXQsXG4gICAgbmFtZSxcbiAgICBleHByZXNzaW9uLFxuICAgIGlzQW5pbWF0aW9uVHJpZ2dlcixcbiAgICBzZWN1cml0eUNvbnRleHQsXG4gICAgc2FuaXRpemVyOiBudWxsLFxuICAgIGlzVGVtcGxhdGUsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgc3R5bGUgcHJvcGVydHkgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHlsZVByb3BPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5TdHlsZVByb3A7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYm91bmQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB1bml0IG9mIHRoZSBib3VuZCB2YWx1ZS5cbiAgICovXG4gIHVuaXQ6IHN0cmluZ3xudWxsO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqIENyZWF0ZSBhIGBTdHlsZVByb3BPcGAuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3R5bGVQcm9wT3AoXG4gICAgeHJlZjogWHJlZklkLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLCB1bml0OiBzdHJpbmd8bnVsbCxcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBTdHlsZVByb3BPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLlN0eWxlUHJvcCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgbmFtZSxcbiAgICBleHByZXNzaW9uLFxuICAgIHVuaXQsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgY2xhc3MgcHJvcGVydHkgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFzc1Byb3BPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5DbGFzc1Byb3A7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYm91bmQgcHJvcGVydHkuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cHJlc3Npb24gd2hpY2ggaXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgQ2xhc3NQcm9wT3BgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2xhc3NQcm9wT3AoXG4gICAgeHJlZjogWHJlZklkLCBuYW1lOiBzdHJpbmcsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBDbGFzc1Byb3BPcCB7XG4gIHJldHVybiB7XG4gICAga2luZDogT3BLaW5kLkNsYXNzUHJvcCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgbmFtZSxcbiAgICBleHByZXNzaW9uLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQSBsb2dpY2FsIG9wZXJhdGlvbiByZXByZXNlbnRpbmcgYmluZGluZyB0byBhIHN0eWxlIG1hcCBpbiB0aGUgdXBkYXRlIElSLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlTWFwT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIENvbnN1bWVzVmFyc1RyYWl0LCBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICBraW5kOiBPcEtpbmQuU3R5bGVNYXA7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBvbiB3aGljaCB0aGUgcHJvcGVydHkgaXMgYm91bmQuXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogRXhwcmVzc2lvbiB3aGljaCBpcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKiBDcmVhdGUgYSBgU3R5bGVNYXBPcGAuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3R5bGVNYXBPcChcbiAgICB4cmVmOiBYcmVmSWQsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBTdHlsZU1hcE9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuU3R5bGVNYXAsXG4gICAgdGFyZ2V0OiB4cmVmLFxuICAgIGV4cHJlc3Npb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICAgIC4uLk5FV19PUCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGxvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBiaW5kaW5nIHRvIGEgc3R5bGUgbWFwIGluIHRoZSB1cGRhdGUgSVIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NNYXBPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiwgQ29uc3VtZXNWYXJzVHJhaXQsIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5DbGFzc01hcDtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBwcm9wZXJ0eSBpcyBib3VuZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBFeHByZXNzaW9uIHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAgICovXG4gIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbnxJbnRlcnBvbGF0aW9uO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBgQ2xhc3NNYXBPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDbGFzc01hcE9wKFxuICAgIHhyZWY6IFhyZWZJZCwgZXhwcmVzc2lvbjogby5FeHByZXNzaW9ufEludGVycG9sYXRpb24sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IENsYXNzTWFwT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5DbGFzc01hcCxcbiAgICB0YXJnZXQ6IHhyZWYsXG4gICAgZXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIEEgbG9naWNhbCBvcGVyYXRpb24gcmVwcmVzZW50aW5nIHNldHRpbmcgYW4gYXR0cmlidXRlIG9uIGFuIGVsZW1lbnQgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5BdHRyaWJ1dGU7XG5cbiAgLyoqXG4gICAqIFRoZSBgWHJlZklkYCBvZiB0aGUgdGVtcGxhdGUtbGlrZSBlbGVtZW50IHRoZSBhdHRyaWJ1dGUgd2lsbCBiZWxvbmcgdG8uXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUuXG4gICAqL1xuICBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGNvbnRleHQgb2YgdGhlIGJpbmRpbmcuXG4gICAqL1xuICBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dDtcblxuICAvKipcbiAgICogVGhlIHNhbml0aXplciBmb3IgdGhpcyBhdHRyaWJ1dGUuXG4gICAqL1xuICBzYW5pdGl6ZXI6IG8uRXhwcmVzc2lvbnxudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBiaW5kaW5nIGlzIGEgVGV4dEF0dHJpYnV0ZSAoZS5nLiBgc29tZS1hdHRyPVwic29tZS12YWx1ZVwiYCkuIFRoaXMgbmVlZHMgb3QgYmVcbiAgICogdHJhY2tlZCBmb3IgY29tcGF0aWJsaXR5IHdpdGggYFRlbXBsYXRlRGVmaW5pdGlvbkJ1aWxkZXJgIHdoaWNoIHRyZWF0cyBgc3R5bGVgIGFuZCBgY2xhc3NgXG4gICAqIFRleHRBdHRyaWJ1dGVzIGRpZmZlcmVudGx5IGZyb20gYFthdHRyLnN0eWxlXWAgYW5kIGBbYXR0ci5jbGFzc11gLlxuICAgKi9cbiAgaXNUZXh0QXR0cmlidXRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYmluZGluZyBpcyBvbiBhIHRlbXBsYXRlLlxuICAgKi9cbiAgaXNUZW1wbGF0ZTogYm9vbGVhbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGFuIGBBdHRyaWJ1dGVPcGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBdHRyaWJ1dGVPcChcbiAgICB0YXJnZXQ6IFhyZWZJZCwgbmFtZTogc3RyaW5nLCBleHByZXNzaW9uOiBvLkV4cHJlc3Npb258SW50ZXJwb2xhdGlvbixcbiAgICBzZWN1cml0eUNvbnRleHQ6IFNlY3VyaXR5Q29udGV4dCwgaXNUZXh0QXR0cmlidXRlOiBib29sZWFuLCBpc1RlbXBsYXRlOiBib29sZWFuLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEF0dHJpYnV0ZU9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuQXR0cmlidXRlLFxuICAgIHRhcmdldCxcbiAgICBuYW1lLFxuICAgIGV4cHJlc3Npb24sXG4gICAgc2VjdXJpdHlDb250ZXh0LFxuICAgIHNhbml0aXplcjogbnVsbCxcbiAgICBpc1RleHRBdHRyaWJ1dGUsXG4gICAgaXNUZW1wbGF0ZSxcbiAgICBzb3VyY2VTcGFuLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICAgIC4uLlRSQUlUX0NPTlNVTUVTX1ZBUlMsXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIExvZ2ljYWwgb3BlcmF0aW9uIHRvIGFkdmFuY2UgdGhlIHJ1bnRpbWUncyBpbnRlcm5hbCBzbG90IHBvaW50ZXIgaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4ge1xuICBraW5kOiBPcEtpbmQuQWR2YW5jZTtcblxuICAvKipcbiAgICogRGVsdGEgYnkgd2hpY2ggdG8gYWR2YW5jZSB0aGUgcG9pbnRlci5cbiAgICovXG4gIGRlbHRhOiBudW1iZXI7XG5cbiAgLy8gU291cmNlIHNwYW4gb2YgdGhlIGJpbmRpbmcgdGhhdCBjYXVzZWQgdGhlIGFkdmFuY2VcbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBgQWR2YW5jZU9wYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFkdmFuY2VPcChkZWx0YTogbnVtYmVyLCBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBBZHZhbmNlT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5BZHZhbmNlLFxuICAgIGRlbHRhLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICB9O1xufVxuXG4vKipcbiAqIExvZ2ljYWwgb3BlcmF0aW9uIHJlcHJlc2VudGluZyBhIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gaW4gdGhlIHVwZGF0ZSBJUi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25kaXRpb25hbE9wIGV4dGVuZHMgT3A8Q29uZGl0aW9uYWxPcD4sIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnN1bWVzVmFyc1RyYWl0IHtcbiAga2luZDogT3BLaW5kLkNvbmRpdGlvbmFsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zZXJ0aW9uIHBvaW50LCB3aGljaCBpcyB0aGUgZmlyc3QgdGVtcGxhdGUgaW4gdGhlIGNyZWF0aW9uIGJsb2NrIGJlbG9uZ2luZyB0byB0aGlzXG4gICAqIGNvbmRpdGlvbi5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBvZiB0aGUgdGFyZ2V0LCB0byBiZSBwb3B1bGF0ZWQgZHVyaW5nIHNsb3QgYWxsb2NhdGlvbi5cbiAgICovXG4gIHRhcmdldFNsb3Q6IFNsb3RIYW5kbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBtYWluIHRlc3QgZXhwcmVzc2lvbiAoZm9yIGEgc3dpdGNoKSwgb3IgYG51bGxgIChmb3IgYW4gaWYsIHdoaWNoIGhhcyBubyB0ZXN0IGV4cHJlc3Npb24pLlxuICAgKi9cbiAgdGVzdDogby5FeHByZXNzaW9ufG51bGw7XG5cbiAgLyoqXG4gICAqIEVhY2ggcG9zc2libGUgZW1iZWRkZWQgdmlldyB0aGF0IGNvdWxkIGJlIGRpc3BsYXllZCBoYXMgYSBjb25kaXRpb24gKG9yIGlzIGRlZmF1bHQpLiBUaGlzXG4gICAqIHN0cnVjdHVyZSBtYXBzIGVhY2ggdmlldyB4cmVmIHRvIGl0cyBjb3JyZXNwb25kaW5nIGNvbmRpdGlvbi5cbiAgICovXG4gIGNvbmRpdGlvbnM6IEFycmF5PENvbmRpdGlvbmFsQ2FzZUV4cHI+O1xuXG4gIC8qKlxuICAgKiBBZnRlciBwcm9jZXNzaW5nLCB0aGlzIHdpbGwgYmUgYSBzaW5nbGUgY29sbGFwc2VkIEpvb3N0LWV4cHJlc3Npb24gdGhhdCBldmFsdWF0ZXMgdGhlXG4gICAqIGNvbmRpdGlvbnMsIGFuZCB5aWVsZHMgdGhlIHNsb3QgbnVtYmVyIG9mIHRoZSB0ZW1wbGF0ZSB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkLlxuICAgKi9cbiAgcHJvY2Vzc2VkOiBvLkV4cHJlc3Npb258bnVsbDtcblxuICAvKipcbiAgICogQ29udHJvbCBmbG93IGNvbmRpdGlvbmFscyBjYW4gYWNjZXB0IGEgY29udGV4dCB2YWx1ZSAodGhpcyBpcyBhIHJlc3VsdCBvZiBzcGVjaWZ5aW5nIGFuIGFsaWFzKS5cbiAgICogVGhpcyBleHByZXNzaW9uIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBjb25kaXRpb25hbCBpbnN0cnVjdGlvbidzIGNvbnRleHQgcGFyYW1ldGVyLlxuICAgKi9cbiAgY29udGV4dFZhbHVlOiBvLkV4cHJlc3Npb258bnVsbDtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgY29uZGl0aW9uYWwgb3AsIHdoaWNoIHdpbGwgZGlzcGxheSBhbiBlbWJlZGRlZCB2aWV3IGFjY29yZGluZyB0byBhIGNvbmR0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZGl0aW9uYWxPcChcbiAgICB0YXJnZXQ6IFhyZWZJZCwgdGFyZ2V0U2xvdDogU2xvdEhhbmRsZSwgdGVzdDogby5FeHByZXNzaW9ufG51bGwsXG4gICAgY29uZGl0aW9uczogQXJyYXk8Q29uZGl0aW9uYWxDYXNlRXhwcj4sIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IENvbmRpdGlvbmFsT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5Db25kaXRpb25hbCxcbiAgICB0YXJnZXQsXG4gICAgdGFyZ2V0U2xvdCxcbiAgICB0ZXN0LFxuICAgIGNvbmRpdGlvbnMsXG4gICAgcHJvY2Vzc2VkOiBudWxsLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgY29udGV4dFZhbHVlOiBudWxsLFxuICAgIC4uLk5FV19PUCxcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgICAuLi5UUkFJVF9DT05TVU1FU19WQVJTLFxuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcGVhdGVyT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4ge1xuICBraW5kOiBPcEtpbmQuUmVwZWF0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBSZXBlYXRlckNyZWF0ZSBvcCBhc3NvY2lhdGVkIHdpdGggdGhpcyByZXBlYXRlci5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIHRhcmdldFNsb3Q6IFNsb3RIYW5kbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2xsZWN0aW9uIHByb3ZpZGVkIHRvIHRoZSBmb3IgbG9vcCBhcyBpdHMgZXhwcmVzc2lvbi5cbiAgICovXG4gIGNvbGxlY3Rpb246IG8uRXhwcmVzc2lvbjtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXBlYXRlck9wKFxuICAgIHJlcGVhdGVyQ3JlYXRlOiBYcmVmSWQsIHRhcmdldFNsb3Q6IFNsb3RIYW5kbGUsIGNvbGxlY3Rpb246IG8uRXhwcmVzc2lvbixcbiAgICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW4pOiBSZXBlYXRlck9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuUmVwZWF0ZXIsXG4gICAgdGFyZ2V0OiByZXBlYXRlckNyZWF0ZSxcbiAgICB0YXJnZXRTbG90LFxuICAgIGNvbGxlY3Rpb24sXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmZXJXaGVuT3AgZXh0ZW5kcyBPcDxVcGRhdGVPcD4sIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5EZWZlcldoZW47XG5cbiAgLyoqXG4gICAqIFRoZSBgZGVmZXJgIGNyZWF0ZSBvcCBhc3NvY2lhdGVkIHdpdGggdGhpcyB3aGVuIGNvbmRpdGlvbi5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBBIHVzZXItcHJvdmlkZWQgZXhwcmVzc2lvbiB0aGF0IHRyaWdnZXJzIHRoZSBkZWZlciBvcC5cbiAgICovXG4gIGV4cHI6IG8uRXhwcmVzc2lvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbWl0IHRoZSBwcmVmZXRjaCB2ZXJzaW9uIG9mIHRoZSBpbnN0cnVjdGlvbi5cbiAgICovXG4gIHByZWZldGNoOiBib29sZWFuO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmVyV2hlbk9wKFxuICAgIHRhcmdldDogWHJlZklkLCBleHByOiBvLkV4cHJlc3Npb24sIHByZWZldGNoOiBib29sZWFuLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IERlZmVyV2hlbk9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuRGVmZXJXaGVuLFxuICAgIHRhcmdldCxcbiAgICBleHByLFxuICAgIHByZWZldGNoLFxuICAgIHNvdXJjZVNwYW4sXG4gICAgLi4uTkVXX09QLFxuICAgIC4uLlRSQUlUX0RFUEVORFNfT05fU0xPVF9DT05URVhULFxuICB9O1xufVxuXG4vKipcbiAqIEFuIG9wIHRoYXQgcmVwcmVzZW50cyBhbiBleHByZXNzaW9uIGluIGFuIGkxOG4gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJMThuRXhwcmVzc2lvbk9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+LCBDb25zdW1lc1ZhcnNUcmFpdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIGtpbmQ6IE9wS2luZC5JMThuRXhwcmVzc2lvbjtcblxuICAvKipcbiAgICogVGhlIGkxOG4gY29udGV4dCB0aGF0IHRoaXMgZXhwcmVzc2lvbiBiZWxvbmdzIHRvLlxuICAgKi9cbiAgY29udGV4dDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBUaGUgWHJlZiBvZiB0aGUgb3AgdGhhdCB3ZSBuZWVkIHRvIGBhZHZhbmNlYCB0by4gVGhpcyBzaG91bGQgYmUgdGhlIGZpbmFsIG9wIGluIHRoZSBvd25pbmcgaTE4blxuICAgKiBibG9jay4gVGhpcyBpcyBuZWNlc3Nhcnkgc28gdGhhdCB3ZSBydW4gYWxsIGxpZmVjeWNsZSBob29rcy5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIC8qKlxuICAgKiBBIGhhbmRsZSBmb3IgdGhlIHNsb3Qgb2YgdGhlIGkxOG4gYmxvY2sgdGhpcyBleHByZXNzaW9uIGJlbG9uZ3MgdG8uXG4gICAqL1xuICBoYW5kbGU6IFNsb3RIYW5kbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBleHByZXNzaW9uIHZhbHVlLlxuICAgKi9cbiAgZXhwcmVzc2lvbjogby5FeHByZXNzaW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaTE4biBwbGFjZWhvbGRlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBleHByZXNzaW9uLlxuICAgKi9cbiAgaTE4blBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRoYXQgdGhpcyBleHByZXNzaW9uIGlzIHJlc29sdmVkLlxuICAgKi9cbiAgcmVzb2x1dGlvblRpbWU6IEkxOG5QYXJhbVJlc29sdXRpb25UaW1lO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYW4gaTE4biBleHByZXNzaW9uIG9wLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSTE4bkV4cHJlc3Npb25PcChcbiAgICBjb250ZXh0OiBYcmVmSWQsIHRhcmdldDogWHJlZklkLCBoYW5kbGU6IFNsb3RIYW5kbGUsIGV4cHJlc3Npb246IG8uRXhwcmVzc2lvbixcbiAgICBpMThuUGxhY2Vob2xkZXI6IHN0cmluZywgcmVzb2x1dGlvblRpbWU6IEkxOG5QYXJhbVJlc29sdXRpb25UaW1lLFxuICAgIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEkxOG5FeHByZXNzaW9uT3Age1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IE9wS2luZC5JMThuRXhwcmVzc2lvbixcbiAgICBjb250ZXh0LFxuICAgIHRhcmdldCxcbiAgICBoYW5kbGUsXG4gICAgZXhwcmVzc2lvbixcbiAgICBpMThuUGxhY2Vob2xkZXIsXG4gICAgcmVzb2x1dGlvblRpbWUsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gICAgLi4uVFJBSVRfQ09OU1VNRVNfVkFSUyxcbiAgICAuLi5UUkFJVF9ERVBFTkRTX09OX1NMT1RfQ09OVEVYVCxcbiAgfTtcbn1cblxuLyoqXG4gKiBBbiBvcCB0aGF0IHJlcHJlc2VudHMgYXBwbHlpbmcgYSBzZXQgb2YgaTE4biBleHByZXNzaW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJMThuQXBwbHlPcCBleHRlbmRzIE9wPFVwZGF0ZU9wPiB7XG4gIGtpbmQ6IE9wS2luZC5JMThuQXBwbHk7XG5cbiAgLyoqXG4gICAqIFRoZSBYcmVmIG9mIHRoZSBvcCB0aGF0IHdlIG5lZWQgdG8gYGFkdmFuY2VgIHRvLiBUaGlzIHNob3VsZCBiZSB0aGUgZmluYWwgb3AgaW4gdGhlIG93bmluZyBpMThuXG4gICAqIGJsb2NrLiBUaGlzIGlzIG5lY2Vzc2FyeSBzbyB0aGF0IHdlIHJ1biBhbGwgbGlmZWN5Y2xlIGhvb2tzLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgLyoqXG4gICAqIEEgaGFuZGxlIGZvciB0aGUgc2xvdCBvZiB0aGUgaTE4biBibG9jayB0aGlzIGV4cHJlc3Npb24gYmVsb25ncyB0by5cbiAgICovXG4gIGhhbmRsZTogU2xvdEhhbmRsZTtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICpDcmVhdGVzIGFuIG9wIHRvIGFwcGx5IGkxOG4gZXhwcmVzc2lvbiBvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUkxOG5BcHBseU9wKFxuICAgIHRhcmdldDogWHJlZklkLCBoYW5kbGU6IFNsb3RIYW5kbGUsIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEkxOG5BcHBseU9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuSTE4bkFwcGx5LFxuICAgIHRhcmdldCxcbiAgICBoYW5kbGUsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG5cbi8qKlxuICogQW4gb3AgdGhhdCByZXByZXNlbnRzIHVwZGF0aW5nIGFuIElDVSBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEljdVVwZGF0ZU9wIGV4dGVuZHMgT3A8VXBkYXRlT3A+IHtcbiAga2luZDogT3BLaW5kLkljdVVwZGF0ZTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBJQ1UgYmVpbmcgdXBkYXRlZC5cbiAgICovXG4gIHhyZWY6IFhyZWZJZDtcblxuICBzb3VyY2VTcGFuOiBQYXJzZVNvdXJjZVNwYW47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvcCB0byB1cGRhdGUgYW4gSUNVIGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJY3VVcGRhdGVPcCh4cmVmOiBYcmVmSWQsIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbik6IEljdVVwZGF0ZU9wIHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBPcEtpbmQuSWN1VXBkYXRlLFxuICAgIHhyZWYsXG4gICAgc291cmNlU3BhbixcbiAgICAuLi5ORVdfT1AsXG4gIH07XG59XG4iXX0=
|
|
@@ -13,10 +13,6 @@ export const ConsumesSlot = Symbol('ConsumesSlot');
|
|
|
13
13
|
* Marker symbol for `DependsOnSlotContextOpTrait`.
|
|
14
14
|
*/
|
|
15
15
|
export const DependsOnSlotContext = Symbol('DependsOnSlotContext');
|
|
16
|
-
/**
|
|
17
|
-
* Marker symbol for `UsesSlotIndex` trait.
|
|
18
|
-
*/
|
|
19
|
-
export const UsesSlotIndex = Symbol('UsesSlotIndex');
|
|
20
16
|
/**
|
|
21
17
|
* Marker symbol for `ConsumesVars` trait.
|
|
22
18
|
*/
|
|
@@ -25,27 +21,14 @@ export const ConsumesVarsTrait = Symbol('ConsumesVars');
|
|
|
25
21
|
* Marker symbol for `UsesVarOffset` trait.
|
|
26
22
|
*/
|
|
27
23
|
export const UsesVarOffset = Symbol('UsesVarOffset');
|
|
28
|
-
/**
|
|
29
|
-
* Marker symbol for `HasConst` trait.
|
|
30
|
-
*/
|
|
31
|
-
export const HasConst = Symbol('HasConst');
|
|
32
24
|
/**
|
|
33
25
|
* Default values for most `ConsumesSlotOpTrait` fields (used with the spread operator to initialize
|
|
34
26
|
* implementors of the trait).
|
|
35
27
|
*/
|
|
36
28
|
export const TRAIT_CONSUMES_SLOT = {
|
|
37
29
|
[ConsumesSlot]: true,
|
|
38
|
-
slot: null,
|
|
39
30
|
numSlotsUsed: 1,
|
|
40
31
|
};
|
|
41
|
-
/**
|
|
42
|
-
* Default values for most `UsesSlotIndexTrait` fields (used with the spread operator to initialize
|
|
43
|
-
* implementors of the trait).
|
|
44
|
-
*/
|
|
45
|
-
export const TRAIT_USES_SLOT_INDEX = {
|
|
46
|
-
[UsesSlotIndex]: true,
|
|
47
|
-
targetSlot: null,
|
|
48
|
-
};
|
|
49
32
|
/**
|
|
50
33
|
* Default values for most `DependsOnSlotContextOpTrait` fields (used with the spread operator to
|
|
51
34
|
* initialize implementors of the trait).
|
|
@@ -68,14 +51,6 @@ export const TRAIT_USES_VAR_OFFSET = {
|
|
|
68
51
|
[UsesVarOffset]: true,
|
|
69
52
|
varOffset: null,
|
|
70
53
|
};
|
|
71
|
-
/**
|
|
72
|
-
* Default values for `HasConst` fields (used with the spread operator to initialize
|
|
73
|
-
* implementors of this trait).
|
|
74
|
-
*/
|
|
75
|
-
export const TRAIT_HAS_CONST = {
|
|
76
|
-
[HasConst]: true,
|
|
77
|
-
constIndex: null,
|
|
78
|
-
};
|
|
79
54
|
/**
|
|
80
55
|
* Test whether an operation implements `ConsumesSlotOpTrait`.
|
|
81
56
|
*/
|
|
@@ -97,10 +72,4 @@ export function hasConsumesVarsTrait(value) {
|
|
|
97
72
|
export function hasUsesVarOffsetTrait(expr) {
|
|
98
73
|
return expr[UsesVarOffset] === true;
|
|
99
74
|
}
|
|
100
|
-
|
|
101
|
-
return value[UsesSlotIndex] === true;
|
|
102
|
-
}
|
|
103
|
-
export function hasConstTrait(value) {
|
|
104
|
-
return value[HasConst] === true;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy90cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBT0g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFrSDNDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFzQztJQUNwRSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUk7SUFDcEIsSUFBSSxFQUFFLElBQUk7SUFDVixZQUFZLEVBQUUsQ0FBQztDQUNQLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUM7SUFDdkUsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUNxQjtJQUN6RCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBRWY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXNCO0lBQ3BELENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJO0NBQ2pCLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUI7SUFDdkQsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFNBQVMsRUFBRSxJQUFJO0NBQ1AsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBdUQ7SUFDakYsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBQ1IsQ0FBQztBQUVYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFzQixFQUFPO0lBQy9ELE9BQVEsRUFBbUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFzQixFQUFPO0lBRXZFLE9BQVEsRUFBMkMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUNyRixDQUFDO0FBUUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBUSxLQUFvQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsSUFBVztJQUV6RSxPQUFRLElBQW9DLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3ZFLENBQUM7QUFRRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBVTtJQUM5QyxPQUFRLEtBQXFDLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3hFLENBQUM7QUFPRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEtBQVU7SUFDdEMsT0FBUSxLQUFnQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0IHR5cGUge1BhcnNlU291cmNlU3Bhbn0gZnJvbSAnLi4vLi4vLi4vLi4vcGFyc2VfdXRpbCc7XG5pbXBvcnQgdHlwZSB7RXhwcmVzc2lvbn0gZnJvbSAnLi9leHByZXNzaW9uJztcbmltcG9ydCB0eXBlIHtPcCwgWHJlZklkfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBDb25zdW1lc1Nsb3RPcFRyYWl0YC5cbiAqL1xuZXhwb3J0IGNvbnN0IENvbnN1bWVzU2xvdCA9IFN5bWJvbCgnQ29uc3VtZXNTbG90Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBjb25zdCBEZXBlbmRzT25TbG90Q29udGV4dCA9IFN5bWJvbCgnRGVwZW5kc09uU2xvdENvbnRleHQnKTtcblxuLyoqXG4gKiBNYXJrZXIgc3ltYm9sIGZvciBgVXNlc1Nsb3RJbmRleGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBVc2VzU2xvdEluZGV4ID0gU3ltYm9sKCdVc2VzU2xvdEluZGV4Jyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYENvbnN1bWVzVmFyc2AgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBDb25zdW1lc1ZhcnNUcmFpdCA9IFN5bWJvbCgnQ29uc3VtZXNWYXJzJyk7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYFVzZXNWYXJPZmZzZXRgIHRyYWl0LlxuICovXG5leHBvcnQgY29uc3QgVXNlc1Zhck9mZnNldCA9IFN5bWJvbCgnVXNlc1Zhck9mZnNldCcpO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBIYXNDb25zdGAgdHJhaXQuXG4gKi9cbmV4cG9ydCBjb25zdCBIYXNDb25zdCA9IFN5bWJvbCgnSGFzQ29uc3QnKTtcblxuLyoqXG4gKiBNYXJrcyBhbiBvcGVyYXRpb24gYXMgcmVxdWlyaW5nIGFsbG9jYXRpb24gb2Ygb25lIG9yIG1vcmUgZGF0YSBzbG90cyBmb3Igc3RvcmFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1Nsb3RPcFRyYWl0IHtcbiAgcmVhZG9ubHlbQ29uc3VtZXNTbG90XTogdHJ1ZTtcblxuICAvKipcbiAgICogQXNzaWduZWQgZGF0YSBzbG90ICh0aGUgc3RhcnRpbmcgaW5kZXgsIGlmIG1vcmUgdGhhbiBvbmUgc2xvdCBpcyBuZWVkZWQpIGZvciB0aGlzIG9wZXJhdGlvbiwgb3JcbiAgICogYG51bGxgIGlmIHNsb3RzIGhhdmUgbm90IHlldCBiZWVuIGFzc2lnbmVkLlxuICAgKi9cbiAgc2xvdDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2xvdHMgd2hpY2ggd2lsbCBiZSB1c2VkIGJ5IHRoaXMgb3BlcmF0aW9uLiBCeSBkZWZhdWx0IDEsIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIGlmXG4gICAqIG5lY2Vzc2FyeS5cbiAgICovXG4gIG51bVNsb3RzVXNlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGlzIG9wZXJhdGlvbiAoZS5nLiB0aGUgZWxlbWVudCBzdG9yZWQgaW4gdGhlIGFzc2lnbmVkIHNsb3QpLiBUaGlzIGBYcmVmSWRgIGlzXG4gICAqIHVzZWQgdG8gbGluayB0aGlzIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBvcGVyYXRpb24gd2l0aCBgRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdGAgb3JcbiAgICogYFVzZXNTbG90SW5kZXhFeHByVHJhaXRgIGltcGxlbWVudG9ycyBhbmQgZW5zdXJlIHRoYXQgdGhlIGFzc2lnbmVkIHNsb3QgaXMgcHJvcGFnYXRlZCB0aHJvdWdoXG4gICAqIHRoZSBJUiB0byBhbGwgY29uc3VtZXJzLlxuICAgKi9cbiAgeHJlZjogWHJlZklkO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gb3BlcmF0aW9uIGFzIGRlcGVuZGluZyBvbiB0aGUgcnVudGltZSdzIGltcGxpY2l0IHNsb3QgY29udGV4dCBiZWluZyBzZXQgdG8gYSBwYXJ0aWN1bGFyXG4gKiBzbG90LlxuICpcbiAqIFRoZSBydW50aW1lIGhhcyBhbiBpbXBsaWNpdCBzbG90IGNvbnRleHQgd2hpY2ggaXMgYWRqdXN0ZWQgdXNpbmcgdGhlIGBhZHZhbmNlKClgIGluc3RydWN0aW9uXG4gKiBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0ZW1wbGF0ZSB1cGRhdGUgZnVuY3Rpb25zLiBUaGlzIHRyYWl0IG1hcmtzIGFuIG9wZXJhdGlvbiBhcyByZXF1aXJpbmdcbiAqIHRoaXMgaW1wbGljaXQgY29udGV4dCB0byBiZSBgYWR2YW5jZSgpYCdkIHRvIHBvaW50IGF0IGEgcGFydGljdWxhciBzbG90IHByaW9yIHRvIGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICByZWFkb25seVtEZXBlbmRzT25TbG90Q29udGV4dF06IHRydWU7XG5cbiAgLyoqXG4gICAqIGBYcmVmSWRgIG9mIHRoZSBgQ29uc3VtZXNTbG90T3BUcmFpdGAgd2hpY2ggdGhlIGltcGxpY2l0IHNsb3QgY29udGV4dCBtdXN0IHJlZmVyZW5jZSBiZWZvcmVcbiAgICogdGhpcyBvcGVyYXRpb24gY2FuIGJlIGV4ZWN1dGVkLlxuICAgKi9cbiAgdGFyZ2V0OiBYcmVmSWQ7XG5cbiAgc291cmNlU3BhbjogUGFyc2VTb3VyY2VTcGFuO1xufVxuXG5cbi8qKlxuICogTWFya3MgYW4gZXhwcmVzc2lvbiB3aGljaCByZXF1aXJlcyBrbm93bGVkZ2Ugb2YgdGhlIGFzc2lnbmVkIHNsb3Qgb2YgYSBnaXZlblxuICogYENvbnN1bWVzU2xvdE9wVHJhaXRgIGltcGxlbWVudG9yIChlLmcuIGFuIGVsZW1lbnQgc2xvdCkuXG4gKlxuICogRHVyaW5nIElSIHByb2Nlc3NpbmcsIGFzc2lnbmVkIHNsb3RzIG9mIGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBpbXBsZW1lbnRvcnMgd2lsbCBiZSBwcm9wYWdhdGVkIHRvXG4gKiBgVXNlc1Nsb3RJbmRleFRyYWl0YCBpbXBsZW1lbnRvcnMgYnkgbWF0Y2hpbmcgdGhlaXIgYFhyZWZJZGBzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXNTbG90SW5kZXhUcmFpdCB7XG4gIHJlYWRvbmx5W1VzZXNTbG90SW5kZXhdOiB0cnVlO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGUgYENvbnN1bWVzU2xvdE9wVHJhaXRgIHdoaWNoIHRoaXMgZXhwcmVzc2lvbiBuZWVkcyB0byByZWZlcmVuY2UgYnkgaXRzIGFzc2lnbmVkXG4gICAqIHNsb3QgaW5kZXguXG4gICAqL1xuICB0YXJnZXQ6IFhyZWZJZDtcblxuICAvKipcbiAgICogVGhlIHNsb3QgaW5kZXggb2YgYHRhcmdldGAsIG9yIGBudWxsYCBpZiBzbG90cyBoYXZlIG5vdCB5ZXQgYmVlbiBhc3NpZ25lZC5cbiAgICovXG4gIHRhcmdldFNsb3Q6IG51bWJlcnxudWxsO1xufVxuXG4vKipcbiAqIE1hcmtlciB0cmFpdCBpbmRpY2F0aW5nIHRoYXQgYW4gb3BlcmF0aW9uIG9yIGV4cHJlc3Npb24gY29uc3VtZXMgdmFyaWFibGUgc3RvcmFnZSBzcGFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1ZhcnNUcmFpdCB7XG4gIFtDb25zdW1lc1ZhcnNUcmFpdF06IHRydWU7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBleHByZXNzaW9uIHJlcXVpcmVzIGtub3dsZWRnZSBvZiB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlIHN0b3JhZ2VcbiAqIHNsb3RzIHVzZWQgcHJpb3IgdG8gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgW1VzZXNWYXJPZmZzZXRdOiB0cnVlO1xuXG4gIHZhck9mZnNldDogbnVtYmVyfG51bGw7XG59XG5cbi8qKlxuICogTWFya2VyIHRyYWl0IGluZGljYXRpbmcgdGhhdCBhbiBvcCBvciBleHByZXNzaW9uIGhhcyBzb21lIGRhdGEgd2hpY2ggc2hvdWxkIGJlIGNvbGxlY3RlZCBpbnRvIHRoZVxuICogY29tcG9uZW50IGNvbnN0YW50IGFycmF5LlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNDb25zdFRyYWl0IHtcbiAgW0hhc0NvbnN0XTogdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IHRvIGJlIGNvbGxlY3RlZCBpbnRvIHRoZSBjb25zdCBhcnJheSwgaWYgbm9uLW51bGwuXG4gICAqL1xuICBjb25zdFZhbHVlOiB1bmtub3dufG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBvZiB0aGUgY29sbGVjdGVkIGNvbnN0YW50LCBhZnRlciBwcm9jZXNzaW5nLlxuICAgKi9cbiAgY29uc3RJbmRleDogbnVtYmVyfG51bGw7XG5cbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgd2hpY2ggY29udmVydHMgdGhlIGNvbnN0VmFsdWUgaW50byBhbiBvLkV4cHJlc3Npb24gZm9yIHRoZSBjb25zdCBhcnJheS5cbiAgICovXG4gIG1ha2VFeHByZXNzaW9uOiAodmFsdWU6IHVua25vd24pID0+IG8uRXhwcmVzc2lvbjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgQ29uc3VtZXNTbG90T3BUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1NMT1Q6IE9taXQ8Q29uc3VtZXNTbG90T3BUcmFpdCwgJ3hyZWYnPiA9IHtcbiAgW0NvbnN1bWVzU2xvdF06IHRydWUsXG4gIHNsb3Q6IG51bGwsXG4gIG51bVNsb3RzVXNlZDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIG1vc3QgYFVzZXNTbG90SW5kZXhUcmFpdGAgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX1VTRVNfU0xPVF9JTkRFWDogT21pdDxVc2VzU2xvdEluZGV4VHJhaXQsICd0YXJnZXQnPiA9IHtcbiAgW1VzZXNTbG90SW5kZXhdOiB0cnVlLFxuICB0YXJnZXRTbG90OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvXG4gKiBpbml0aWFsaXplIGltcGxlbWVudG9ycyBvZiB0aGUgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQ6XG4gICAgT21pdDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsICd0YXJnZXQnfCdzb3VyY2VTcGFuJz4gPSB7XG4gICAgICBbRGVwZW5kc09uU2xvdENvbnRleHRdOiB0cnVlLFxuICAgIH0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBVc2VzVmFyc2AgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1ZBUlM6IENvbnN1bWVzVmFyc1RyYWl0ID0ge1xuICBbQ29uc3VtZXNWYXJzVHJhaXRdOiB0cnVlLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYFVzZXNWYXJPZmZzZXRgIGZpZWxkcyAodXNlZCB3aXRoIHRoZSBzcHJlYWQgb3BlcmF0b3IgdG8gaW5pdGlhbGl6ZVxuICogaW1wbGVtZW50b3JzIG9mIHRoaXMgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfVVNFU19WQVJfT0ZGU0VUOiBVc2VzVmFyT2Zmc2V0VHJhaXQgPSB7XG4gIFtVc2VzVmFyT2Zmc2V0XTogdHJ1ZSxcbiAgdmFyT2Zmc2V0OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYEhhc0NvbnN0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvIGluaXRpYWxpemVcbiAqIGltcGxlbWVudG9ycyBvZiB0aGlzIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0hBU19DT05TVDogT21pdDxIYXNDb25zdFRyYWl0LCAnY29uc3RWYWx1ZSd8J21ha2VFeHByZXNzaW9uJz4gPSB7XG4gIFtIYXNDb25zdF06IHRydWUsXG4gIGNvbnN0SW5kZXg6IG51bGwsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBvcGVyYXRpb24gaW1wbGVtZW50cyBgQ29uc3VtZXNTbG90T3BUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1Nsb3RUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzU2xvdE9wVHJhaXQge1xuICByZXR1cm4gKG9wIGFzIFBhcnRpYWw8Q29uc3VtZXNTbG90T3BUcmFpdD4pW0NvbnN1bWVzU2xvdF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzRGVwZW5kc09uU2xvdENvbnRleHRUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlxuICAgIERlcGVuZHNPblNsb3RDb250ZXh0T3BUcmFpdCB7XG4gIHJldHVybiAob3AgYXMgUGFydGlhbDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQ+KVtEZXBlbmRzT25TbG90Q29udGV4dF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBpbXBsZW1lbnRzIGBDb25zdW1lc1ZhcnNUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZcbiAgICBDb25zdW1lc1ZhcnNUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJkNvbnN1bWVzVmFyc1RyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN1bWVzVmFyc1RyYWl0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuICh2YWx1ZSBhcyBQYXJ0aWFsPENvbnN1bWVzVmFyc1RyYWl0PilbQ29uc3VtZXNWYXJzVHJhaXRdID09PSB0cnVlO1xufVxuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNWYXJPZmZzZXRUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzVmFyT2Zmc2V0VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Zhck9mZnNldFRyYWl0IHtcbiAgcmV0dXJuIChleHByIGFzIFBhcnRpYWw8VXNlc1Zhck9mZnNldFRyYWl0PilbVXNlc1Zhck9mZnNldF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYFVzZXNTbG90SW5kZXhUcmFpdGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgVXNlc1Nsb3RJbmRleFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1VzZXNTbG90SW5kZXhUcmFpdDxPcFQgZXh0ZW5kcyBPcDxPcFQ+PihvcDogT3BUKTogb3AgaXMgT3BUJlVzZXNTbG90SW5kZXhUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNVc2VzU2xvdEluZGV4VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8VXNlc1Nsb3RJbmRleFRyYWl0PilbVXNlc1Nsb3RJbmRleF0gPT09IHRydWU7XG59XG5cbi8qKlxuICogVGVzdCB3aGV0aGVyIGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGltcGxlbWVudHMgYEhhc0NvbnN0VHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3RUcmFpdDxFeHByVCBleHRlbmRzIEV4cHJlc3Npb24+KGV4cHI6IEV4cHJUKTogZXhwciBpcyBFeHByVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZIYXNDb25zdFRyYWl0O1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0NvbnN0VHJhaXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8SGFzQ29uc3RUcmFpdD4pW0hhc0NvbnN0XSA9PT0gdHJ1ZTtcbn1cbiJdfQ==
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3RlbXBsYXRlL3BpcGVsaW5lL2lyL3NyYy90cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBT0g7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBbUVyRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBK0M7SUFDN0UsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJO0lBQ3BCLFlBQVksRUFBRSxDQUFDO0NBQ1AsQ0FBQztBQUVYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUNxQjtJQUN6RCxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSTtDQUNwQixDQUFDO0FBRWY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXNCO0lBQ3BELENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJO0NBQ2pCLENBQUM7QUFFWDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBdUI7SUFDdkQsQ0FBQyxhQUFhLENBQUMsRUFBRSxJQUFJO0lBQ3JCLFNBQVMsRUFBRSxJQUFJO0NBQ1AsQ0FBQztBQUVYOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFzQixFQUFPO0lBQy9ELE9BQVEsRUFBbUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUM7QUFDckUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFzQixFQUFPO0lBRXZFLE9BQVEsRUFBMkMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLElBQUksQ0FBQztBQUNyRixDQUFDO0FBUUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQVU7SUFDN0MsT0FBUSxLQUFvQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsSUFBVztJQUV6RSxPQUFRLElBQW9DLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUge1BhcnNlU291cmNlU3Bhbn0gZnJvbSAnLi4vLi4vLi4vLi4vcGFyc2VfdXRpbCc7XG5pbXBvcnQgdHlwZSB7RXhwcmVzc2lvbn0gZnJvbSAnLi9leHByZXNzaW9uJztcbmltcG9ydCB0eXBlIHtPcCwgWHJlZklkfSBmcm9tICcuL29wZXJhdGlvbnMnO1xuaW1wb3J0IHtTbG90SGFuZGxlfSBmcm9tICcuL2hhbmRsZSc7XG5cbi8qKlxuICogTWFya2VyIHN5bWJvbCBmb3IgYENvbnN1bWVzU2xvdE9wVHJhaXRgLlxuICovXG5leHBvcnQgY29uc3QgQ29uc3VtZXNTbG90ID0gU3ltYm9sKCdDb25zdW1lc1Nsb3QnKTtcblxuLyoqXG4gKiBNYXJrZXIgc3ltYm9sIGZvciBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YC5cbiAqL1xuZXhwb3J0IGNvbnN0IERlcGVuZHNPblNsb3RDb250ZXh0ID0gU3ltYm9sKCdEZXBlbmRzT25TbG90Q29udGV4dCcpO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBDb25zdW1lc1ZhcnNgIHRyYWl0LlxuICovXG5leHBvcnQgY29uc3QgQ29uc3VtZXNWYXJzVHJhaXQgPSBTeW1ib2woJ0NvbnN1bWVzVmFycycpO1xuXG4vKipcbiAqIE1hcmtlciBzeW1ib2wgZm9yIGBVc2VzVmFyT2Zmc2V0YCB0cmFpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFVzZXNWYXJPZmZzZXQgPSBTeW1ib2woJ1VzZXNWYXJPZmZzZXQnKTtcblxuLyoqXG4gKiBNYXJrcyBhbiBvcGVyYXRpb24gYXMgcmVxdWlyaW5nIGFsbG9jYXRpb24gb2Ygb25lIG9yIG1vcmUgZGF0YSBzbG90cyBmb3Igc3RvcmFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdW1lc1Nsb3RPcFRyYWl0IHtcbiAgcmVhZG9ubHlbQ29uc3VtZXNTbG90XTogdHJ1ZTtcblxuICAvKipcbiAgICogQXNzaWduZWQgZGF0YSBzbG90ICh0aGUgc3RhcnRpbmcgaW5kZXgsIGlmIG1vcmUgdGhhbiBvbmUgc2xvdCBpcyBuZWVkZWQpIGZvciB0aGlzIG9wZXJhdGlvbiwgb3JcbiAgICogYG51bGxgIGlmIHNsb3RzIGhhdmUgbm90IHlldCBiZWVuIGFzc2lnbmVkLlxuICAgKi9cbiAgaGFuZGxlOiBTbG90SGFuZGxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNsb3RzIHdoaWNoIHdpbGwgYmUgdXNlZCBieSB0aGlzIG9wZXJhdGlvbi4gQnkgZGVmYXVsdCAxLCBidXQgY2FuIGJlIGluY3JlYXNlZCBpZlxuICAgKiBuZWNlc3NhcnkuXG4gICAqL1xuICBudW1TbG90c1VzZWQ6IG51bWJlcjtcblxuICAvKipcbiAgICogYFhyZWZJZGAgb2YgdGhpcyBvcGVyYXRpb24gKGUuZy4gdGhlIGVsZW1lbnQgc3RvcmVkIGluIHRoZSBhc3NpZ25lZCBzbG90KS4gVGhpcyBgWHJlZklkYCBpc1xuICAgKiB1c2VkIHRvIGxpbmsgdGhpcyBgQ29uc3VtZXNTbG90T3BUcmFpdGAgb3BlcmF0aW9uIHdpdGggYERlcGVuZHNPblNsb3RDb250ZXh0VHJhaXRgIG9yXG4gICAqIGBVc2VzU2xvdEluZGV4RXhwclRyYWl0YCBpbXBsZW1lbnRvcnMgYW5kIGVuc3VyZSB0aGF0IHRoZSBhc3NpZ25lZCBzbG90IGlzIHByb3BhZ2F0ZWQgdGhyb3VnaFxuICAgKiB0aGUgSVIgdG8gYWxsIGNvbnN1bWVycy5cbiAgICovXG4gIHhyZWY6IFhyZWZJZDtcbn1cblxuXG4vKipcbiAqIE1hcmtzIGFuIG9wZXJhdGlvbiBhcyBkZXBlbmRpbmcgb24gdGhlIHJ1bnRpbWUncyBpbXBsaWNpdCBzbG90IGNvbnRleHQgYmVpbmcgc2V0IHRvIGEgcGFydGljdWxhclxuICogc2xvdC5cbiAqXG4gKiBUaGUgcnVudGltZSBoYXMgYW4gaW1wbGljaXQgc2xvdCBjb250ZXh0IHdoaWNoIGlzIGFkanVzdGVkIHVzaW5nIHRoZSBgYWR2YW5jZSgpYCBpbnN0cnVjdGlvblxuICogZHVyaW5nIHRoZSBleGVjdXRpb24gb2YgdGVtcGxhdGUgdXBkYXRlIGZ1bmN0aW9ucy4gVGhpcyB0cmFpdCBtYXJrcyBhbiBvcGVyYXRpb24gYXMgcmVxdWlyaW5nXG4gKiB0aGlzIGltcGxpY2l0IGNvbnRleHQgdG8gYmUgYGFkdmFuY2UoKWAnZCB0byBwb2ludCBhdCBhIHBhcnRpY3VsYXIgc2xvdCBwcmlvciB0byBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0IHtcbiAgcmVhZG9ubHlbRGVwZW5kc09uU2xvdENvbnRleHRdOiB0cnVlO1xuXG4gIC8qKlxuICAgKiBgWHJlZklkYCBvZiB0aGUgYENvbnN1bWVzU2xvdE9wVHJhaXRgIHdoaWNoIHRoZSBpbXBsaWNpdCBzbG90IGNvbnRleHQgbXVzdCByZWZlcmVuY2UgYmVmb3JlXG4gICAqIHRoaXMgb3BlcmF0aW9uIGNhbiBiZSBleGVjdXRlZC5cbiAgICovXG4gIHRhcmdldDogWHJlZklkO1xuXG4gIHNvdXJjZVNwYW46IFBhcnNlU291cmNlU3Bhbjtcbn1cblxuLyoqXG4gKiBNYXJrZXIgdHJhaXQgaW5kaWNhdGluZyB0aGF0IGFuIG9wZXJhdGlvbiBvciBleHByZXNzaW9uIGNvbnN1bWVzIHZhcmlhYmxlIHN0b3JhZ2Ugc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3VtZXNWYXJzVHJhaXQge1xuICBbQ29uc3VtZXNWYXJzVHJhaXRdOiB0cnVlO1xufVxuXG4vKipcbiAqIE1hcmtlciB0cmFpdCBpbmRpY2F0aW5nIHRoYXQgYW4gZXhwcmVzc2lvbiByZXF1aXJlcyBrbm93bGVkZ2Ugb2YgdGhlIG51bWJlciBvZiB2YXJpYWJsZSBzdG9yYWdlXG4gKiBzbG90cyB1c2VkIHByaW9yIHRvIGl0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXNWYXJPZmZzZXRUcmFpdCB7XG4gIFtVc2VzVmFyT2Zmc2V0XTogdHJ1ZTtcblxuICB2YXJPZmZzZXQ6IG51bWJlcnxudWxsO1xufVxuXG4vKipcbiAqIERlZmF1bHQgdmFsdWVzIGZvciBtb3N0IGBDb25zdW1lc1Nsb3RPcFRyYWl0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvIGluaXRpYWxpemVcbiAqIGltcGxlbWVudG9ycyBvZiB0aGUgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfQ09OU1VNRVNfU0xPVDogT21pdDxDb25zdW1lc1Nsb3RPcFRyYWl0LCAneHJlZid8J2hhbmRsZSc+ID0ge1xuICBbQ29uc3VtZXNTbG90XTogdHJ1ZSxcbiAgbnVtU2xvdHNVc2VkOiAxLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgbW9zdCBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YCBmaWVsZHMgKHVzZWQgd2l0aCB0aGUgc3ByZWFkIG9wZXJhdG9yIHRvXG4gKiBpbml0aWFsaXplIGltcGxlbWVudG9ycyBvZiB0aGUgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfREVQRU5EU19PTl9TTE9UX0NPTlRFWFQ6XG4gICAgT21pdDxEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQsICd0YXJnZXQnfCdzb3VyY2VTcGFuJz4gPSB7XG4gICAgICBbRGVwZW5kc09uU2xvdENvbnRleHRdOiB0cnVlLFxuICAgIH0gYXMgY29uc3Q7XG5cbi8qKlxuICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBVc2VzVmFyc2AgZmllbGRzICh1c2VkIHdpdGggdGhlIHNwcmVhZCBvcGVyYXRvciB0byBpbml0aWFsaXplXG4gKiBpbXBsZW1lbnRvcnMgb2YgdGhlIHRyYWl0KS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRSQUlUX0NPTlNVTUVTX1ZBUlM6IENvbnN1bWVzVmFyc1RyYWl0ID0ge1xuICBbQ29uc3VtZXNWYXJzVHJhaXRdOiB0cnVlLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBEZWZhdWx0IHZhbHVlcyBmb3IgYFVzZXNWYXJPZmZzZXRgIGZpZWxkcyAodXNlZCB3aXRoIHRoZSBzcHJlYWQgb3BlcmF0b3IgdG8gaW5pdGlhbGl6ZVxuICogaW1wbGVtZW50b3JzIG9mIHRoaXMgdHJhaXQpLlxuICovXG5leHBvcnQgY29uc3QgVFJBSVRfVVNFU19WQVJfT0ZGU0VUOiBVc2VzVmFyT2Zmc2V0VHJhaXQgPSB7XG4gIFtVc2VzVmFyT2Zmc2V0XTogdHJ1ZSxcbiAgdmFyT2Zmc2V0OiBudWxsLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBUZXN0IHdoZXRoZXIgYW4gb3BlcmF0aW9uIGltcGxlbWVudHMgYENvbnN1bWVzU2xvdE9wVHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3VtZXNTbG90VHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZDb25zdW1lc1Nsb3RPcFRyYWl0IHtcbiAgcmV0dXJuIChvcCBhcyBQYXJ0aWFsPENvbnN1bWVzU2xvdE9wVHJhaXQ+KVtDb25zdW1lc1Nsb3RdID09PSB0cnVlO1xufVxuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBvcGVyYXRpb24gaW1wbGVtZW50cyBgRGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0RlcGVuZHNPblNsb3RDb250ZXh0VHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZcbiAgICBEZXBlbmRzT25TbG90Q29udGV4dE9wVHJhaXQge1xuICByZXR1cm4gKG9wIGFzIFBhcnRpYWw8RGVwZW5kc09uU2xvdENvbnRleHRPcFRyYWl0PilbRGVwZW5kc09uU2xvdENvbnRleHRdID09PSB0cnVlO1xufVxuXG4vKipcbiAqIFRlc3Qgd2hldGhlciBhbiBvcGVyYXRpb24gaW1wbGVtZW50cyBgQ29uc3VtZXNWYXJzVHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3VtZXNWYXJzVHJhaXQ8RXhwclQgZXh0ZW5kcyBFeHByZXNzaW9uPihleHByOiBFeHByVCk6IGV4cHIgaXMgRXhwclQmXG4gICAgQ29uc3VtZXNWYXJzVHJhaXQ7XG5leHBvcnQgZnVuY3Rpb24gaGFzQ29uc3VtZXNWYXJzVHJhaXQ8T3BUIGV4dGVuZHMgT3A8T3BUPj4ob3A6IE9wVCk6IG9wIGlzIE9wVCZDb25zdW1lc1ZhcnNUcmFpdDtcbmV4cG9ydCBmdW5jdGlvbiBoYXNDb25zdW1lc1ZhcnNUcmFpdCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiAodmFsdWUgYXMgUGFydGlhbDxDb25zdW1lc1ZhcnNUcmFpdD4pW0NvbnN1bWVzVmFyc1RyYWl0XSA9PT0gdHJ1ZTtcbn1cblxuLyoqXG4gKiBUZXN0IHdoZXRoZXIgYW4gZXhwcmVzc2lvbiBpbXBsZW1lbnRzIGBVc2VzVmFyT2Zmc2V0VHJhaXRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzVXNlc1Zhck9mZnNldFRyYWl0PEV4cHJUIGV4dGVuZHMgRXhwcmVzc2lvbj4oZXhwcjogRXhwclQpOiBleHByIGlzIEV4cHJUJlxuICAgIFVzZXNWYXJPZmZzZXRUcmFpdCB7XG4gIHJldHVybiAoZXhwciBhcyBQYXJ0aWFsPFVzZXNWYXJPZmZzZXRUcmFpdD4pW1VzZXNWYXJPZmZzZXRdID09PSB0cnVlO1xufVxuIl19
|
|
@@ -39,10 +39,11 @@ export class CompilationJob {
|
|
|
39
39
|
* embedded views or host bindings.
|
|
40
40
|
*/
|
|
41
41
|
export class ComponentCompilationJob extends CompilationJob {
|
|
42
|
-
constructor(componentName, pool, compatibility, relativeContextFilePath, i18nUseExternalIds) {
|
|
42
|
+
constructor(componentName, pool, compatibility, relativeContextFilePath, i18nUseExternalIds, deferBlocksMeta) {
|
|
43
43
|
super(componentName, pool, compatibility);
|
|
44
44
|
this.relativeContextFilePath = relativeContextFilePath;
|
|
45
45
|
this.i18nUseExternalIds = i18nUseExternalIds;
|
|
46
|
+
this.deferBlocksMeta = deferBlocksMeta;
|
|
46
47
|
this.kind = CompilationJobKind.Tmpl;
|
|
47
48
|
this.fnSuffix = 'Template';
|
|
48
49
|
this.views = new Map();
|
|
@@ -189,4 +190,4 @@ export class HostBindingCompilationUnit extends CompilationUnit {
|
|
|
189
190
|
this.attributes = null;
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL2NvbXBpbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlILE9BQU8sS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsMkRBQUksQ0FBQTtJQUNKLDJEQUFJLENBQUE7SUFDSiwyREFBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGNBQWM7SUFDbEMsWUFDYSxhQUFxQixFQUFXLElBQWtCLEVBQ2xELGFBQW1DO1FBRG5DLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFFaEQsU0FBSSxHQUF1QixrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUEwQm5EOztXQUVHO1FBQ0ssZUFBVSxHQUFjLENBQWMsQ0FBQztJQS9CSSxDQUFDO0lBcUJwRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQWUsQ0FBQztJQUN4QyxDQUFDO0NBTUY7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN6RCxZQUNJLGFBQXFCLEVBQUUsSUFBa0IsRUFBRSxhQUFtQyxFQUNyRSx1QkFBK0IsRUFBVyxrQkFBMkI7UUFDaEYsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEL0IsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFRO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO1FBTXpF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LE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQUN0RCxZQUNhLEdBQTRCLEVBQUUsSUFBZSxFQUFXLE1BQXNCO1FBQ3pGLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURELFFBQUcsR0FBSCxHQUFHLENBQXlCO1FBQTRCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBSTNGOzs7V0FHRztRQUNNLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRXREOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztRQUUvQzs7O1dBR0c7UUFDSCxVQUFLLEdBQWdCLElBQUksQ0FBQztJQWxCMUIsQ0FBQztDQW1CRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQWM7SUFDM0QsWUFBWSxhQUFxQixFQUFFLElBQWtCLEVBQUUsYUFBbUM7UUFDeEYsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFJbkMsU0FBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUV0QixhQUFRLEdBQVcsY0FBYyxDQUFDO1FBTGxELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBUUQsSUFBYSxLQUFLO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFDN0QsWUFBcUIsR0FBOEI7UUFDakQsS0FBSyxDQUFDLENBQWMsQ0FBQyxDQUFDO1FBREgsUUFBRyxHQUFILEdBQUcsQ0FBMkI7UUFJbkQ7O1dBRUc7UUFDSCxlQUFVLEdBQTRCLElBQUksQ0FBQztJQUwzQyxDQUFDO0NBTUYiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtDb25zdGFudFBvb2x9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50X3Bvb2wnO1xuaW1wb3J0ICogYXMgbyBmcm9tICcuLi8uLi8uLi9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi9pcic7XG5cbmV4cG9ydCBlbnVtIENvbXBpbGF0aW9uSm9iS2luZCB7XG4gIFRtcGwsXG4gIEhvc3QsXG4gIEJvdGgsICAvLyBBIHNwZWNpYWwgdmFsdWUgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHNvbWUgbG9naWMgYXBwbGllcyB0byBib3RoIGNvbXBpbGF0aW9uIHR5cGVzXG59XG5cbi8qKlxuICogQW4gZW50aXJlIG9uZ29pbmcgY29tcGlsYXRpb24sIHdoaWNoIHdpbGwgcmVzdWx0IGluIG9uZSBvciBtb3JlIHRlbXBsYXRlIGZ1bmN0aW9ucyB3aGVuIGNvbXBsZXRlLlxuICogQ29udGFpbnMgb25lIG9yIG1vcmUgY29ycmVzcG9uZGluZyBjb21waWxhdGlvbiB1bml0cy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBpbGF0aW9uSm9iIHtcbiAgY29uc3RydWN0b3IoXG4gICAgICByZWFkb25seSBjb21wb25lbnROYW1lOiBzdHJpbmcsIHJlYWRvbmx5IHBvb2w6IENvbnN0YW50UG9vbCxcbiAgICAgIHJlYWRvbmx5IGNvbXBhdGliaWxpdHk6IGlyLkNvbXBhdGliaWxpdHlNb2RlKSB7fVxuXG4gIGtpbmQ6IENvbXBpbGF0aW9uSm9iS2luZCA9IENvbXBpbGF0aW9uSm9iS2luZC5Cb3RoO1xuXG4gIC8qKlxuICAgKiBBIGNvbXBpbGF0aW9uIGpvYiB3aWxsIGNvbnRhaW4gb25lIG9yIG1vcmUgY29tcGlsYXRpb24gdW5pdHMuXG4gICAqL1xuICBhYnN0cmFjdCBnZXQgdW5pdHMoKTogSXRlcmFibGU8Q29tcGlsYXRpb25Vbml0PjtcblxuICAvKipcbiAgICogVGhlIHJvb3QgY29tcGlsYXRpb24gdW5pdCwgc3VjaCBhcyB0aGUgY29tcG9uZW50J3MgdGVtcGxhdGUsIG9yIHRoZSBob3N0IGJpbmRpbmcncyBjb21waWxhdGlvblxuICAgKiB1bml0LlxuICAgKi9cbiAgYWJzdHJhY3Qgcm9vdDogQ29tcGlsYXRpb25Vbml0O1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBzdHJpbmcgdXNlZCB0byBpZGVudGlmeSB0aGlzIGtpbmQgb2Ygam9iLCBhbmQgZ2VuZXJhdGUgdGhlIHRlbXBsYXRlIGZ1bmN0aW9uIChhcyBhXG4gICAqIHN1ZmZpeCBvZiB0aGUgbmFtZSkuXG4gICAqL1xuICBhYnN0cmFjdCBmblN1ZmZpeDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIG5ldyB1bmlxdWUgYGlyLlhyZWZJZGAgaW4gdGhpcyBqb2IuXG4gICAqL1xuICBhbGxvY2F0ZVhyZWZJZCgpOiBpci5YcmVmSWQge1xuICAgIHJldHVybiB0aGlzLm5leHRYcmVmSWQrKyBhcyBpci5YcmVmSWQ7XG4gIH1cblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBuZXh0IGBpci5YcmVmSWRgIHdoaWNoIGNhbiBiZSBhc3NpZ25lZCBhcyB0ZW1wbGF0ZSBzdHJ1Y3R1cmVzIGFyZSBpbmdlc3RlZC5cbiAgICovXG4gIHByaXZhdGUgbmV4dFhyZWZJZDogaXIuWHJlZklkID0gMCBhcyBpci5YcmVmSWQ7XG59XG5cbi8qKlxuICogQ29tcGlsYXRpb24taW4tcHJvZ3Jlc3Mgb2YgYSB3aG9sZSBjb21wb25lbnQncyB0ZW1wbGF0ZSwgaW5jbHVkaW5nIHRoZSBtYWluIHRlbXBsYXRlIGFuZCBhbnlcbiAqIGVtYmVkZGVkIHZpZXdzIG9yIGhvc3QgYmluZGluZ3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRDb21waWxhdGlvbkpvYiBleHRlbmRzIENvbXBpbGF0aW9uSm9iIHtcbiAgY29uc3RydWN0b3IoXG4gICAgICBjb21wb25lbnROYW1lOiBzdHJpbmcsIHBvb2w6IENvbnN0YW50UG9vbCwgY29tcGF0aWJpbGl0eTogaXIuQ29tcGF0aWJpbGl0eU1vZGUsXG4gICAgICByZWFkb25seSByZWxhdGl2ZUNvbnRleHRGaWxlUGF0aDogc3RyaW5nLCByZWFkb25seSBpMThuVXNlRXh0ZXJuYWxJZHM6IGJvb2xlYW4pIHtcbiAgICBzdXBlcihjb21wb25lbnROYW1lLCBwb29sLCBjb21wYXRpYmlsaXR5KTtcbiAgICB0aGlzLnJvb3QgPSBuZXcgVmlld0NvbXBpbGF0aW9uVW5pdCh0aGlzLCB0aGlzLmFsbG9jYXRlWHJlZklkKCksIG51bGwpO1xuICAgIHRoaXMudmlld3Muc2V0KHRoaXMucm9vdC54cmVmLCB0aGlzLnJvb3QpO1xuICB9XG5cbiAgb3ZlcnJpZGUga2luZCA9IENvbXBpbGF0aW9uSm9iS2luZC5UbXBsO1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IGZuU3VmZml4OiBzdHJpbmcgPSAnVGVtcGxhdGUnO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9vdCB2aWV3LCByZXByZXNlbnRpbmcgdGhlIGNvbXBvbmVudCdzIHRlbXBsYXRlLlxuICAgKi9cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcm9vdDogVmlld0NvbXBpbGF0aW9uVW5pdDtcblxuICByZWFkb25seSB2aWV3cyA9IG5ldyBNYXA8aXIuWHJlZklkLCBWaWV3Q29tcGlsYXRpb25Vbml0PigpO1xuXG4gIC8qKlxuICAgKiBDYXVzZXMgbmdDb250ZW50U2VsZWN0b3JzIHRvIGJlIGVtaXR0ZWQsIGZvciBjb250ZW50IHByb2plY3Rpb24gc2xvdHMgaW4gdGhlIHZpZXcuIFBvc3NpYmx5IGFcbiAgICogcmVmZXJlbmNlIGludG8gdGhlIGNvbnN0YW50IHBvb2wuXG4gICAqL1xuICBwdWJsaWMgY29udGVudFNlbGVjdG9yczogby5FeHByZXNzaW9ufG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBgVmlld0NvbXBpbGF0aW9uYCBmb3IgYSBuZXcgZW1iZWRkZWQgdmlldyB0byB0aGlzIGNvbXBpbGF0aW9uLlxuICAgKi9cbiAgYWxsb2NhdGVWaWV3KHBhcmVudDogaXIuWHJlZklkKTogVmlld0NvbXBpbGF0aW9uVW5pdCB7XG4gICAgY29uc3QgdmlldyA9IG5ldyBWaWV3Q29tcGlsYXRpb25Vbml0KHRoaXMsIHRoaXMuYWxsb2NhdGVYcmVmSWQoKSwgcGFyZW50KTtcbiAgICB0aGlzLnZpZXdzLnNldCh2aWV3LnhyZWYsIHZpZXcpO1xuICAgIHJldHVybiB2aWV3O1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IHVuaXRzKCk6IEl0ZXJhYmxlPFZpZXdDb21waWxhdGlvblVuaXQ+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3cy52YWx1ZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb25zdGFudCBgby5FeHByZXNzaW9uYCB0byB0aGUgY29tcGlsYXRpb24gYW5kIHJldHVybiBpdHMgaW5kZXggaW4gdGhlIGBjb25zdHNgIGFycmF5LlxuICAgKi9cbiAgYWRkQ29uc3QobmV3Q29uc3Q6IG8uRXhwcmVzc2lvbiwgaW5pdGlhbGl6ZXJzPzogby5TdGF0ZW1lbnRbXSk6IGlyLkNvbnN0SW5kZXgge1xuICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHRoaXMuY29uc3RzLmxlbmd0aDsgaWR4KyspIHtcbiAgICAgIGlmICh0aGlzLmNvbnN0c1tpZHhdLmlzRXF1aXZhbGVudChuZXdDb25zdCkpIHtcbiAgICAgICAgcmV0dXJuIGlkeCBhcyBpci5Db25zdEluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBpZHggPSB0aGlzLmNvbnN0cy5sZW5ndGg7XG4gICAgdGhpcy5jb25zdHMucHVzaChuZXdDb25zdCk7XG4gICAgaWYgKGluaXRpYWxpemVycykge1xuICAgICAgdGhpcy5jb25zdHNJbml0aWFsaXplcnMucHVzaCguLi5pbml0aWFsaXplcnMpO1xuICAgIH1cbiAgICByZXR1cm4gaWR4IGFzIGlyLkNvbnN0SW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RhbnQgZXhwcmVzc2lvbnMgdXNlZCBieSBvcGVyYXRpb25zIHdpdGhpbiB0aGlzIGNvbXBvbmVudCdzIGNvbXBpbGF0aW9uLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgZXZlbnR1YWxseSBiZWNvbWUgdGhlIGBjb25zdHNgIGFycmF5IGluIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0czogby5FeHByZXNzaW9uW10gPSBbXTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6YXRpb24gc3RhdGVtZW50cyBuZWVkZWQgdG8gc2V0IHVwIHRoZSBjb25zdHMuXG4gICAqL1xuICByZWFkb25seSBjb25zdHNJbml0aWFsaXplcnM6IG8uU3RhdGVtZW50W10gPSBbXTtcbn1cblxuLyoqXG4gKiBBIGNvbXBpbGF0aW9uIHVuaXQgaXMgY29tcGlsZWQgaW50byBhIHRlbXBsYXRlIGZ1bmN0aW9uLiBTb21lIGV4YW1wbGUgdW5pdHMgYXJlIHZpZXdzIGFuZCBob3N0XG4gKiBiaW5kaW5ncy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBpbGF0aW9uVW5pdCB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHhyZWY6IGlyLlhyZWZJZCkge31cblxuICAvKipcbiAgICogTGlzdCBvZiBjcmVhdGlvbiBvcGVyYXRpb25zIGZvciB0aGlzIHZpZXcuXG4gICAqXG4gICAqIENyZWF0aW9uIG9wZXJhdGlvbnMgbWF5IGludGVybmFsbHkgY29udGFpbiBvdGhlciBvcGVyYXRpb25zLCBpbmNsdWRpbmcgdXBkYXRlIG9wZXJhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBjcmVhdGUgPSBuZXcgaXIuT3BMaXN0PGlyLkNyZWF0ZU9wPigpO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHVwZGF0ZSBvcGVyYXRpb25zIGZvciB0aGlzIHZpZXcuXG4gICAqL1xuICByZWFkb25seSB1cGRhdGUgPSBuZXcgaXIuT3BMaXN0PGlyLlVwZGF0ZU9wPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgZW5jbG9zaW5nIGpvYiwgd2hpY2ggbWlnaHQgY29udGFpbiBzZXZlcmFsIGluZGl2aWR1YWwgY29tcGlsYXRpb24gdW5pdHMuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBqb2I6IENvbXBpbGF0aW9uSm9iO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyB1bml0LlxuICAgKlxuICAgKiBNYXkgYmUgYG51bGxgIGlmIG5vdCB5ZXQgZGV0ZXJtaW5lZC5cbiAgICovXG4gIGZuTmFtZTogc3RyaW5nfG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgdmFyaWFibGUgc2xvdHMgdXNlZCB3aXRoaW4gdGhpcyB2aWV3LCBvciBgbnVsbGAgaWYgdmFyaWFibGVzIGhhdmUgbm90IHlldCBiZWVuXG4gICAqIGNvdW50ZWQuXG4gICAqL1xuICB2YXJzOiBudW1iZXJ8bnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEl0ZXJhdGUgb3ZlciBhbGwgYGlyLk9wYHMgd2l0aGluIHRoaXMgdmlldy5cbiAgICpcbiAgICogU29tZSBvcGVyYXRpb25zIG1heSBoYXZlIGNoaWxkIG9wZXJhdGlvbnMsIHdoaWNoIHRoaXMgaXRlcmF0b3Igd2lsbCB2aXNpdC5cbiAgICovXG4gICogb3BzKCk6IEdlbmVyYXRvcjxpci5DcmVhdGVPcHxpci5VcGRhdGVPcD4ge1xuICAgIGZvciAoY29uc3Qgb3Agb2YgdGhpcy5jcmVhdGUpIHtcbiAgICAgIHlpZWxkIG9wO1xuICAgICAgaWYgKG9wLmtpbmQgPT09IGlyLk9wS2luZC5MaXN0ZW5lcikge1xuICAgICAgICBmb3IgKGNvbnN0IGxpc3RlbmVyT3Agb2Ygb3AuaGFuZGxlck9wcykge1xuICAgICAgICAgIHlpZWxkIGxpc3RlbmVyT3A7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChjb25zdCBvcCBvZiB0aGlzLnVwZGF0ZSkge1xuICAgICAgeWllbGQgb3A7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ29tcGlsYXRpb24taW4tcHJvZ3Jlc3Mgb2YgYW4gaW5kaXZpZHVhbCB2aWV3IHdpdGhpbiBhIHRlbXBsYXRlLlxuICovXG5leHBvcnQgY2xhc3MgVmlld0NvbXBpbGF0aW9uVW5pdCBleHRlbmRzIENvbXBpbGF0aW9uVW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcmVhZG9ubHkgam9iOiBDb21wb25lbnRDb21waWxhdGlvbkpvYiwgeHJlZjogaXIuWHJlZklkLCByZWFkb25seSBwYXJlbnQ6IGlyLlhyZWZJZHxudWxsKSB7XG4gICAgc3VwZXIoeHJlZik7XG4gIH1cblxuICAvKipcbiAgICogTWFwIG9mIGRlY2xhcmVkIHZhcmlhYmxlcyBhdmFpbGFibGUgd2l0aGluIHRoaXMgdmlldyB0byB0aGUgcHJvcGVydHkgb24gdGhlIGNvbnRleHQgb2JqZWN0XG4gICAqIHdoaWNoIHRoZXkgYWxpYXMuXG4gICAqL1xuICByZWFkb25seSBjb250ZXh0VmFyaWFibGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU2V0IG9mIGFsaWFzZXMgYXZhaWxhYmxlIHdpdGhpbiB0aGlzIHZpZXcuIEFuIGFsaWFzIGlzIGEgdmFyaWFibGUgd2hvc2UgcHJvdmlkZWQgZXhwcmVzc2lvbiBpc1xuICAgKiBpbmxpbmVkIGF0IGV2ZXJ5IGxvY2F0aW9uIGl0IGlzIHVzZWQuIEl0IG1heSBhbHNvIGRlcGVuZCBvbiBjb250ZXh0IHZhcmlhYmxlcywgYnkgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzZXMgPSBuZXcgU2V0PGlyLkFsaWFzVmFyaWFibGU+KCk7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBkZWNsYXJhdGlvbiBzbG90cyB1c2VkIHdpdGhpbiB0aGlzIHZpZXcsIG9yIGBudWxsYCBpZiBzbG90cyBoYXZlIG5vdCB5ZXQgYmVlblxuICAgKiBhbGxvY2F0ZWQuXG4gICAqL1xuICBkZWNsczogbnVtYmVyfG51bGwgPSBudWxsO1xufVxuXG4vKipcbiAqIENvbXBpbGF0aW9uLWluLXByb2dyZXNzIG9mIGEgaG9zdCBiaW5kaW5nLCB3aGljaCBjb250YWlucyBhIHNpbmdsZSB1bml0IGZvciB0aGF0IGhvc3QgYmluZGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IgZXh0ZW5kcyBDb21waWxhdGlvbkpvYiB7XG4gIGNvbnN0cnVjdG9yKGNvbXBvbmVudE5hbWU6IHN0cmluZywgcG9vbDogQ29uc3RhbnRQb29sLCBjb21wYXRpYmlsaXR5OiBpci5Db21wYXRpYmlsaXR5TW9kZSkge1xuICAgIHN1cGVyKGNvbXBvbmVudE5hbWUsIHBvb2wsIGNvbXBhdGliaWxpdHkpO1xuICAgIHRoaXMucm9vdCA9IG5ldyBIb3N0QmluZGluZ0NvbXBpbGF0aW9uVW5pdCh0aGlzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGtpbmQgPSBDb21waWxhdGlvbkpvYktpbmQuSG9zdDtcblxuICBvdmVycmlkZSByZWFkb25seSBmblN1ZmZpeDogc3RyaW5nID0gJ0hvc3RCaW5kaW5ncyc7XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcm9vdDogSG9zdEJpbmRpbmdDb21waWxhdGlvblVuaXQ7XG5cbiAgb3ZlcnJpZGUgZ2V0IHVuaXRzKCk6IEl0ZXJhYmxlPEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Vbml0PiB7XG4gICAgcmV0dXJuIFt0aGlzLnJvb3RdO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0QmluZGluZ0NvbXBpbGF0aW9uVW5pdCBleHRlbmRzIENvbXBpbGF0aW9uVW5pdCB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGpvYjogSG9zdEJpbmRpbmdDb21waWxhdGlvbkpvYikge1xuICAgIHN1cGVyKDAgYXMgaXIuWHJlZklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdWNoIGxpa2UgYW4gZWxlbWVudCBjYW4gaGF2ZSBhdHRyaWJ1dGVzLCBzbyBjYW4gYSBob3N0IGJpbmRpbmcgZnVuY3Rpb24uXG4gICAqL1xuICBhdHRyaWJ1dGVzOiBvLkxpdGVyYWxBcnJheUV4cHJ8bnVsbCA9IG51bGw7XG59XG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvdGVtcGxhdGUvcGlwZWxpbmUvc3JjL2NvbXBpbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQU1ILE9BQU8sS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsMkRBQUksQ0FBQTtJQUNKLDJEQUFJLENBQUE7SUFDSiwyREFBSSxDQUFBO0FBQ04sQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGNBQWM7SUFDbEMsWUFDYSxhQUFxQixFQUFXLElBQWtCLEVBQ2xELGFBQW1DO1FBRG5DLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNsRCxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFFaEQsU0FBSSxHQUF1QixrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUEwQm5EOztXQUVHO1FBQ0ssZUFBVSxHQUFjLENBQWMsQ0FBQztJQS9CSSxDQUFDO0lBcUJwRDs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQWUsQ0FBQztJQUN4QyxDQUFDO0NBTUY7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN6RCxZQUNJLGFBQXFCLEVBQUUsSUFBa0IsRUFBRSxhQUFtQyxFQUNyRSx1QkFBK0IsRUFBVyxrQkFBMkIsRUFDckUsZUFBMkQ7UUFDdEUsS0FBSyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFGL0IsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFRO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFTO1FBQ3JFLG9CQUFlLEdBQWYsZUFBZSxDQUE0QztRQU0vRCxTQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1FBRXRCLGFBQVEsR0FBVyxVQUFVLENBQUM7UUFPdkMsVUFBSyxHQUFHLElBQUksR0FBRyxFQUFrQyxDQUFDO1FBRTNEOzs7V0FHRztRQUNJLHFCQUFnQixHQUFzQixJQUFJLENBQUM7UUFnQ2xEOzs7O1dBSUc7UUFDTSxXQUFNLEdBQW1CLEVBQUUsQ0FBQztRQUVyQzs7V0FFRztRQUNNLHVCQUFrQixHQUFrQixFQUFFLENBQUM7UUE3RDlDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBbUJEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLE1BQWlCO1FBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQWEsS0FBSztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLFFBQXNCLEVBQUUsWUFBNEI7UUFDM0QsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzNDLE9BQU8sR0FBb0IsQ0FBQzthQUM3QjtTQUNGO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxHQUFvQixDQUFDO0lBQzlCLENBQUM7Q0FhRjtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsZUFBZTtJQUNuQyxZQUFxQixJQUFlO1FBQWYsU0FBSSxHQUFKLElBQUksQ0FBVztRQUVwQzs7OztXQUlHO1FBQ00sV0FBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBZSxDQUFDO1FBRS9DOztXQUVHO1FBQ00sV0FBTSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBZSxDQUFDO1FBTy9DOzs7O1dBSUc7UUFDSCxXQUFNLEdBQWdCLElBQUksQ0FBQztRQUUzQjs7O1dBR0c7UUFDSCxTQUFJLEdBQWdCLElBQUksQ0FBQztJQTlCYyxDQUFDO0lBZ0N4Qzs7OztPQUlHO0lBQ0gsQ0FBRSxHQUFHO1FBQ0gsS0FBSyxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzVCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2dCQUNsQyxLQUFLLE1BQU0sVUFBVSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7b0JBQ3RDLE1BQU0sVUFBVSxDQUFDO2lCQUNsQjthQUNGO1NBQ0Y7UUFDRCxLQUFLLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxFQUFFLENBQUM7U0FDVjtJQUNILENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFDdEQsWUFDYSxHQUE0QixFQUFFLElBQWUsRUFBVyxNQUFzQjtRQUN6RixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFERCxRQUFHLEdBQUgsR0FBRyxDQUF5QjtRQUE0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUkzRjs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUV0RDs7O1dBR0c7UUFDTSxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFFL0M7OztXQUdHO1FBQ0gsVUFBSyxHQUFnQixJQUFJLENBQUM7SUFsQjFCLENBQUM7Q0FtQkY7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxjQUFjO0lBQzNELFlBQVksYUFBcUIsRUFBRSxJQUFrQixFQUFFLGFBQW1DO1FBQ3hGLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSW5DLFNBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFFdEIsYUFBUSxHQUFXLGNBQWMsQ0FBQztRQUxsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQVFELElBQWEsS0FBSztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxlQUFlO0lBQzdELFlBQXFCLEdBQThCO1FBQ2pELEtBQUssQ0FBQyxDQUFjLENBQUMsQ0FBQztRQURILFFBQUcsR0FBSCxHQUFHLENBQTJCO1FBSW5EOztXQUVHO1FBQ0gsZUFBVSxHQUE0QixJQUFJLENBQUM7SUFMM0MsQ0FBQztDQU1GIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Q29uc3RhbnRQb29sfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudF9wb29sJztcbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vLi4vLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuaW1wb3J0ICogYXMgdCBmcm9tICcuLi8uLi8uLi9yZW5kZXIzL3IzX2FzdCc7XG5pbXBvcnQge1IzRGVmZXJCbG9ja01ldGFkYXRhfSBmcm9tICcuLi8uLi8uLi9yZW5kZXIzL3ZpZXcvYXBpJztcbmltcG9ydCAqIGFzIGlyIGZyb20gJy4uL2lyJztcblxuZXhwb3J0IGVudW0gQ29tcGlsYXRpb25Kb2JLaW5kIHtcbiAgVG1wbCxcbiAgSG9zdCxcbiAgQm90aCwgIC8vIEEgc3BlY2lhbCB2YWx1ZSB1c2VkIHRvIGluZGljYXRlIHRoYXQgc29tZSBsb2dpYyBhcHBsaWVzIHRvIGJvdGggY29tcGlsYXRpb24gdHlwZXNcbn1cblxuLyoqXG4gKiBBbiBlbnRpcmUgb25nb2luZyBjb21waWxhdGlvbiwgd2hpY2ggd2lsbCByZXN1bHQgaW4gb25lIG9yIG1vcmUgdGVtcGxhdGUgZnVuY3Rpb25zIHdoZW4gY29tcGxldGUuXG4gKiBDb250YWlucyBvbmUgb3IgbW9yZSBjb3JyZXNwb25kaW5nIGNvbXBpbGF0aW9uIHVuaXRzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tcGlsYXRpb25Kb2Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHJlYWRvbmx5IGNvbXBvbmVudE5hbWU6IHN0cmluZywgcmVhZG9ubHkgcG9vbDogQ29uc3RhbnRQb29sLFxuICAgICAgcmVhZG9ubHkgY29tcGF0aWJpbGl0eTogaXIuQ29tcGF0aWJpbGl0eU1vZGUpIHt9XG5cbiAga2luZDogQ29tcGlsYXRpb25Kb2JLaW5kID0gQ29tcGlsYXRpb25Kb2JLaW5kLkJvdGg7XG5cbiAgLyoqXG4gICAqIEEgY29tcGlsYXRpb24gam9iIHdpbGwgY29udGFpbiBvbmUgb3IgbW9yZSBjb21waWxhdGlvbiB1bml0cy5cbiAgICovXG4gIGFic3RyYWN0IGdldCB1bml0cygpOiBJdGVyYWJsZTxDb21waWxhdGlvblVuaXQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgcm9vdCBjb21waWxhdGlvbiB1bml0LCBzdWNoIGFzIHRoZSBjb21wb25lbnQncyB0ZW1wbGF0ZSwgb3IgdGhlIGhvc3QgYmluZGluZydzIGNvbXBpbGF0aW9uXG4gICAqIHVuaXQuXG4gICAqL1xuICBhYnN0cmFjdCByb290OiBDb21waWxhdGlvblVuaXQ7XG5cbiAgLyoqXG4gICAqIEEgdW5pcXVlIHN0cmluZyB1c2VkIHRvIGlkZW50aWZ5IHRoaXMga2luZCBvZiBqb2IsIGFuZCBnZW5lcmF0ZSB0aGUgdGVtcGxhdGUgZnVuY3Rpb24gKGFzIGFcbiAgICogc3VmZml4IG9mIHRoZSBuYW1lKS5cbiAgICovXG4gIGFic3RyYWN0IGZuU3VmZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgbmV3IHVuaXF1ZSBgaXIuWHJlZklkYCBpbiB0aGlzIGpvYi5cbiAgICovXG4gIGFsbG9jYXRlWHJlZklkKCk6IGlyLlhyZWZJZCB7XG4gICAgcmV0dXJuIHRoaXMubmV4dFhyZWZJZCsrIGFzIGlyLlhyZWZJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFja3MgdGhlIG5leHQgYGlyLlhyZWZJZGAgd2hpY2ggY2FuIGJlIGFzc2lnbmVkIGFzIHRlbXBsYXRlIHN0cnVjdHVyZXMgYXJlIGluZ2VzdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBuZXh0WHJlZklkOiBpci5YcmVmSWQgPSAwIGFzIGlyLlhyZWZJZDtcbn1cblxuLyoqXG4gKiBDb21waWxhdGlvbi1pbi1wcm9ncmVzcyBvZiBhIHdob2xlIGNvbXBvbmVudCdzIHRlbXBsYXRlLCBpbmNsdWRpbmcgdGhlIG1haW4gdGVtcGxhdGUgYW5kIGFueVxuICogZW1iZWRkZWQgdmlld3Mgb3IgaG9zdCBiaW5kaW5ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbXBvbmVudENvbXBpbGF0aW9uSm9iIGV4dGVuZHMgQ29tcGlsYXRpb25Kb2Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZywgcG9vbDogQ29uc3RhbnRQb29sLCBjb21wYXRpYmlsaXR5OiBpci5Db21wYXRpYmlsaXR5TW9kZSxcbiAgICAgIHJlYWRvbmx5IHJlbGF0aXZlQ29udGV4dEZpbGVQYXRoOiBzdHJpbmcsIHJlYWRvbmx5IGkxOG5Vc2VFeHRlcm5hbElkczogYm9vbGVhbixcbiAgICAgIHJlYWRvbmx5IGRlZmVyQmxvY2tzTWV0YTogTWFwPHQuRGVmZXJyZWRCbG9jaywgUjNEZWZlckJsb2NrTWV0YWRhdGE+KSB7XG4gICAgc3VwZXIoY29tcG9uZW50TmFtZSwgcG9vbCwgY29tcGF0aWJpbGl0eSk7XG4gICAgdGhpcy5yb290ID0gbmV3IFZpZXdDb21waWxhdGlvblVuaXQodGhpcywgdGhpcy5hbGxvY2F0ZVhyZWZJZCgpLCBudWxsKTtcbiAgICB0aGlzLnZpZXdzLnNldCh0aGlzLnJvb3QueHJlZiwgdGhpcy5yb290KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGtpbmQgPSBDb21waWxhdGlvbkpvYktpbmQuVG1wbDtcblxuICBvdmVycmlkZSByZWFkb25seSBmblN1ZmZpeDogc3RyaW5nID0gJ1RlbXBsYXRlJztcblxuICAvKipcbiAgICogVGhlIHJvb3QgdmlldywgcmVwcmVzZW50aW5nIHRoZSBjb21wb25lbnQncyB0ZW1wbGF0ZS5cbiAgICovXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJvb3Q6IFZpZXdDb21waWxhdGlvblVuaXQ7XG5cbiAgcmVhZG9ubHkgdmlld3MgPSBuZXcgTWFwPGlyLlhyZWZJZCwgVmlld0NvbXBpbGF0aW9uVW5pdD4oKTtcblxuICAvKipcbiAgICogQ2F1c2VzIG5nQ29udGVudFNlbGVjdG9ycyB0byBiZSBlbWl0dGVkLCBmb3IgY29udGVudCBwcm9qZWN0aW9uIHNsb3RzIGluIHRoZSB2aWV3LiBQb3NzaWJseSBhXG4gICAqIHJlZmVyZW5jZSBpbnRvIHRoZSBjb25zdGFudCBwb29sLlxuICAgKi9cbiAgcHVibGljIGNvbnRlbnRTZWxlY3RvcnM6IG8uRXhwcmVzc2lvbnxudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQWRkIGEgYFZpZXdDb21waWxhdGlvbmAgZm9yIGEgbmV3IGVtYmVkZGVkIHZpZXcgdG8gdGhpcyBjb21waWxhdGlvbi5cbiAgICovXG4gIGFsbG9jYXRlVmlldyhwYXJlbnQ6IGlyLlhyZWZJZCk6IFZpZXdDb21waWxhdGlvblVuaXQge1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgVmlld0NvbXBpbGF0aW9uVW5pdCh0aGlzLCB0aGlzLmFsbG9jYXRlWHJlZklkKCksIHBhcmVudCk7XG4gICAgdGhpcy52aWV3cy5zZXQodmlldy54cmVmLCB2aWV3KTtcbiAgICByZXR1cm4gdmlldztcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCB1bml0cygpOiBJdGVyYWJsZTxWaWV3Q29tcGlsYXRpb25Vbml0PiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MudmFsdWVzKCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY29uc3RhbnQgYG8uRXhwcmVzc2lvbmAgdG8gdGhlIGNvbXBpbGF0aW9uIGFuZCByZXR1cm4gaXRzIGluZGV4IGluIHRoZSBgY29uc3RzYCBhcnJheS5cbiAgICovXG4gIGFkZENvbnN0KG5ld0NvbnN0OiBvLkV4cHJlc3Npb24sIGluaXRpYWxpemVycz86IG8uU3RhdGVtZW50W10pOiBpci5Db25zdEluZGV4IHtcbiAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLmNvbnN0cy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgICBpZiAodGhpcy5jb25zdHNbaWR4XS5pc0VxdWl2YWxlbnQobmV3Q29uc3QpKSB7XG4gICAgICAgIHJldHVybiBpZHggYXMgaXIuQ29uc3RJbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaWR4ID0gdGhpcy5jb25zdHMubGVuZ3RoO1xuICAgIHRoaXMuY29uc3RzLnB1c2gobmV3Q29uc3QpO1xuICAgIGlmIChpbml0aWFsaXplcnMpIHtcbiAgICAgIHRoaXMuY29uc3RzSW5pdGlhbGl6ZXJzLnB1c2goLi4uaW5pdGlhbGl6ZXJzKTtcbiAgICB9XG4gICAgcmV0dXJuIGlkeCBhcyBpci5Db25zdEluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0YW50IGV4cHJlc3Npb25zIHVzZWQgYnkgb3BlcmF0aW9ucyB3aXRoaW4gdGhpcyBjb21wb25lbnQncyBjb21waWxhdGlvbi5cbiAgICpcbiAgICogVGhpcyB3aWxsIGV2ZW50dWFsbHkgYmVjb21lIHRoZSBgY29uc3RzYCBhcnJheSBpbiB0aGUgY29tcG9uZW50IGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25zdHM6IG8uRXhwcmVzc2lvbltdID0gW107XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemF0aW9uIHN0YXRlbWVudHMgbmVlZGVkIHRvIHNldCB1cCB0aGUgY29uc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RzSW5pdGlhbGl6ZXJzOiBvLlN0YXRlbWVudFtdID0gW107XG59XG5cbi8qKlxuICogQSBjb21waWxhdGlvbiB1bml0IGlzIGNvbXBpbGVkIGludG8gYSB0ZW1wbGF0ZSBmdW5jdGlvbi4gU29tZSBleGFtcGxlIHVuaXRzIGFyZSB2aWV3cyBhbmQgaG9zdFxuICogYmluZGluZ3MuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21waWxhdGlvblVuaXQge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSB4cmVmOiBpci5YcmVmSWQpIHt9XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY3JlYXRpb24gb3BlcmF0aW9ucyBmb3IgdGhpcyB2aWV3LlxuICAgKlxuICAgKiBDcmVhdGlvbiBvcGVyYXRpb25zIG1heSBpbnRlcm5hbGx5IGNvbnRhaW4gb3RoZXIgb3BlcmF0aW9ucywgaW5jbHVkaW5nIHVwZGF0ZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlID0gbmV3IGlyLk9wTGlzdDxpci5DcmVhdGVPcD4oKTtcblxuICAvKipcbiAgICogTGlzdCBvZiB1cGRhdGUgb3BlcmF0aW9ucyBmb3IgdGhpcyB2aWV3LlxuICAgKi9cbiAgcmVhZG9ubHkgdXBkYXRlID0gbmV3IGlyLk9wTGlzdDxpci5VcGRhdGVPcD4oKTtcblxuICAvKipcbiAgICogVGhlIGVuY2xvc2luZyBqb2IsIHdoaWNoIG1pZ2h0IGNvbnRhaW4gc2V2ZXJhbCBpbmRpdmlkdWFsIGNvbXBpbGF0aW9uIHVuaXRzLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgam9iOiBDb21waWxhdGlvbkpvYjtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgdW5pdC5cbiAgICpcbiAgICogTWF5IGJlIGBudWxsYCBpZiBub3QgeWV0IGRldGVybWluZWQuXG4gICAqL1xuICBmbk5hbWU6IHN0cmluZ3xudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHZhcmlhYmxlIHNsb3RzIHVzZWQgd2l0aGluIHRoaXMgdmlldywgb3IgYG51bGxgIGlmIHZhcmlhYmxlcyBoYXZlIG5vdCB5ZXQgYmVlblxuICAgKiBjb3VudGVkLlxuICAgKi9cbiAgdmFyczogbnVtYmVyfG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBJdGVyYXRlIG92ZXIgYWxsIGBpci5PcGBzIHdpdGhpbiB0aGlzIHZpZXcuXG4gICAqXG4gICAqIFNvbWUgb3BlcmF0aW9ucyBtYXkgaGF2ZSBjaGlsZCBvcGVyYXRpb25zLCB3aGljaCB0aGlzIGl0ZXJhdG9yIHdpbGwgdmlzaXQuXG4gICAqL1xuICAqIG9wcygpOiBHZW5lcmF0b3I8aXIuQ3JlYXRlT3B8aXIuVXBkYXRlT3A+IHtcbiAgICBmb3IgKGNvbnN0IG9wIG9mIHRoaXMuY3JlYXRlKSB7XG4gICAgICB5aWVsZCBvcDtcbiAgICAgIGlmIChvcC5raW5kID09PSBpci5PcEtpbmQuTGlzdGVuZXIpIHtcbiAgICAgICAgZm9yIChjb25zdCBsaXN0ZW5lck9wIG9mIG9wLmhhbmRsZXJPcHMpIHtcbiAgICAgICAgICB5aWVsZCBsaXN0ZW5lck9wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3Qgb3Agb2YgdGhpcy51cGRhdGUpIHtcbiAgICAgIHlpZWxkIG9wO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIENvbXBpbGF0aW9uLWluLXByb2dyZXNzIG9mIGFuIGluZGl2aWR1YWwgdmlldyB3aXRoaW4gYSB0ZW1wbGF0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZpZXdDb21waWxhdGlvblVuaXQgZXh0ZW5kcyBDb21waWxhdGlvblVuaXQge1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIHJlYWRvbmx5IGpvYjogQ29tcG9uZW50Q29tcGlsYXRpb25Kb2IsIHhyZWY6IGlyLlhyZWZJZCwgcmVhZG9ubHkgcGFyZW50OiBpci5YcmVmSWR8bnVsbCkge1xuICAgIHN1cGVyKHhyZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcCBvZiBkZWNsYXJlZCB2YXJpYWJsZXMgYXZhaWxhYmxlIHdpdGhpbiB0aGlzIHZpZXcgdG8gdGhlIHByb3BlcnR5IG9uIHRoZSBjb250ZXh0IG9iamVjdFxuICAgKiB3aGljaCB0aGV5IGFsaWFzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dFZhcmlhYmxlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIFNldCBvZiBhbGlhc2VzIGF2YWlsYWJsZSB3aXRoaW4gdGhpcyB2aWV3LiBBbiBhbGlhcyBpcyBhIHZhcmlhYmxlIHdob3NlIHByb3ZpZGVkIGV4cHJlc3Npb24gaXNcbiAgICogaW5saW5lZCBhdCBldmVyeSBsb2NhdGlvbiBpdCBpcyB1c2VkLiBJdCBtYXkgYWxzbyBkZXBlbmQgb24gY29udGV4dCB2YXJpYWJsZXMsIGJ5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhbGlhc2VzID0gbmV3IFNldDxpci5BbGlhc1ZhcmlhYmxlPigpO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZGVjbGFyYXRpb24gc2xvdHMgdXNlZCB3aXRoaW4gdGhpcyB2aWV3LCBvciBgbnVsbGAgaWYgc2xvdHMgaGF2ZSBub3QgeWV0IGJlZW5cbiAgICogYWxsb2NhdGVkLlxuICAgKi9cbiAgZGVjbHM6IG51bWJlcnxudWxsID0gbnVsbDtcbn1cblxuLyoqXG4gKiBDb21waWxhdGlvbi1pbi1wcm9ncmVzcyBvZiBhIGhvc3QgYmluZGluZywgd2hpY2ggY29udGFpbnMgYSBzaW5nbGUgdW5pdCBmb3IgdGhhdCBob3N0IGJpbmRpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBIb3N0QmluZGluZ0NvbXBpbGF0aW9uSm9iIGV4dGVuZHMgQ29tcGlsYXRpb25Kb2Ige1xuICBjb25zdHJ1Y3Rvcihjb21wb25lbnROYW1lOiBzdHJpbmcsIHBvb2w6IENvbnN0YW50UG9vbCwgY29tcGF0aWJpbGl0eTogaXIuQ29tcGF0aWJpbGl0eU1vZGUpIHtcbiAgICBzdXBlcihjb21wb25lbnROYW1lLCBwb29sLCBjb21wYXRpYmlsaXR5KTtcbiAgICB0aGlzLnJvb3QgPSBuZXcgSG9zdEJpbmRpbmdDb21waWxhdGlvblVuaXQodGhpcyk7XG4gIH1cblxuICBvdmVycmlkZSBraW5kID0gQ29tcGlsYXRpb25Kb2JLaW5kLkhvc3Q7XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZm5TdWZmaXg6IHN0cmluZyA9ICdIb3N0QmluZGluZ3MnO1xuXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHJvb3Q6IEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Vbml0O1xuXG4gIG92ZXJyaWRlIGdldCB1bml0cygpOiBJdGVyYWJsZTxIb3N0QmluZGluZ0NvbXBpbGF0aW9uVW5pdD4ge1xuICAgIHJldHVybiBbdGhpcy5yb290XTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSG9zdEJpbmRpbmdDb21waWxhdGlvblVuaXQgZXh0ZW5kcyBDb21waWxhdGlvblVuaXQge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBqb2I6IEhvc3RCaW5kaW5nQ29tcGlsYXRpb25Kb2IpIHtcbiAgICBzdXBlcigwIGFzIGlyLlhyZWZJZCk7XG4gIH1cblxuICAvKipcbiAgICogTXVjaCBsaWtlIGFuIGVsZW1lbnQgY2FuIGhhdmUgYXR0cmlidXRlcywgc28gY2FuIGEgaG9zdCBiaW5kaW5nIGZ1bmN0aW9uLlxuICAgKi9cbiAgYXR0cmlidXRlczogby5MaXRlcmFsQXJyYXlFeHByfG51bGwgPSBudWxsO1xufVxuIl19
|
|
@@ -52,6 +52,6 @@ export function literalOrArrayLiteral(value) {
|
|
|
52
52
|
if (Array.isArray(value)) {
|
|
53
53
|
return o.literalArr(value.map(literalOrArrayLiteral));
|
|
54
54
|
}
|
|
55
|
-
return o.literal(value
|
|
55
|
+
return o.literal(value);
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy90ZW1wbGF0ZS9waXBlbGluZS9zcmMvY29udmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3RDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO0lBQzVCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBQ3JDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO0lBQ2xDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO0lBQ2xDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDO0lBQ3RDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO0lBQ3hDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO0lBQzNCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO0NBQzdCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxlQUFlLENBQUMsa0JBQStCO0lBQzdELE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixJQUFJLGtCQUFrQixLQUFLLElBQUksRUFBRTtRQUMvQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFDakUsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsU0FBdUI7SUFDckQsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDLENBQUUsK0JBQStCO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsV0FBbUIsRUFBRSxTQUF1QjtJQUM5RSxJQUFJLFNBQVMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtRQUNuQyxPQUFPLFdBQVcsQ0FBQztLQUNwQjtJQUNELE9BQU8sSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7QUFDekQsQ0FBQztBQUlELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFrQjtJQUN0RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0tBQ3ZEO0lBQ0QsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0ICogYXMgbyBmcm9tICcuLi8uLi8uLi9vdXRwdXQvb3V0cHV0X2FzdCc7XG5pbXBvcnQgKiBhcyBpciBmcm9tICcuLi9pcic7XG5cbmV4cG9ydCBjb25zdCBCSU5BUllfT1BFUkFUT1JTID0gbmV3IE1hcChbXG4gIFsnJiYnLCBvLkJpbmFyeU9wZXJhdG9yLkFuZF0sXG4gIFsnPicsIG8uQmluYXJ5T3BlcmF0b3IuQmlnZ2VyXSxcbiAgWyc+PScsIG8uQmluYXJ5T3BlcmF0b3IuQmlnZ2VyRXF1YWxzXSxcbiAgWycmJywgby5CaW5hcnlPcGVyYXRvci5CaXR3aXNlQW5kXSxcbiAgWycvJywgby5CaW5hcnlPcGVyYXRvci5EaXZpZGVdLFxuICBbJz09Jywgby5CaW5hcnlPcGVyYXRvci5FcXVhbHNdLFxuICBbJz09PScsIG8uQmluYXJ5T3BlcmF0b3IuSWRlbnRpY2FsXSxcbiAgWyc8Jywgby5CaW5hcnlPcGVyYXRvci5Mb3dlcl0sXG4gIFsnPD0nLCBvLkJpbmFyeU9wZXJhdG9yLkxvd2VyRXF1YWxzXSxcbiAgWyctJywgby5CaW5hcnlPcGVyYXRvci5NaW51c10sXG4gIFsnJScsIG8uQmluYXJ5T3BlcmF0b3IuTW9kdWxvXSxcbiAgWycqJywgby5CaW5hcnlPcGVyYXRvci5NdWx0aXBseV0sXG4gIFsnIT0nLCBvLkJpbmFyeU9wZXJhdG9yLk5vdEVxdWFsc10sXG4gIFsnIT09Jywgby5CaW5hcnlPcGVyYXRvci5Ob3RJZGVudGljYWxdLFxuICBbJz8/Jywgby5CaW5hcnlPcGVyYXRvci5OdWxsaXNoQ29hbGVzY2VdLFxuICBbJ3x8Jywgby5CaW5hcnlPcGVyYXRvci5Pcl0sXG4gIFsnKycsIG8uQmluYXJ5T3BlcmF0b3IuUGx1c10sXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5hbWVzcGFjZUZvcktleShuYW1lc3BhY2VQcmVmaXhLZXk6IHN0cmluZ3xudWxsKTogaXIuTmFtZXNwYWNlIHtcbiAgY29uc3QgTkFNRVNQQUNFUyA9IG5ldyBNYXAoW1snc3ZnJywgaXIuTmFtZXNwYWNlLlNWR10sIFsnbWF0aCcsIGlyLk5hbWVzcGFjZS5NYXRoXV0pO1xuICBpZiAobmFtZXNwYWNlUHJlZml4S2V5ID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGlyLk5hbWVzcGFjZS5IVE1MO1xuICB9XG4gIHJldHVybiBOQU1FU1BBQ0VTLmdldChuYW1lc3BhY2VQcmVmaXhLZXkpID8/IGlyLk5hbWVzcGFjZS5IVE1MO1xufVxuXG5leHBvcnQgZnVuY3Rpb24ga2V5Rm9yTmFtZXNwYWNlKG5hbWVzcGFjZTogaXIuTmFtZXNwYWNlKTogc3RyaW5nfG51bGwge1xuICBjb25zdCBOQU1FU1BBQ0VTID0gbmV3IE1hcChbWydzdmcnLCBpci5OYW1lc3BhY2UuU1ZHXSwgWydtYXRoJywgaXIuTmFtZXNwYWNlLk1hdGhdXSk7XG4gIGZvciAoY29uc3QgW2ssIG5dIG9mIE5BTUVTUEFDRVMuZW50cmllcygpKSB7XG4gICAgaWYgKG4gPT09IG5hbWVzcGFjZSkge1xuICAgICAgcmV0dXJuIGs7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsOyAgLy8gTm8gbmFtZXNwYWNlIHByZWZpeCBmb3IgSFRNTFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4V2l0aE5hbWVzcGFjZShzdHJpcHBlZFRhZzogc3RyaW5nLCBuYW1lc3BhY2U6IGlyLk5hbWVzcGFjZSk6IHN0cmluZyB7XG4gIGlmIChuYW1lc3BhY2UgPT09IGlyLk5hbWVzcGFjZS5IVE1MKSB7XG4gICAgcmV0dXJuIHN0cmlwcGVkVGFnO1xuICB9XG4gIHJldHVybiBgOiR7a2V5Rm9yTmFtZXNwYWNlKG5hbWVzcGFjZSl9OiR7c3RyaXBwZWRUYWd9YDtcbn1cblxuZXhwb3J0IHR5cGUgTGl0ZXJhbFR5cGUgPSBzdHJpbmd8bnVtYmVyfGJvb2xlYW58bnVsbHxBcnJheTxMaXRlcmFsVHlwZT47XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXRlcmFsT3JBcnJheUxpdGVyYWwodmFsdWU6IExpdGVyYWxUeXBlKTogby5FeHByZXNzaW9uIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIG8ubGl0ZXJhbEFycih2YWx1ZS5tYXAobGl0ZXJhbE9yQXJyYXlMaXRlcmFsKSk7XG4gIH1cbiAgcmV0dXJuIG8ubGl0ZXJhbCh2YWx1ZSk7XG59XG4iXX0=
|