@angular/core 7.1.3 → 7.1.4
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/bundles/core-testing.umd.js +1 -1
- package/bundles/core-testing.umd.min.js +1 -1
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +2 -2
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +2 -2
- package/bundles/core.umd.min.js.map +1 -1
- package/core.metadata.json +1 -1
- package/esm2015/core.externs.js +44 -34
- package/esm2015/core.js +0 -1
- package/esm2015/index.js +1 -2
- package/esm2015/public_api.js +1 -3
- package/esm2015/src/application_init.js +6 -6
- package/esm2015/src/application_module.js +6 -5
- package/esm2015/src/application_ref.js +31 -22
- package/esm2015/src/application_tokens.js +21 -16
- package/esm2015/src/change_detection/change_detection.js +8 -7
- package/esm2015/src/change_detection/change_detection_util.js +2 -4
- package/esm2015/src/change_detection/change_detector_ref.js +2 -3
- package/esm2015/src/change_detection/constants.js +30 -32
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +51 -15
- package/esm2015/src/change_detection/differs/default_keyvalue_differ.js +7 -6
- package/esm2015/src/change_detection/differs/iterable_differs.js +100 -90
- package/esm2015/src/change_detection/differs/keyvalue_differs.js +85 -73
- package/esm2015/src/change_detection/pipe_transform.js +10 -5
- package/esm2015/src/change_detection.js +7 -3
- package/esm2015/src/codegen_private_exports.js +1 -2
- package/esm2015/src/console.js +3 -3
- package/esm2015/src/core.js +1 -2
- package/esm2015/src/core_private_export.js +1 -2
- package/esm2015/src/core_render3_private_export.js +7 -4
- package/esm2015/src/debug/debug_node.js +4 -4
- package/esm2015/src/di/defs.js +59 -50
- package/esm2015/src/di/forward_ref.js +5 -6
- package/esm2015/src/di/injectable.js +11 -11
- package/esm2015/src/di/injection_token.js +6 -5
- package/esm2015/src/di/injector.js +49 -42
- package/esm2015/src/di/injector_compatibility.js +13 -12
- package/esm2015/src/di/metadata.js +22 -13
- package/esm2015/src/di/provider.js +137 -120
- package/esm2015/src/di/r3_injector.js +57 -34
- package/esm2015/src/di/reflective_errors.js +19 -13
- package/esm2015/src/di/reflective_injector.js +10 -15
- package/esm2015/src/di/reflective_key.js +3 -4
- package/esm2015/src/di/reflective_provider.js +21 -20
- package/esm2015/src/di/scope.js +5 -5
- package/esm2015/src/di/util.js +13 -14
- package/esm2015/src/di.js +1 -2
- package/esm2015/src/error_handler.js +5 -4
- package/esm2015/src/errors.js +7 -8
- package/esm2015/src/event_emitter.js +3 -3
- package/esm2015/src/i18n/tokens.js +12 -10
- package/esm2015/src/is_dev_mode.js +2 -3
- package/esm2015/src/ivy_switch.js +2 -3
- package/esm2015/src/linker/compiler.js +5 -8
- package/esm2015/src/linker/component_factory.js +2 -3
- package/esm2015/src/linker/component_factory_resolver.js +4 -5
- package/esm2015/src/linker/element_ref.js +5 -3
- package/esm2015/src/linker/ng_module_factory.js +6 -5
- package/esm2015/src/linker/ng_module_factory_loader.js +2 -3
- package/esm2015/src/linker/query_list.js +12 -13
- package/esm2015/src/linker/system_js_ng_module_factory_loader.js +2 -3
- package/esm2015/src/linker/template_ref.js +2 -3
- package/esm2015/src/linker/view_container_ref.js +2 -3
- package/esm2015/src/linker/view_ref.js +13 -7
- package/esm2015/src/linker.js +3 -3
- package/esm2015/src/metadata/di.js +22 -15
- package/esm2015/src/metadata/directives.js +34 -19
- package/esm2015/src/metadata/lifecycle_hooks.js +81 -66
- package/esm2015/src/metadata/ng_module.js +82 -68
- package/esm2015/src/metadata/resource_loading.js +4 -3
- package/esm2015/src/metadata/view.js +25 -26
- package/esm2015/src/metadata.js +6 -3
- package/esm2015/src/platform_core_providers.js +5 -5
- package/esm2015/src/profile/profile.js +17 -13
- package/esm2015/src/profile/wtf_impl.js +36 -16
- package/esm2015/src/r3_symbols.js +18 -5
- package/esm2015/src/reflection/platform_reflection_capabilities.js +81 -40
- package/esm2015/src/reflection/reflection.js +5 -5
- package/esm2015/src/reflection/reflection_capabilities.js +31 -26
- package/esm2015/src/reflection/reflector.js +2 -3
- package/esm2015/src/reflection/types.js +1 -11
- package/esm2015/src/render/api.js +67 -47
- package/esm2015/src/render.js +3 -3
- package/esm2015/src/render3/assert.js +5 -3
- package/esm2015/src/render3/component.js +66 -64
- package/esm2015/src/render3/component_ref.js +24 -21
- package/esm2015/src/render3/context_discovery.js +37 -17
- package/esm2015/src/render3/debug.js +9 -6
- package/esm2015/src/render3/definition.js +28 -28
- package/esm2015/src/render3/di.js +55 -28
- package/esm2015/src/render3/di_setup.js +34 -14
- package/esm2015/src/render3/discovery_utils.js +16 -17
- package/esm2015/src/render3/errors.js +2 -3
- package/esm2015/src/render3/features/inherit_definition_feature.js +12 -8
- package/esm2015/src/render3/features/ng_onchanges_feature.js +5 -6
- package/esm2015/src/render3/features/providers_feature.js +2 -3
- package/esm2015/src/render3/fields.js +5 -5
- package/esm2015/src/render3/global_utils.js +19 -6
- package/esm2015/src/render3/global_utils_api.js +12 -6
- package/esm2015/src/render3/hooks.js +4 -5
- package/esm2015/src/render3/i18n.js +112 -89
- package/esm2015/src/render3/index.js +11 -3
- package/esm2015/src/render3/instructions.js +199 -149
- package/esm2015/src/render3/interfaces/container.js +27 -5
- package/esm2015/src/render3/interfaces/context.js +38 -36
- package/esm2015/src/render3/interfaces/definition.js +234 -261
- package/esm2015/src/render3/interfaces/i18n.js +154 -126
- package/esm2015/src/render3/interfaces/injector.js +93 -10
- package/esm2015/src/render3/interfaces/node.js +369 -373
- package/esm2015/src/render3/interfaces/player.js +78 -37
- package/esm2015/src/render3/interfaces/projection.js +5 -10
- package/esm2015/src/render3/interfaces/query.js +66 -60
- package/esm2015/src/render3/interfaces/renderer.js +288 -117
- package/esm2015/src/render3/interfaces/sanitization.js +1 -5
- package/esm2015/src/render3/interfaces/styling.js +26 -6
- package/esm2015/src/render3/interfaces/view.js +326 -285
- package/esm2015/src/render3/jit/compiler_facade.js +10 -4
- package/esm2015/src/render3/jit/compiler_facade_interface.js +189 -152
- package/esm2015/src/render3/jit/directive.js +6 -6
- package/esm2015/src/render3/jit/environment.js +5 -5
- package/esm2015/src/render3/jit/injectable.js +6 -8
- package/esm2015/src/render3/jit/module.js +17 -13
- package/esm2015/src/render3/jit/pipe.js +2 -3
- package/esm2015/src/render3/jit/util.js +2 -3
- package/esm2015/src/render3/metadata.js +11 -10
- package/esm2015/src/render3/ng_dev_mode.js +5 -6
- package/esm2015/src/render3/ng_module_ref.js +11 -10
- package/esm2015/src/render3/node_assert.js +2 -3
- package/esm2015/src/render3/node_manipulation.js +86 -73
- package/esm2015/src/render3/node_selector_matcher.js +13 -12
- package/esm2015/src/render3/pipe.js +4 -5
- package/esm2015/src/render3/players.js +11 -5
- package/esm2015/src/render3/pure_function.js +29 -3
- package/esm2015/src/render3/query.js +74 -70
- package/esm2015/src/render3/state.js +44 -33
- package/esm2015/src/render3/styling/class_and_style_bindings.js +62 -43
- package/esm2015/src/render3/styling/core_player_handler.js +2 -3
- package/esm2015/src/render3/styling/player_factory.js +3 -4
- package/esm2015/src/render3/styling/util.js +18 -13
- package/esm2015/src/render3/tokens.js +7 -6
- package/esm2015/src/render3/util.js +18 -16
- package/esm2015/src/render3/view_engine_compatibility.js +16 -17
- package/esm2015/src/render3/view_engine_compatibility_prebound.js +2 -3
- package/esm2015/src/render3/view_ref.js +7 -10
- package/esm2015/src/sanitization/bypass.js +29 -6
- package/esm2015/src/sanitization/html_sanitizer.js +41 -15
- package/esm2015/src/sanitization/inert_body.js +14 -12
- package/esm2015/src/sanitization/sanitization.js +7 -7
- package/esm2015/src/sanitization/security.js +3 -4
- package/esm2015/src/sanitization/style_sanitizer.js +10 -7
- package/esm2015/src/sanitization/url_sanitizer.js +9 -7
- package/esm2015/src/testability/testability.js +47 -37
- package/esm2015/src/type.js +6 -8
- package/esm2015/src/util/decorators.js +19 -14
- package/esm2015/src/util/lang.js +2 -3
- package/esm2015/src/util/noop.js +2 -3
- package/esm2015/src/util/property.js +3 -4
- package/esm2015/src/util.js +12 -4
- package/esm2015/src/version.js +6 -6
- package/esm2015/src/view/element.js +17 -17
- package/esm2015/src/view/entrypoint.js +7 -3
- package/esm2015/src/view/errors.js +4 -5
- package/esm2015/src/view/index.js +1 -2
- package/esm2015/src/view/ng_content.js +3 -4
- package/esm2015/src/view/ng_module.js +2 -3
- package/esm2015/src/view/provider.js +89 -24
- package/esm2015/src/view/pure_expression.js +14 -15
- package/esm2015/src/view/query.js +14 -14
- package/esm2015/src/view/refs.js +20 -19
- package/esm2015/src/view/services.js +41 -31
- package/esm2015/src/view/text.js +5 -6
- package/esm2015/src/view/types.js +386 -324
- package/esm2015/src/view/util.js +29 -24
- package/esm2015/src/view/view.js +43 -36
- package/esm2015/src/view/view_attach.js +9 -10
- package/esm2015/src/zone/ng_zone.js +29 -28
- package/esm2015/src/zone.js +3 -3
- package/esm2015/testing/index.js +1 -2
- package/esm2015/testing/public_api.js +4 -4
- package/esm2015/testing/src/async.js +2 -3
- package/esm2015/testing/src/async_fallback.js +8 -7
- package/esm2015/testing/src/async_test_completer.js +2 -3
- package/esm2015/testing/src/before_each.js +10 -4
- package/esm2015/testing/src/component_fixture.js +6 -7
- package/esm2015/testing/src/fake_async.js +9 -3
- package/esm2015/testing/src/fake_async_fallback.js +5 -5
- package/esm2015/testing/src/lang_utils.js +3 -4
- package/esm2015/testing/src/logger.js +2 -3
- package/esm2015/testing/src/metadata_override.js +1 -5
- package/esm2015/testing/src/metadata_overrider.js +5 -7
- package/esm2015/testing/src/ng_zone_mock.js +2 -3
- package/esm2015/testing/src/private_export_testing.js +1 -2
- package/esm2015/testing/src/r3_test_bed.js +34 -27
- package/esm2015/testing/src/resolvers.js +9 -5
- package/esm2015/testing/src/test_bed.js +38 -34
- package/esm2015/testing/src/test_bed_common.js +142 -85
- package/esm2015/testing/src/test_compiler.js +2 -3
- package/esm2015/testing/src/testing.js +3 -3
- package/esm2015/testing/src/testing_internal.js +8 -9
- package/esm2015/testing/testing.js +0 -1
- package/esm5/core.js +0 -1
- package/esm5/index.js +0 -1
- package/esm5/public_api.js +0 -1
- package/esm5/src/application_init.js +0 -1
- package/esm5/src/application_module.js +0 -1
- package/esm5/src/application_ref.js +0 -1
- package/esm5/src/application_tokens.js +0 -1
- package/esm5/src/change_detection/change_detection.js +0 -1
- package/esm5/src/change_detection/change_detection_util.js +0 -1
- package/esm5/src/change_detection/change_detector_ref.js +0 -1
- package/esm5/src/change_detection/constants.js +0 -1
- package/esm5/src/change_detection/differs/default_iterable_differ.js +0 -1
- package/esm5/src/change_detection/differs/default_keyvalue_differ.js +0 -1
- package/esm5/src/change_detection/differs/iterable_differs.js +0 -1
- package/esm5/src/change_detection/differs/keyvalue_differs.js +0 -1
- package/esm5/src/change_detection/pipe_transform.js +0 -1
- package/esm5/src/change_detection.js +0 -1
- package/esm5/src/codegen_private_exports.js +0 -1
- package/esm5/src/console.js +0 -1
- package/esm5/src/core.js +0 -1
- package/esm5/src/core_private_export.js +0 -1
- package/esm5/src/core_render3_private_export.js +0 -1
- package/esm5/src/debug/debug_node.js +0 -1
- package/esm5/src/di/defs.js +0 -1
- package/esm5/src/di/forward_ref.js +0 -1
- package/esm5/src/di/injectable.js +0 -1
- package/esm5/src/di/injection_token.js +0 -1
- package/esm5/src/di/injector.js +0 -1
- package/esm5/src/di/injector_compatibility.js +0 -1
- package/esm5/src/di/metadata.js +0 -1
- package/esm5/src/di/provider.js +0 -1
- package/esm5/src/di/r3_injector.js +0 -1
- package/esm5/src/di/reflective_errors.js +0 -1
- package/esm5/src/di/reflective_injector.js +0 -1
- package/esm5/src/di/reflective_key.js +0 -1
- package/esm5/src/di/reflective_provider.js +0 -1
- package/esm5/src/di/scope.js +0 -1
- package/esm5/src/di/util.js +0 -1
- package/esm5/src/di.js +0 -1
- package/esm5/src/error_handler.js +0 -1
- package/esm5/src/errors.js +0 -1
- package/esm5/src/event_emitter.js +0 -1
- package/esm5/src/i18n/tokens.js +0 -1
- package/esm5/src/is_dev_mode.js +0 -1
- package/esm5/src/ivy_switch.js +0 -1
- package/esm5/src/linker/compiler.js +0 -1
- package/esm5/src/linker/component_factory.js +0 -1
- package/esm5/src/linker/component_factory_resolver.js +0 -1
- package/esm5/src/linker/element_ref.js +0 -1
- package/esm5/src/linker/ng_module_factory.js +0 -1
- package/esm5/src/linker/ng_module_factory_loader.js +0 -1
- package/esm5/src/linker/query_list.js +0 -1
- package/esm5/src/linker/system_js_ng_module_factory_loader.js +0 -1
- package/esm5/src/linker/template_ref.js +0 -1
- package/esm5/src/linker/view_container_ref.js +0 -1
- package/esm5/src/linker/view_ref.js +0 -1
- package/esm5/src/linker.js +0 -1
- package/esm5/src/metadata/di.js +0 -1
- package/esm5/src/metadata/directives.js +0 -1
- package/esm5/src/metadata/lifecycle_hooks.js +0 -1
- package/esm5/src/metadata/ng_module.js +0 -1
- package/esm5/src/metadata/resource_loading.js +0 -1
- package/esm5/src/metadata/view.js +0 -1
- package/esm5/src/metadata.js +0 -1
- package/esm5/src/platform_core_providers.js +0 -1
- package/esm5/src/profile/profile.js +0 -1
- package/esm5/src/profile/wtf_impl.js +0 -1
- package/esm5/src/r3_symbols.js +0 -1
- package/esm5/src/reflection/platform_reflection_capabilities.js +0 -1
- package/esm5/src/reflection/reflection.js +0 -1
- package/esm5/src/reflection/reflection_capabilities.js +0 -1
- package/esm5/src/reflection/reflector.js +0 -1
- package/esm5/src/reflection/types.js +0 -1
- package/esm5/src/render/api.js +0 -1
- package/esm5/src/render.js +0 -1
- package/esm5/src/render3/assert.js +0 -1
- package/esm5/src/render3/component.js +0 -1
- package/esm5/src/render3/component_ref.js +0 -1
- package/esm5/src/render3/context_discovery.js +0 -1
- package/esm5/src/render3/debug.js +0 -1
- package/esm5/src/render3/definition.js +0 -1
- package/esm5/src/render3/di.js +0 -1
- package/esm5/src/render3/di_setup.js +0 -1
- package/esm5/src/render3/discovery_utils.js +0 -1
- package/esm5/src/render3/errors.js +0 -1
- package/esm5/src/render3/features/inherit_definition_feature.js +0 -1
- package/esm5/src/render3/features/ng_onchanges_feature.js +0 -1
- package/esm5/src/render3/features/providers_feature.js +0 -1
- package/esm5/src/render3/fields.js +0 -1
- package/esm5/src/render3/global_utils.js +0 -1
- package/esm5/src/render3/global_utils_api.js +0 -1
- package/esm5/src/render3/hooks.js +0 -1
- package/esm5/src/render3/i18n.js +0 -1
- package/esm5/src/render3/index.js +0 -1
- package/esm5/src/render3/instructions.js +0 -1
- package/esm5/src/render3/interfaces/container.js +0 -1
- package/esm5/src/render3/interfaces/context.js +0 -1
- package/esm5/src/render3/interfaces/definition.js +0 -1
- package/esm5/src/render3/interfaces/i18n.js +0 -1
- package/esm5/src/render3/interfaces/injector.js +0 -1
- package/esm5/src/render3/interfaces/node.js +0 -1
- package/esm5/src/render3/interfaces/player.js +0 -1
- package/esm5/src/render3/interfaces/projection.js +0 -1
- package/esm5/src/render3/interfaces/query.js +0 -1
- package/esm5/src/render3/interfaces/renderer.js +0 -1
- package/esm5/src/render3/interfaces/sanitization.js +0 -1
- package/esm5/src/render3/interfaces/styling.js +0 -1
- package/esm5/src/render3/interfaces/view.js +0 -1
- package/esm5/src/render3/jit/compiler_facade.js +0 -1
- package/esm5/src/render3/jit/compiler_facade_interface.js +0 -1
- package/esm5/src/render3/jit/directive.js +0 -1
- package/esm5/src/render3/jit/environment.js +0 -1
- package/esm5/src/render3/jit/injectable.js +0 -1
- package/esm5/src/render3/jit/module.js +0 -1
- package/esm5/src/render3/jit/pipe.js +0 -1
- package/esm5/src/render3/jit/util.js +0 -1
- package/esm5/src/render3/metadata.js +0 -1
- package/esm5/src/render3/ng_dev_mode.js +0 -1
- package/esm5/src/render3/ng_module_ref.js +0 -1
- package/esm5/src/render3/node_assert.js +0 -1
- package/esm5/src/render3/node_manipulation.js +0 -1
- package/esm5/src/render3/node_selector_matcher.js +0 -1
- package/esm5/src/render3/pipe.js +0 -1
- package/esm5/src/render3/players.js +0 -1
- package/esm5/src/render3/pure_function.js +0 -1
- package/esm5/src/render3/query.js +0 -1
- package/esm5/src/render3/state.js +0 -1
- package/esm5/src/render3/styling/class_and_style_bindings.js +0 -1
- package/esm5/src/render3/styling/core_player_handler.js +0 -1
- package/esm5/src/render3/styling/player_factory.js +0 -1
- package/esm5/src/render3/styling/util.js +0 -1
- package/esm5/src/render3/tokens.js +0 -1
- package/esm5/src/render3/util.js +0 -1
- package/esm5/src/render3/view_engine_compatibility.js +0 -1
- package/esm5/src/render3/view_engine_compatibility_prebound.js +0 -1
- package/esm5/src/render3/view_ref.js +0 -1
- package/esm5/src/sanitization/bypass.js +0 -1
- package/esm5/src/sanitization/html_sanitizer.js +0 -1
- package/esm5/src/sanitization/inert_body.js +0 -1
- package/esm5/src/sanitization/sanitization.js +0 -1
- package/esm5/src/sanitization/security.js +0 -1
- package/esm5/src/sanitization/style_sanitizer.js +0 -1
- package/esm5/src/sanitization/url_sanitizer.js +0 -1
- package/esm5/src/testability/testability.js +0 -1
- package/esm5/src/type.js +0 -1
- package/esm5/src/util/decorators.js +0 -1
- package/esm5/src/util/lang.js +0 -1
- package/esm5/src/util/noop.js +0 -1
- package/esm5/src/util/property.js +0 -1
- package/esm5/src/util.js +0 -1
- package/esm5/src/version.js +1 -2
- package/esm5/src/view/element.js +0 -1
- package/esm5/src/view/entrypoint.js +0 -1
- package/esm5/src/view/errors.js +0 -1
- package/esm5/src/view/index.js +0 -1
- package/esm5/src/view/ng_content.js +0 -1
- package/esm5/src/view/ng_module.js +0 -1
- package/esm5/src/view/provider.js +0 -1
- package/esm5/src/view/pure_expression.js +0 -1
- package/esm5/src/view/query.js +0 -1
- package/esm5/src/view/refs.js +0 -1
- package/esm5/src/view/services.js +0 -1
- package/esm5/src/view/text.js +0 -1
- package/esm5/src/view/types.js +0 -1
- package/esm5/src/view/util.js +0 -1
- package/esm5/src/view/view.js +0 -1
- package/esm5/src/view/view_attach.js +0 -1
- package/esm5/src/zone/ng_zone.js +0 -1
- package/esm5/src/zone.js +0 -1
- package/esm5/testing/index.js +0 -1
- package/esm5/testing/public_api.js +0 -1
- package/esm5/testing/src/async.js +0 -1
- package/esm5/testing/src/async_fallback.js +0 -1
- package/esm5/testing/src/async_test_completer.js +0 -1
- package/esm5/testing/src/before_each.js +0 -1
- package/esm5/testing/src/component_fixture.js +0 -1
- package/esm5/testing/src/fake_async.js +0 -1
- package/esm5/testing/src/fake_async_fallback.js +0 -1
- package/esm5/testing/src/lang_utils.js +0 -1
- package/esm5/testing/src/logger.js +0 -1
- package/esm5/testing/src/metadata_override.js +0 -1
- package/esm5/testing/src/metadata_overrider.js +0 -1
- package/esm5/testing/src/ng_zone_mock.js +0 -1
- package/esm5/testing/src/private_export_testing.js +0 -1
- package/esm5/testing/src/r3_test_bed.js +0 -1
- package/esm5/testing/src/resolvers.js +0 -1
- package/esm5/testing/src/test_bed.js +0 -1
- package/esm5/testing/src/test_bed_common.js +0 -1
- package/esm5/testing/src/test_compiler.js +0 -1
- package/esm5/testing/src/testing.js +0 -1
- package/esm5/testing/src/testing_internal.js +0 -1
- package/esm5/testing/testing.js +0 -1
- package/fesm2015/core.js +1991 -1326
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +123 -89
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +2 -2
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +1 -1
- package/package.json +1 -1
- package/testing.d.ts +1 -1
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
8
|
+
*
|
|
9
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
10
|
+
* found in the LICENSE file at https://angular.io/license
|
|
4
11
|
*/
|
|
5
12
|
import { global } from '../../util';
|
|
6
13
|
export { R3ResolvedDependencyType } from './compiler_facade_interface';
|
|
@@ -9,7 +16,7 @@ export { R3ResolvedDependencyType } from './compiler_facade_interface';
|
|
|
9
16
|
*/
|
|
10
17
|
export function getCompilerFacade() {
|
|
11
18
|
/** @type {?} */
|
|
12
|
-
const globalNg = global
|
|
19
|
+
const globalNg = global.ng;
|
|
13
20
|
if (!globalNg || !globalNg.ɵcompilerFacade) {
|
|
14
21
|
throw new Error(`Angular JIT compilation failed: '@angular/compiler' not loaded!\n` +
|
|
15
22
|
` - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n` +
|
|
@@ -18,5 +25,4 @@ export function getCompilerFacade() {
|
|
|
18
25
|
}
|
|
19
26
|
return globalNg.ɵcompilerFacade;
|
|
20
27
|
}
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXJfZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9qaXQvY29tcGlsZXJfZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFPQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBRWxDLHlDQUFjLDZCQUE2QixDQUFDOzs7O0FBRTVDLE1BQU0sVUFBVSxpQkFBaUI7O0lBQy9CLE1BQU0sUUFBUSxHQUEyQixNQUFNLE9BQUk7SUFDbkQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FDWCxtRUFBbUU7WUFDbkUsMkZBQTJGO1lBQzNGLGtHQUFrRztZQUNsRyxpR0FBaUcsQ0FBQyxDQUFDO0tBQ3hHO0lBQ0QsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDO0NBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtnbG9iYWx9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHtDb21waWxlckZhY2FkZSwgRXhwb3J0ZWRDb21waWxlckZhY2FkZX0gZnJvbSAnLi9jb21waWxlcl9mYWNhZGVfaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGlsZXJfZmFjYWRlX2ludGVyZmFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21waWxlckZhY2FkZSgpOiBDb21waWxlckZhY2FkZSB7XG4gIGNvbnN0IGdsb2JhbE5nOiBFeHBvcnRlZENvbXBpbGVyRmFjYWRlID0gZ2xvYmFsLm5nO1xuICBpZiAoIWdsb2JhbE5nIHx8ICFnbG9iYWxOZy7JtWNvbXBpbGVyRmFjYWRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQW5ndWxhciBKSVQgY29tcGlsYXRpb24gZmFpbGVkOiAnQGFuZ3VsYXIvY29tcGlsZXInIG5vdCBsb2FkZWQhXFxuYCArXG4gICAgICAgIGAgIC0gSklUIGNvbXBpbGF0aW9uIGlzIGRpc2NvdXJhZ2VkIGZvciBwcm9kdWN0aW9uIHVzZS1jYXNlcyEgQ29uc2lkZXIgQU9UIG1vZGUgaW5zdGVhZC5cXG5gICtcbiAgICAgICAgYCAgLSBEaWQgeW91IGJvb3RzdHJhcCB1c2luZyAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyBvciAnQGFuZ3VsYXIvcGxhdGZvcm0tc2VydmVyJz9cXG5gICtcbiAgICAgICAgYCAgLSBBbHRlcm5hdGl2ZWx5IHByb3ZpZGUgdGhlIGNvbXBpbGVyIHdpdGggJ2ltcG9ydCBcIkBhbmd1bGFyL2NvbXBpbGVyXCI7JyBiZWZvcmUgYm9vdHN0cmFwcGluZy5gKTtcbiAgfVxuICByZXR1cm4gZ2xvYmFsTmcuybVjb21waWxlckZhY2FkZTtcbn1cbiJdfQ==
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXJfZmFjYWRlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9qaXQvY29tcGlsZXJfZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBT0EsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUVsQyx5Q0FBYyw2QkFBNkIsQ0FBQzs7OztBQUU1QyxNQUFNLFVBQVUsaUJBQWlCOztVQUN6QixRQUFRLEdBQTJCLE1BQU0sQ0FBQyxFQUFFO0lBQ2xELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxLQUFLLENBQ1gsbUVBQW1FO1lBQ25FLDJGQUEyRjtZQUMzRixrR0FBa0c7WUFDbEcsaUdBQWlHLENBQUMsQ0FBQztLQUN4RztJQUNELE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuaW1wb3J0IHtnbG9iYWx9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHtDb21waWxlckZhY2FkZSwgRXhwb3J0ZWRDb21waWxlckZhY2FkZX0gZnJvbSAnLi9jb21waWxlcl9mYWNhZGVfaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcGlsZXJfZmFjYWRlX2ludGVyZmFjZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb21waWxlckZhY2FkZSgpOiBDb21waWxlckZhY2FkZSB7XG4gIGNvbnN0IGdsb2JhbE5nOiBFeHBvcnRlZENvbXBpbGVyRmFjYWRlID0gZ2xvYmFsLm5nO1xuICBpZiAoIWdsb2JhbE5nIHx8ICFnbG9iYWxOZy7JtWNvbXBpbGVyRmFjYWRlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQW5ndWxhciBKSVQgY29tcGlsYXRpb24gZmFpbGVkOiAnQGFuZ3VsYXIvY29tcGlsZXInIG5vdCBsb2FkZWQhXFxuYCArXG4gICAgICAgIGAgIC0gSklUIGNvbXBpbGF0aW9uIGlzIGRpc2NvdXJhZ2VkIGZvciBwcm9kdWN0aW9uIHVzZS1jYXNlcyEgQ29uc2lkZXIgQU9UIG1vZGUgaW5zdGVhZC5cXG5gICtcbiAgICAgICAgYCAgLSBEaWQgeW91IGJvb3RzdHJhcCB1c2luZyAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJyBvciAnQGFuZ3VsYXIvcGxhdGZvcm0tc2VydmVyJz9cXG5gICtcbiAgICAgICAgYCAgLSBBbHRlcm5hdGl2ZWx5IHByb3ZpZGUgdGhlIGNvbXBpbGVyIHdpdGggJ2ltcG9ydCBcIkBhbmd1bGFyL2NvbXBpbGVyXCI7JyBiZWZvcmUgYm9vdHN0cmFwcGluZy5gKTtcbiAgfVxuICByZXR1cm4gZ2xvYmFsTmcuybVjb21waWxlckZhY2FkZTtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @license
|
|
@@ -27,41 +27,66 @@
|
|
|
27
27
|
* @record
|
|
28
28
|
*/
|
|
29
29
|
export function ExportedCompilerFacade() { }
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
if (false) {
|
|
31
|
+
/** @type {?} */
|
|
32
|
+
ExportedCompilerFacade.prototype.ɵcompilerFacade;
|
|
33
|
+
}
|
|
32
34
|
/**
|
|
33
35
|
* @record
|
|
34
36
|
*/
|
|
35
37
|
export function CompilerFacade() { }
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
CompilerFacade.prototype.
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
if (false) {
|
|
39
|
+
/** @type {?} */
|
|
40
|
+
CompilerFacade.prototype.R3ResolvedDependencyType;
|
|
41
|
+
/**
|
|
42
|
+
* @param {?} angularCoreEnv
|
|
43
|
+
* @param {?} sourceMapUrl
|
|
44
|
+
* @param {?} meta
|
|
45
|
+
* @return {?}
|
|
46
|
+
*/
|
|
47
|
+
CompilerFacade.prototype.compilePipe = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
48
|
+
/**
|
|
49
|
+
* @param {?} angularCoreEnv
|
|
50
|
+
* @param {?} sourceMapUrl
|
|
51
|
+
* @param {?} meta
|
|
52
|
+
* @return {?}
|
|
53
|
+
*/
|
|
54
|
+
CompilerFacade.prototype.compileInjectable = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
55
|
+
/**
|
|
56
|
+
* @param {?} angularCoreEnv
|
|
57
|
+
* @param {?} sourceMapUrl
|
|
58
|
+
* @param {?} meta
|
|
59
|
+
* @return {?}
|
|
60
|
+
*/
|
|
61
|
+
CompilerFacade.prototype.compileInjector = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
62
|
+
/**
|
|
63
|
+
* @param {?} angularCoreEnv
|
|
64
|
+
* @param {?} sourceMapUrl
|
|
65
|
+
* @param {?} meta
|
|
66
|
+
* @return {?}
|
|
67
|
+
*/
|
|
68
|
+
CompilerFacade.prototype.compileNgModule = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
69
|
+
/**
|
|
70
|
+
* @param {?} angularCoreEnv
|
|
71
|
+
* @param {?} sourceMapUrl
|
|
72
|
+
* @param {?} meta
|
|
73
|
+
* @return {?}
|
|
74
|
+
*/
|
|
75
|
+
CompilerFacade.prototype.compileDirective = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
76
|
+
/**
|
|
77
|
+
* @param {?} angularCoreEnv
|
|
78
|
+
* @param {?} sourceMapUrl
|
|
79
|
+
* @param {?} meta
|
|
80
|
+
* @return {?}
|
|
81
|
+
*/
|
|
82
|
+
CompilerFacade.prototype.compileComponent = function (angularCoreEnv, sourceMapUrl, meta) { };
|
|
83
|
+
}
|
|
50
84
|
/**
|
|
51
85
|
* @record
|
|
52
86
|
*/
|
|
53
87
|
export function CoreEnvironment() { }
|
|
54
|
-
/** @typedef {?} */
|
|
55
|
-
var StringMap;
|
|
56
|
-
export { StringMap };
|
|
57
|
-
/** @typedef {?} */
|
|
58
|
-
var StringMapWithRename;
|
|
59
|
-
export { StringMapWithRename };
|
|
60
|
-
/** @typedef {?} */
|
|
61
|
-
var Provider;
|
|
62
|
-
export { Provider };
|
|
63
88
|
/** @enum {number} */
|
|
64
|
-
|
|
89
|
+
const R3ResolvedDependencyType = {
|
|
65
90
|
Token: 0,
|
|
66
91
|
Attribute: 1,
|
|
67
92
|
};
|
|
@@ -72,156 +97,168 @@ R3ResolvedDependencyType[R3ResolvedDependencyType.Attribute] = 'Attribute';
|
|
|
72
97
|
* @record
|
|
73
98
|
*/
|
|
74
99
|
export function R3DependencyMetadataFacade() { }
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
100
|
+
if (false) {
|
|
101
|
+
/** @type {?} */
|
|
102
|
+
R3DependencyMetadataFacade.prototype.token;
|
|
103
|
+
/** @type {?} */
|
|
104
|
+
R3DependencyMetadataFacade.prototype.resolved;
|
|
105
|
+
/** @type {?} */
|
|
106
|
+
R3DependencyMetadataFacade.prototype.host;
|
|
107
|
+
/** @type {?} */
|
|
108
|
+
R3DependencyMetadataFacade.prototype.optional;
|
|
109
|
+
/** @type {?} */
|
|
110
|
+
R3DependencyMetadataFacade.prototype.self;
|
|
111
|
+
/** @type {?} */
|
|
112
|
+
R3DependencyMetadataFacade.prototype.skipSelf;
|
|
113
|
+
}
|
|
87
114
|
/**
|
|
88
115
|
* @record
|
|
89
116
|
*/
|
|
90
117
|
export function R3PipeMetadataFacade() { }
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
118
|
+
if (false) {
|
|
119
|
+
/** @type {?} */
|
|
120
|
+
R3PipeMetadataFacade.prototype.name;
|
|
121
|
+
/** @type {?} */
|
|
122
|
+
R3PipeMetadataFacade.prototype.type;
|
|
123
|
+
/** @type {?} */
|
|
124
|
+
R3PipeMetadataFacade.prototype.pipeName;
|
|
125
|
+
/** @type {?} */
|
|
126
|
+
R3PipeMetadataFacade.prototype.deps;
|
|
127
|
+
/** @type {?} */
|
|
128
|
+
R3PipeMetadataFacade.prototype.pure;
|
|
129
|
+
}
|
|
101
130
|
/**
|
|
102
131
|
* @record
|
|
103
132
|
*/
|
|
104
133
|
export function R3InjectableMetadataFacade() { }
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
if (false) {
|
|
135
|
+
/** @type {?} */
|
|
136
|
+
R3InjectableMetadataFacade.prototype.name;
|
|
137
|
+
/** @type {?} */
|
|
138
|
+
R3InjectableMetadataFacade.prototype.type;
|
|
139
|
+
/** @type {?} */
|
|
140
|
+
R3InjectableMetadataFacade.prototype.ctorDeps;
|
|
141
|
+
/** @type {?} */
|
|
142
|
+
R3InjectableMetadataFacade.prototype.providedIn;
|
|
143
|
+
/** @type {?|undefined} */
|
|
144
|
+
R3InjectableMetadataFacade.prototype.useClass;
|
|
145
|
+
/** @type {?|undefined} */
|
|
146
|
+
R3InjectableMetadataFacade.prototype.useFactory;
|
|
147
|
+
/** @type {?|undefined} */
|
|
148
|
+
R3InjectableMetadataFacade.prototype.useExisting;
|
|
149
|
+
/** @type {?|undefined} */
|
|
150
|
+
R3InjectableMetadataFacade.prototype.useValue;
|
|
151
|
+
/** @type {?|undefined} */
|
|
152
|
+
R3InjectableMetadataFacade.prototype.userDeps;
|
|
153
|
+
}
|
|
123
154
|
/**
|
|
124
155
|
* @record
|
|
125
156
|
*/
|
|
126
157
|
export function R3NgModuleMetadataFacade() { }
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
158
|
+
if (false) {
|
|
159
|
+
/** @type {?} */
|
|
160
|
+
R3NgModuleMetadataFacade.prototype.type;
|
|
161
|
+
/** @type {?} */
|
|
162
|
+
R3NgModuleMetadataFacade.prototype.bootstrap;
|
|
163
|
+
/** @type {?} */
|
|
164
|
+
R3NgModuleMetadataFacade.prototype.declarations;
|
|
165
|
+
/** @type {?} */
|
|
166
|
+
R3NgModuleMetadataFacade.prototype.imports;
|
|
167
|
+
/** @type {?} */
|
|
168
|
+
R3NgModuleMetadataFacade.prototype.exports;
|
|
169
|
+
/** @type {?} */
|
|
170
|
+
R3NgModuleMetadataFacade.prototype.emitInline;
|
|
171
|
+
}
|
|
139
172
|
/**
|
|
140
173
|
* @record
|
|
141
174
|
*/
|
|
142
175
|
export function R3InjectorMetadataFacade() { }
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
176
|
+
if (false) {
|
|
177
|
+
/** @type {?} */
|
|
178
|
+
R3InjectorMetadataFacade.prototype.name;
|
|
179
|
+
/** @type {?} */
|
|
180
|
+
R3InjectorMetadataFacade.prototype.type;
|
|
181
|
+
/** @type {?} */
|
|
182
|
+
R3InjectorMetadataFacade.prototype.deps;
|
|
183
|
+
/** @type {?} */
|
|
184
|
+
R3InjectorMetadataFacade.prototype.providers;
|
|
185
|
+
/** @type {?} */
|
|
186
|
+
R3InjectorMetadataFacade.prototype.imports;
|
|
187
|
+
}
|
|
153
188
|
/**
|
|
154
189
|
* @record
|
|
155
190
|
*/
|
|
156
191
|
export function R3DirectiveMetadataFacade() { }
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
if (false) {
|
|
193
|
+
/** @type {?} */
|
|
194
|
+
R3DirectiveMetadataFacade.prototype.name;
|
|
195
|
+
/** @type {?} */
|
|
196
|
+
R3DirectiveMetadataFacade.prototype.type;
|
|
197
|
+
/** @type {?} */
|
|
198
|
+
R3DirectiveMetadataFacade.prototype.typeArgumentCount;
|
|
199
|
+
/** @type {?} */
|
|
200
|
+
R3DirectiveMetadataFacade.prototype.typeSourceSpan;
|
|
201
|
+
/** @type {?} */
|
|
202
|
+
R3DirectiveMetadataFacade.prototype.deps;
|
|
203
|
+
/** @type {?} */
|
|
204
|
+
R3DirectiveMetadataFacade.prototype.selector;
|
|
205
|
+
/** @type {?} */
|
|
206
|
+
R3DirectiveMetadataFacade.prototype.queries;
|
|
207
|
+
/** @type {?} */
|
|
208
|
+
R3DirectiveMetadataFacade.prototype.host;
|
|
209
|
+
/** @type {?} */
|
|
210
|
+
R3DirectiveMetadataFacade.prototype.propMetadata;
|
|
211
|
+
/** @type {?} */
|
|
212
|
+
R3DirectiveMetadataFacade.prototype.lifecycle;
|
|
213
|
+
/** @type {?} */
|
|
214
|
+
R3DirectiveMetadataFacade.prototype.inputs;
|
|
215
|
+
/** @type {?} */
|
|
216
|
+
R3DirectiveMetadataFacade.prototype.outputs;
|
|
217
|
+
/** @type {?} */
|
|
218
|
+
R3DirectiveMetadataFacade.prototype.usesInheritance;
|
|
219
|
+
/** @type {?} */
|
|
220
|
+
R3DirectiveMetadataFacade.prototype.exportAs;
|
|
221
|
+
/** @type {?} */
|
|
222
|
+
R3DirectiveMetadataFacade.prototype.providers;
|
|
223
|
+
}
|
|
187
224
|
/**
|
|
188
225
|
* @record
|
|
189
226
|
*/
|
|
190
227
|
export function R3ComponentMetadataFacade() { }
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
export { ViewEncapsulation };
|
|
228
|
+
if (false) {
|
|
229
|
+
/** @type {?} */
|
|
230
|
+
R3ComponentMetadataFacade.prototype.template;
|
|
231
|
+
/** @type {?} */
|
|
232
|
+
R3ComponentMetadataFacade.prototype.preserveWhitespaces;
|
|
233
|
+
/** @type {?} */
|
|
234
|
+
R3ComponentMetadataFacade.prototype.animations;
|
|
235
|
+
/** @type {?} */
|
|
236
|
+
R3ComponentMetadataFacade.prototype.viewQueries;
|
|
237
|
+
/** @type {?} */
|
|
238
|
+
R3ComponentMetadataFacade.prototype.pipes;
|
|
239
|
+
/** @type {?} */
|
|
240
|
+
R3ComponentMetadataFacade.prototype.directives;
|
|
241
|
+
/** @type {?} */
|
|
242
|
+
R3ComponentMetadataFacade.prototype.styles;
|
|
243
|
+
/** @type {?} */
|
|
244
|
+
R3ComponentMetadataFacade.prototype.encapsulation;
|
|
245
|
+
/** @type {?} */
|
|
246
|
+
R3ComponentMetadataFacade.prototype.viewProviders;
|
|
247
|
+
}
|
|
212
248
|
/**
|
|
213
249
|
* @record
|
|
214
250
|
*/
|
|
215
251
|
export function R3QueryMetadataFacade() { }
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
252
|
+
if (false) {
|
|
253
|
+
/** @type {?} */
|
|
254
|
+
R3QueryMetadataFacade.prototype.propertyName;
|
|
255
|
+
/** @type {?} */
|
|
256
|
+
R3QueryMetadataFacade.prototype.first;
|
|
257
|
+
/** @type {?} */
|
|
258
|
+
R3QueryMetadataFacade.prototype.predicate;
|
|
259
|
+
/** @type {?} */
|
|
260
|
+
R3QueryMetadataFacade.prototype.descendants;
|
|
261
|
+
/** @type {?} */
|
|
262
|
+
R3QueryMetadataFacade.prototype.read;
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXJfZmFjYWRlX2ludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8iLCJzb3VyY2VzIjpbInBhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaml0L2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSw0Q0FBNEU7OztJQUFsQyxpREFBZ0M7Ozs7O0FBRTFFLG9DQWVDOzs7SUFEQyxrREFBMEQ7Ozs7Ozs7SUFiMUQseUZBQ1E7Ozs7Ozs7SUFDUiwrRkFDa0c7Ozs7Ozs7SUFDbEcsNkZBQ2dHOzs7Ozs7O0lBQ2hHLDZGQUNnRzs7Ozs7OztJQUNoRyw4RkFDaUc7Ozs7Ozs7SUFDakcsOEZBQ2lHOzs7OztBQUtuRyxxQ0FBOEQ7OztJQWE1RCxRQUFTO0lBQ1QsWUFBYTs7Ozs7Ozs7QUFHZixnREFPQzs7O0lBTkMsMkNBQVc7O0lBQ1gsOENBQW1DOztJQUNuQywwQ0FBYzs7SUFDZCw4Q0FBa0I7O0lBQ2xCLDBDQUFjOztJQUNkLDhDQUFrQjs7Ozs7QUFHcEIsMENBTUM7OztJQUxDLG9DQUFhOztJQUNiLG9DQUFVOztJQUNWLHdDQUFpQjs7SUFDakIsb0NBQXdDOztJQUN4QyxvQ0FBYzs7Ozs7QUFHaEIsZ0RBVUM7OztJQVRDLDBDQUFhOztJQUNiLDBDQUFVOztJQUNWLDhDQUE0Qzs7SUFDNUMsZ0RBQWdCOztJQUNoQiw4Q0FBZTs7SUFDZixnREFBaUI7O0lBQ2pCLGlEQUFrQjs7SUFDbEIsOENBQWU7O0lBQ2YsOENBQXdDOzs7OztBQUcxQyw4Q0FPQzs7O0lBTkMsd0NBQVU7O0lBQ1YsNkNBQXNCOztJQUN0QixnREFBeUI7O0lBQ3pCLDJDQUFvQjs7SUFDcEIsMkNBQW9COztJQUNwQiw4Q0FBb0I7Ozs7O0FBR3RCLDhDQU1DOzs7SUFMQyx3Q0FBYTs7SUFDYix3Q0FBVTs7SUFDVix3Q0FBd0M7O0lBQ3hDLDZDQUFlOztJQUNmLDJDQUFhOzs7OztBQUdmLCtDQWdCQzs7O0lBZkMseUNBQWE7O0lBQ2IseUNBQVU7O0lBQ1Ysc0RBQTBCOztJQUMxQixtREFBcUI7O0lBQ3JCLHlDQUF3Qzs7SUFDeEMsNkNBQXNCOztJQUN0Qiw0Q0FBaUM7O0lBQ2pDLHlDQUE4Qjs7SUFDOUIsaURBQXFDOztJQUNyQyw4Q0FBcUM7O0lBQ3JDLDJDQUFpQjs7SUFDakIsNENBQWtCOztJQUNsQixvREFBeUI7O0lBQ3pCLDZDQUFzQjs7SUFDdEIsOENBQTJCOzs7OztBQUc3QiwrQ0FVQzs7O0lBVEMsNkNBQWlCOztJQUNqQix3REFBNkI7O0lBQzdCLCtDQUE0Qjs7SUFDNUIsZ0RBQXFDOztJQUNyQywwQ0FBd0I7O0lBQ3hCLCtDQUE2Qjs7SUFDN0IsMkNBQWlCOztJQUNqQixrREFBaUM7O0lBQ2pDLGtEQUErQjs7Ozs7QUFLakMsMkNBTUM7OztJQUxDLDZDQUFxQjs7SUFDckIsc0NBQWU7O0lBQ2YsMENBQXdCOztJQUN4Qiw0Q0FBcUI7O0lBQ3JCLHFDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5cbi8qKlxuICogQSBzZXQgb2YgaW50ZXJmYWNlcyB3aGljaCBhcmUgc2hhcmVkIGJldHdlZW4gYEBhbmd1bGFyL2NvcmVgIGFuZCBgQGFuZ3VsYXIvY29tcGlsZXJgIHRvIGFsbG93XG4gKiBmb3IgbGF0ZSBiaW5kaW5nIG9mIGBAYW5ndWxhci9jb21waWxlcmAgZm9yIEpJVCBwdXJwb3Nlcy5cbiAqXG4gKiBUaGlzIGZpbGUgaGFzIHR3byBjb3BpZXMuIFBsZWFzZSBlbnN1cmUgdGhhdCB0aGV5IGFyZSBpbiBzeW5jOlxuICogIC0gcGFja2FnZXMvY29tcGlsZXIvc3JjL2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UudHMgICAgICAgICAgICAgKG1hc3RlcilcbiAqICAtIHBhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaml0L2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UudHMgICAgIChjb3B5KVxuICpcbiAqIFBsZWFzZSBlbnN1cmUgdGhhdCB0aGUgdHdvIGZpbGVzIGFyZSBpbiBzeW5jIHVzaW5nIHRoaXMgY29tbWFuZDpcbiAqIGBgYFxuICogY3AgcGFja2FnZXMvY29tcGlsZXIvc3JjL2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UudHMgXFxcbiAqICAgIHBhY2thZ2VzL2NvcmUvc3JjL3JlbmRlcjMvaml0L2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UudHNcbiAqIGBgYFxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0ZWRDb21waWxlckZhY2FkZSB7IMm1Y29tcGlsZXJGYWNhZGU6IENvbXBpbGVyRmFjYWRlOyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGlsZXJGYWNhZGUge1xuICBjb21waWxlUGlwZShhbmd1bGFyQ29yZUVudjogQ29yZUVudmlyb25tZW50LCBzb3VyY2VNYXBVcmw6IHN0cmluZywgbWV0YTogUjNQaXBlTWV0YWRhdGFGYWNhZGUpOlxuICAgICAgYW55O1xuICBjb21waWxlSW5qZWN0YWJsZShcbiAgICAgIGFuZ3VsYXJDb3JlRW52OiBDb3JlRW52aXJvbm1lbnQsIHNvdXJjZU1hcFVybDogc3RyaW5nLCBtZXRhOiBSM0luamVjdGFibGVNZXRhZGF0YUZhY2FkZSk6IGFueTtcbiAgY29tcGlsZUluamVjdG9yKFxuICAgICAgYW5ndWxhckNvcmVFbnY6IENvcmVFbnZpcm9ubWVudCwgc291cmNlTWFwVXJsOiBzdHJpbmcsIG1ldGE6IFIzSW5qZWN0b3JNZXRhZGF0YUZhY2FkZSk6IGFueTtcbiAgY29tcGlsZU5nTW9kdWxlKFxuICAgICAgYW5ndWxhckNvcmVFbnY6IENvcmVFbnZpcm9ubWVudCwgc291cmNlTWFwVXJsOiBzdHJpbmcsIG1ldGE6IFIzTmdNb2R1bGVNZXRhZGF0YUZhY2FkZSk6IGFueTtcbiAgY29tcGlsZURpcmVjdGl2ZShcbiAgICAgIGFuZ3VsYXJDb3JlRW52OiBDb3JlRW52aXJvbm1lbnQsIHNvdXJjZU1hcFVybDogc3RyaW5nLCBtZXRhOiBSM0RpcmVjdGl2ZU1ldGFkYXRhRmFjYWRlKTogYW55O1xuICBjb21waWxlQ29tcG9uZW50KFxuICAgICAgYW5ndWxhckNvcmVFbnY6IENvcmVFbnZpcm9ubWVudCwgc291cmNlTWFwVXJsOiBzdHJpbmcsIG1ldGE6IFIzQ29tcG9uZW50TWV0YWRhdGFGYWNhZGUpOiBhbnk7XG5cbiAgUjNSZXNvbHZlZERlcGVuZGVuY3lUeXBlOiB0eXBlb2YgUjNSZXNvbHZlZERlcGVuZGVuY3lUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvcmVFbnZpcm9ubWVudCB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvbjsgfVxuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFN0cmluZ01hcFdpdGhSZW5hbWUgPSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ107XG59O1xuXG5leHBvcnQgdHlwZSBQcm92aWRlciA9IGFueTtcblxuZXhwb3J0IGVudW0gUjNSZXNvbHZlZERlcGVuZGVuY3lUeXBlIHtcbiAgVG9rZW4gPSAwLFxuICBBdHRyaWJ1dGUgPSAxLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFIzRGVwZW5kZW5jeU1ldGFkYXRhRmFjYWRlIHtcbiAgdG9rZW46IGFueTtcbiAgcmVzb2x2ZWQ6IFIzUmVzb2x2ZWREZXBlbmRlbmN5VHlwZTtcbiAgaG9zdDogYm9vbGVhbjtcbiAgb3B0aW9uYWw6IGJvb2xlYW47XG4gIHNlbGY6IGJvb2xlYW47XG4gIHNraXBTZWxmOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFIzUGlwZU1ldGFkYXRhRmFjYWRlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBhbnk7XG4gIHBpcGVOYW1lOiBzdHJpbmc7XG4gIGRlcHM6IFIzRGVwZW5kZW5jeU1ldGFkYXRhRmFjYWRlW118bnVsbDtcbiAgcHVyZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSM0luamVjdGFibGVNZXRhZGF0YUZhY2FkZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogYW55O1xuICBjdG9yRGVwczogUjNEZXBlbmRlbmN5TWV0YWRhdGFGYWNhZGVbXXxudWxsO1xuICBwcm92aWRlZEluOiBhbnk7XG4gIHVzZUNsYXNzPzogYW55O1xuICB1c2VGYWN0b3J5PzogYW55O1xuICB1c2VFeGlzdGluZz86IGFueTtcbiAgdXNlVmFsdWU/OiBhbnk7XG4gIHVzZXJEZXBzPzogUjNEZXBlbmRlbmN5TWV0YWRhdGFGYWNhZGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSM05nTW9kdWxlTWV0YWRhdGFGYWNhZGUge1xuICB0eXBlOiBhbnk7XG4gIGJvb3RzdHJhcDogRnVuY3Rpb25bXTtcbiAgZGVjbGFyYXRpb25zOiBGdW5jdGlvbltdO1xuICBpbXBvcnRzOiBGdW5jdGlvbltdO1xuICBleHBvcnRzOiBGdW5jdGlvbltdO1xuICBlbWl0SW5saW5lOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFIzSW5qZWN0b3JNZXRhZGF0YUZhY2FkZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogYW55O1xuICBkZXBzOiBSM0RlcGVuZGVuY3lNZXRhZGF0YUZhY2FkZVtdfG51bGw7XG4gIHByb3ZpZGVyczogYW55O1xuICBpbXBvcnRzOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUjNEaXJlY3RpdmVNZXRhZGF0YUZhY2FkZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogYW55O1xuICB0eXBlQXJndW1lbnRDb3VudDogbnVtYmVyO1xuICB0eXBlU291cmNlU3BhbjogbnVsbDtcbiAgZGVwczogUjNEZXBlbmRlbmN5TWV0YWRhdGFGYWNhZGVbXXxudWxsO1xuICBzZWxlY3Rvcjogc3RyaW5nfG51bGw7XG4gIHF1ZXJpZXM6IFIzUXVlcnlNZXRhZGF0YUZhY2FkZVtdO1xuICBob3N0OiB7W2tleTogc3RyaW5nXTogc3RyaW5nfTtcbiAgcHJvcE1ldGFkYXRhOiB7W2tleTogc3RyaW5nXTogYW55W119O1xuICBsaWZlY3ljbGU6IHt1c2VzT25DaGFuZ2VzOiBib29sZWFuO307XG4gIGlucHV0czogc3RyaW5nW107XG4gIG91dHB1dHM6IHN0cmluZ1tdO1xuICB1c2VzSW5oZXJpdGFuY2U6IGJvb2xlYW47XG4gIGV4cG9ydEFzOiBzdHJpbmd8bnVsbDtcbiAgcHJvdmlkZXJzOiBQcm92aWRlcltdfG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUjNDb21wb25lbnRNZXRhZGF0YUZhY2FkZSBleHRlbmRzIFIzRGlyZWN0aXZlTWV0YWRhdGFGYWNhZGUge1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBib29sZWFuO1xuICBhbmltYXRpb25zOiBhbnlbXXx1bmRlZmluZWQ7XG4gIHZpZXdRdWVyaWVzOiBSM1F1ZXJ5TWV0YWRhdGFGYWNhZGVbXTtcbiAgcGlwZXM6IE1hcDxzdHJpbmcsIGFueT47XG4gIGRpcmVjdGl2ZXM6IE1hcDxzdHJpbmcsIGFueT47XG4gIHN0eWxlczogc3RyaW5nW107XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uO1xuICB2aWV3UHJvdmlkZXJzOiBQcm92aWRlcltdfG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIFZpZXdFbmNhcHN1bGF0aW9uID0gbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIFIzUXVlcnlNZXRhZGF0YUZhY2FkZSB7XG4gIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBmaXJzdDogYm9vbGVhbjtcbiAgcHJlZGljYXRlOiBhbnl8c3RyaW5nW107XG4gIGRlc2NlbmRhbnRzOiBib29sZWFuO1xuICByZWFkOiBhbnl8bnVsbDtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
|
|
3
|
+
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* @license
|
|
@@ -77,7 +77,7 @@ export function compileComponent(type, metadata) {
|
|
|
77
77
|
* @return {?}
|
|
78
78
|
*/
|
|
79
79
|
function hasSelectorScope(component) {
|
|
80
|
-
return (/** @type {?} */ (component)).ngSelectorScope !== undefined;
|
|
80
|
+
return ((/** @type {?} */ (component))).ngSelectorScope !== undefined;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
83
83
|
* Compile an Angular directive according to its decorator metadata, and patch the resulting
|
|
@@ -120,13 +120,14 @@ export function extendsDirectlyFromObject(type) {
|
|
|
120
120
|
* @return {?}
|
|
121
121
|
*/
|
|
122
122
|
function directiveMetadata(type, metadata) {
|
|
123
|
+
// Reflect inputs and outputs.
|
|
123
124
|
/** @type {?} */
|
|
124
125
|
const propMetadata = getReflect().propMetadata(type);
|
|
125
126
|
return {
|
|
126
127
|
name: type.name,
|
|
127
128
|
type: type,
|
|
128
129
|
typeArgumentCount: 0,
|
|
129
|
-
selector: /** @type {?} */ (
|
|
130
|
+
selector: (/** @type {?} */ (metadata.selector)),
|
|
130
131
|
deps: reflectDependencies(type),
|
|
131
132
|
host: metadata.host || EMPTY_OBJ,
|
|
132
133
|
propMetadata: propMetadata,
|
|
@@ -136,7 +137,7 @@ function directiveMetadata(type, metadata) {
|
|
|
136
137
|
lifecycle: {
|
|
137
138
|
usesOnChanges: type.prototype.ngOnChanges !== undefined,
|
|
138
139
|
},
|
|
139
|
-
typeSourceSpan: /** @type {?} */ (
|
|
140
|
+
typeSourceSpan: (/** @type {?} */ (null)),
|
|
140
141
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
141
142
|
exportAs: metadata.exportAs || null,
|
|
142
143
|
providers: metadata.providers || null,
|
|
@@ -209,5 +210,4 @@ function isViewQuery(value) {
|
|
|
209
210
|
function splitByComma(value) {
|
|
210
211
|
return value.split(',').map(piece => piece.trim());
|
|
211
212
|
}
|
|
212
|
-
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9qaXQvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFDLHdCQUF3QixFQUFFLHdDQUF3QyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3RCxPQUFPLEVBQTRCLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFL0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWF2RCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBZSxFQUFFLFFBQW1COztJQUNuRSxJQUFJLGNBQWMsR0FBUSxJQUFJLENBQUM7O0lBRS9CLHdDQUF3QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1FBQzVDLEdBQUcsRUFBRSxHQUFHLEVBQUU7O1lBQ1IsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQyxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUU7Z0JBQzNCLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUU7O29CQUN0QyxNQUFNLEtB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QUFLLENBQUMsY0FBYyxDQUFDO0lBQ2xDLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDO0NBQ3hEOzs7OztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0NBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge1F1ZXJ5fSBmcm9tICcuLi8uLi9tZXRhZGF0YS9kaSc7XG5pbXBvcnQge0NvbXBvbmVudCwgRGlyZWN0aXZlfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9kaXJlY3RpdmVzJztcbmltcG9ydCB7Y29tcG9uZW50TmVlZHNSZXNvbHV0aW9uLCBtYXliZVF1ZXVlUmVzb2x1dGlvbk9mQ29tcG9uZW50UmVzb3VyY2VzfSBmcm9tICcuLi8uLi9tZXRhZGF0YS9yZXNvdXJjZV9sb2FkaW5nJztcbmltcG9ydCB7Vmlld0VuY2Fwc3VsYXRpb259IGZyb20gJy4uLy4uL21ldGFkYXRhL3ZpZXcnO1xuaW1wb3J0IHtUeXBlfSBmcm9tICcuLi8uLi90eXBlJztcbmltcG9ydCB7c3RyaW5naWZ5fSBmcm9tICcuLi8uLi91dGlsJztcbmltcG9ydCB7RU1QVFlfQVJSQVl9IGZyb20gJy4uL2RlZmluaXRpb24nO1xuaW1wb3J0IHtOR19DT01QT05FTlRfREVGLCBOR19ESVJFQ1RJVkVfREVGfSBmcm9tICcuLi9maWVsZHMnO1xuXG5pbXBvcnQge1IzRGlyZWN0aXZlTWV0YWRhdGFGYWNhZGUsIGdldENvbXBpbGVyRmFjYWRlfSBmcm9tICcuL2NvbXBpbGVyX2ZhY2FkZSc7XG5pbXBvcnQge1IzQ29tcG9uZW50TWV0YWRhdGFGYWNhZGUsIFIzUXVlcnlNZXRhZGF0YUZhY2FkZX0gZnJvbSAnLi9jb21waWxlcl9mYWNhZGVfaW50ZXJmYWNlJztcbmltcG9ydCB7YW5ndWxhckNvcmVFbnZ9IGZyb20gJy4vZW52aXJvbm1lbnQnO1xuaW1wb3J0IHtwYXRjaENvbXBvbmVudERlZldpdGhTY29wZSwgdHJhbnNpdGl2ZVNjb3Blc0Zvcn0gZnJvbSAnLi9tb2R1bGUnO1xuaW1wb3J0IHtnZXRSZWZsZWN0LCByZWZsZWN0RGVwZW5kZW5jaWVzfSBmcm9tICcuL3V0aWwnO1xuXG5cblxuLyoqXG4gKiBDb21waWxlIGFuIEFuZ3VsYXIgY29tcG9uZW50IGFjY29yZGluZyB0byBpdHMgZGVjb3JhdG9yIG1ldGFkYXRhLCBhbmQgcGF0Y2ggdGhlIHJlc3VsdGluZ1xuICogbmdDb21wb25lbnREZWYgb250byB0aGUgY29tcG9uZW50IHR5cGUuXG4gKlxuICogQ29tcGlsYXRpb24gbWF5IGJlIGFzeW5jaHJvbm91cyAoZHVlIHRvIHRoZSBuZWVkIHRvIHJlc29sdmUgVVJMcyBmb3IgdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZSBvclxuICogb3RoZXIgcmVzb3VyY2VzLCBmb3IgZXhhbXBsZSkuIEluIHRoZSBldmVudCB0aGF0IGNvbXBpbGF0aW9uIGlzIG5vdCBpbW1lZGlhdGUsIGBjb21waWxlQ29tcG9uZW50YFxuICogd2lsbCBlbnF1ZXVlIHJlc291cmNlIHJlc29sdXRpb24gaW50byBhIGdsb2JhbCBxdWV1ZSBhbmQgd2lsbCBmYWlsIHRvIHJldHVybiB0aGUgYG5nQ29tcG9uZW50RGVmYFxuICogdW50aWwgdGhlIGdsb2JhbCBxdWV1ZSBoYXMgYmVlbiByZXNvbHZlZCB3aXRoIGEgY2FsbCB0byBgcmVzb2x2ZUNvbXBvbmVudFJlc291cmNlc2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlQ29tcG9uZW50KHR5cGU6IFR5cGU8YW55PiwgbWV0YWRhdGE6IENvbXBvbmVudCk6IHZvaWQge1xuICBsZXQgbmdDb21wb25lbnREZWY6IGFueSA9IG51bGw7XG4gIC8vIE1ldGFkYXRhIG1heSBoYXZlIHJlc291cmNlcyB3aGljaCBuZWVkIHRvIGJlIHJlc29sdmVkLlxuICBtYXliZVF1ZXVlUmVzb2x1dGlvbk9mQ29tcG9uZW50UmVzb3VyY2VzKG1ldGFkYXRhKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHR5cGUsIE5HX0NPTVBPTkVOVF9ERUYsIHtcbiAgICBnZXQ6ICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbXBpbGVyID0gZ2V0Q29tcGlsZXJGYWNhZGUoKTtcbiAgICAgIGlmIChuZ0NvbXBvbmVudERlZiA9PT0gbnVsbCkge1xuICAgICAgICBpZiAoY29tcG9uZW50TmVlZHNSZXNvbHV0aW9uKG1ldGFkYXRhKSkge1xuICAgICAgICAgIGNvbnN0IGVycm9yID0gW2BDb21wb25lbnQgJyR7c3RyaW5naWZ5KHR5cGUpfScgaXMgbm90IHJlc29sdmVkOmBdO1xuICAgICAgICAgIGlmIChtZXRhZGF0YS50ZW1wbGF0ZVVybCkge1xuICAgICAgICAgICAgZXJyb3IucHVzaChgIC0gdGVtcGxhdGVVcmw6ICR7c3RyaW5naWZ5KG1ldGFkYXRhLnRlbXBsYXRlVXJsKX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG1ldGFkYXRhLnN0eWxlVXJscyAmJiBtZXRhZGF0YS5zdHlsZVVybHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBlcnJvci5wdXNoKGAgLSBzdHlsZVVybHM6ICR7SlNPTi5zdHJpbmdpZnkobWV0YWRhdGEuc3R5bGVVcmxzKX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXJyb3IucHVzaChgRGlkIHlvdSBydW4gYW5kIHdhaXQgZm9yICdyZXNvbHZlQ29tcG9uZW50UmVzb3VyY2VzKCknP2ApO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5qb2luKCdcXG4nKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWV0YTogUjNDb21wb25lbnRNZXRhZGF0YUZhY2FkZSA9IHtcbiAgICAgICAgICAuLi5kaXJlY3RpdmVNZXRhZGF0YSh0eXBlLCBtZXRhZGF0YSksXG4gICAgICAgICAgdGVtcGxhdGU6IG1ldGFkYXRhLnRlbXBsYXRlIHx8ICcnLFxuICAgICAgICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IG1ldGFkYXRhLnByZXNlcnZlV2hpdGVzcGFjZXMgfHwgZmFsc2UsXG4gICAgICAgICAgc3R5bGVzOiBtZXRhZGF0YS5zdHlsZXMgfHwgRU1QVFlfQVJSQVksXG4gICAgICAgICAgYW5pbWF0aW9uczogbWV0YWRhdGEuYW5pbWF0aW9ucyxcbiAgICAgICAgICB2aWV3UXVlcmllczogZXh0cmFjdFF1ZXJpZXNNZXRhZGF0YShnZXRSZWZsZWN0KCkucHJvcE1ldGFkYXRhKHR5cGUpLCBpc1ZpZXdRdWVyeSksXG4gICAgICAgICAgZGlyZWN0aXZlczogbmV3IE1hcCgpLFxuICAgICAgICAgIHBpcGVzOiBuZXcgTWFwKCksXG4gICAgICAgICAgZW5jYXBzdWxhdGlvbjogbWV0YWRhdGEuZW5jYXBzdWxhdGlvbiB8fCBWaWV3RW5jYXBzdWxhdGlvbi5FbXVsYXRlZCxcbiAgICAgICAgICB2aWV3UHJvdmlkZXJzOiBtZXRhZGF0YS52aWV3UHJvdmlkZXJzIHx8IG51bGwsXG4gICAgICAgIH07XG4gICAgICAgIG5nQ29tcG9uZW50RGVmID0gY29tcGlsZXIuY29tcGlsZUNvbXBvbmVudChcbiAgICAgICAgICAgIGFuZ3VsYXJDb3JlRW52LCBgbmc6Ly8ke3N0cmluZ2lmeSh0eXBlKX0vdGVtcGxhdGUuaHRtbGAsIG1ldGEpO1xuXG4gICAgICAgIC8vIElmIGNvbXBvbmVudCBjb21waWxhdGlvbiBpcyBhc3luYywgdGhlbiB0aGUgQE5nTW9kdWxlIGFubm90YXRpb24gd2hpY2ggZGVjbGFyZXMgdGhlXG4gICAgICAgIC8vIGNvbXBvbmVudCBtYXkgZXhlY3V0ZSBhbmQgc2V0IGFuIG5nU2VsZWN0b3JTY29wZSBwcm9wZXJ0eSBvbiB0aGUgY29tcG9uZW50IHR5cGUuIFRoaXNcbiAgICAgICAgLy8gYWxsb3dzIHRoZSBjb21wb25lbnQgdG8gcGF0Y2ggaXRzZWxmIHdpdGggZGlyZWN0aXZlRGVmcyBmcm9tIHRoZSBtb2R1bGUgYWZ0ZXIgaXRcbiAgICAgICAgLy8gZmluaXNoZXMgY29tcGlsaW5nLlxuICAgICAgICBpZiAoaGFzU2VsZWN0b3JTY29wZSh0eXBlKSkge1xuICAgICAgICAgIGNvbnN0IHNjb3BlcyA9IHRyYW5zaXRpdmVTY29wZXNGb3IodHlwZS5uZ1NlbGVjdG9yU2NvcGUpO1xuICAgICAgICAgIHBhdGNoQ29tcG9uZW50RGVmV2l0aFNjb3BlKG5nQ29tcG9uZW50RGVmLCBzY29wZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmdDb21wb25lbnREZWY7XG4gICAgfSxcbiAgICAvLyBNYWtlIHRoZSBwcm9wZXJ0eSBjb25maWd1cmFibGUgaW4gZGV2IG1vZGUgdG8gYWxsb3cgb3ZlcnJpZGluZyBpbiB0ZXN0c1xuICAgIGNvbmZpZ3VyYWJsZTogISFuZ0Rldk1vZGUsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBoYXNTZWxlY3RvclNjb3BlPFQ+KGNvbXBvbmVudDogVHlwZTxUPik6IGNvbXBvbmVudCBpcyBUeXBlPFQ+JlxuICAgIHtuZ1NlbGVjdG9yU2NvcGU6IFR5cGU8YW55Pn0ge1xuICByZXR1cm4gKGNvbXBvbmVudCBhc3tuZ1NlbGVjdG9yU2NvcGU/OiBhbnl9KS5uZ1NlbGVjdG9yU2NvcGUgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDb21waWxlIGFuIEFuZ3VsYXIgZGlyZWN0aXZlIGFjY29yZGluZyB0byBpdHMgZGVjb3JhdG9yIG1ldGFkYXRhLCBhbmQgcGF0Y2ggdGhlIHJlc3VsdGluZ1xuICogbmdEaXJlY3RpdmVEZWYgb250byB0aGUgY29tcG9uZW50IHR5cGUuXG4gKlxuICogSW4gdGhlIGV2ZW50IHRoYXQgY29tcGlsYXRpb24gaXMgbm90IGltbWVkaWF0ZSwgYGNvbXBpbGVEaXJlY3RpdmVgIHdpbGwgcmV0dXJuIGEgYFByb21pc2VgIHdoaWNoXG4gKiB3aWxsIHJlc29sdmUgd2hlbiBjb21waWxhdGlvbiBjb21wbGV0ZXMgYW5kIHRoZSBkaXJlY3RpdmUgYmVjb21lcyB1c2FibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlRGlyZWN0aXZlKHR5cGU6IFR5cGU8YW55PiwgZGlyZWN0aXZlOiBEaXJlY3RpdmUpOiB2b2lkIHtcbiAgbGV0IG5nRGlyZWN0aXZlRGVmOiBhbnkgPSBudWxsO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgTkdfRElSRUNUSVZFX0RFRiwge1xuICAgIGdldDogKCkgPT4ge1xuICAgICAgaWYgKG5nRGlyZWN0aXZlRGVmID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZhY2FkZSA9IGRpcmVjdGl2ZU1ldGFkYXRhKHR5cGUsIGRpcmVjdGl2ZSk7XG4gICAgICAgIG5nRGlyZWN0aXZlRGVmID0gZ2V0Q29tcGlsZXJGYWNhZGUoKS5jb21waWxlRGlyZWN0aXZlKFxuICAgICAgICAgICAgYW5ndWxhckNvcmVFbnYsIGBuZzovLyR7dHlwZSAmJiB0eXBlLm5hbWV9L25nRGlyZWN0aXZlRGVmLmpzYCwgZmFjYWRlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZ0RpcmVjdGl2ZURlZjtcbiAgICB9LFxuICAgIC8vIE1ha2UgdGhlIHByb3BlcnR5IGNvbmZpZ3VyYWJsZSBpbiBkZXYgbW9kZSB0byBhbGxvdyBvdmVycmlkaW5nIGluIHRlc3RzXG4gICAgY29uZmlndXJhYmxlOiAhIW5nRGV2TW9kZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRlbmRzRGlyZWN0bHlGcm9tT2JqZWN0KHR5cGU6IFR5cGU8YW55Pik6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHR5cGUucHJvdG90eXBlKSA9PT0gT2JqZWN0LnByb3RvdHlwZTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IHRoZSBgUjNEaXJlY3RpdmVNZXRhZGF0YWAgZm9yIGEgcGFydGljdWxhciBkaXJlY3RpdmUgKGVpdGhlciBhIGBEaXJlY3RpdmVgIG9yIGFcbiAqIGBDb21wb25lbnRgKS5cbiAqL1xuZnVuY3Rpb24gZGlyZWN0aXZlTWV0YWRhdGEodHlwZTogVHlwZTxhbnk+LCBtZXRhZGF0YTogRGlyZWN0aXZlKTogUjNEaXJlY3RpdmVNZXRhZGF0YUZhY2FkZSB7XG4gIC8vIFJlZmxlY3QgaW5wdXRzIGFuZCBvdXRwdXRzLlxuICBjb25zdCBwcm9wTWV0YWRhdGEgPSBnZXRSZWZsZWN0KCkucHJvcE1ldGFkYXRhKHR5cGUpO1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZS5uYW1lLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgdHlwZUFyZ3VtZW50Q291bnQ6IDAsXG4gICAgc2VsZWN0b3I6IG1ldGFkYXRhLnNlbGVjdG9yICEsXG4gICAgZGVwczogcmVmbGVjdERlcGVuZGVuY2llcyh0eXBlKSxcbiAgICBob3N0OiBtZXRhZGF0YS5ob3N0IHx8IEVNUFRZX09CSixcbiAgICBwcm9wTWV0YWRhdGE6IHByb3BNZXRhZGF0YSxcbiAgICBpbnB1dHM6IG1ldGFkYXRhLmlucHV0cyB8fCBFTVBUWV9BUlJBWSxcbiAgICBvdXRwdXRzOiBtZXRhZGF0YS5vdXRwdXRzIHx8IEVNUFRZX0FSUkFZLFxuICAgIHF1ZXJpZXM6IGV4dHJhY3RRdWVyaWVzTWV0YWRhdGEocHJvcE1ldGFkYXRhLCBpc0NvbnRlbnRRdWVyeSksXG4gICAgbGlmZWN5Y2xlOiB7XG4gICAgICB1c2VzT25DaGFuZ2VzOiB0eXBlLnByb3RvdHlwZS5uZ09uQ2hhbmdlcyAhPT0gdW5kZWZpbmVkLFxuICAgIH0sXG4gICAgdHlwZVNvdXJjZVNwYW46IG51bGwgISxcbiAgICB1c2VzSW5oZXJpdGFuY2U6ICFleHRlbmRzRGlyZWN0bHlGcm9tT2JqZWN0KHR5cGUpLFxuICAgIGV4cG9ydEFzOiBtZXRhZGF0YS5leHBvcnRBcyB8fCBudWxsLFxuICAgIHByb3ZpZGVyczogbWV0YWRhdGEucHJvdmlkZXJzIHx8IG51bGwsXG4gIH07XG59XG5cbmNvbnN0IEVNUFRZX09CSiA9IHt9O1xuXG5mdW5jdGlvbiBjb252ZXJ0VG9SM1F1ZXJ5UHJlZGljYXRlKHNlbGVjdG9yOiBhbnkpOiBhbnl8c3RyaW5nW10ge1xuICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJyA/IHNwbGl0QnlDb21tYShzZWxlY3RvcikgOiBzZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb1IzUXVlcnlNZXRhZGF0YShwcm9wZXJ0eU5hbWU6IHN0cmluZywgYW5uOiBRdWVyeSk6IFIzUXVlcnlNZXRhZGF0YUZhY2FkZSB7XG4gIHJldHVybiB7XG4gICAgcHJvcGVydHlOYW1lOiBwcm9wZXJ0eU5hbWUsXG4gICAgcHJlZGljYXRlOiBjb252ZXJ0VG9SM1F1ZXJ5UHJlZGljYXRlKGFubi5zZWxlY3RvciksXG4gICAgZGVzY2VuZGFudHM6IGFubi5kZXNjZW5kYW50cyxcbiAgICBmaXJzdDogYW5uLmZpcnN0LFxuICAgIHJlYWQ6IGFubi5yZWFkID8gYW5uLnJlYWQgOiBudWxsXG4gIH07XG59XG5mdW5jdGlvbiBleHRyYWN0UXVlcmllc01ldGFkYXRhKFxuICAgIHByb3BNZXRhZGF0YToge1trZXk6IHN0cmluZ106IGFueVtdfSxcbiAgICBpc1F1ZXJ5QW5uOiAoYW5uOiBhbnkpID0+IGFubiBpcyBRdWVyeSk6IFIzUXVlcnlNZXRhZGF0YUZhY2FkZVtdIHtcbiAgY29uc3QgcXVlcmllc01ldGE6IFIzUXVlcnlNZXRhZGF0YUZhY2FkZVtdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgaW4gcHJvcE1ldGFkYXRhKSB7XG4gICAgaWYgKHByb3BNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShmaWVsZCkpIHtcbiAgICAgIHByb3BNZXRhZGF0YVtmaWVsZF0uZm9yRWFjaChhbm4gPT4ge1xuICAgICAgICBpZiAoaXNRdWVyeUFubihhbm4pKSB7XG4gICAgICAgICAgcXVlcmllc01ldGEucHVzaChjb252ZXJ0VG9SM1F1ZXJ5TWV0YWRhdGEoZmllbGQsIGFubikpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHF1ZXJpZXNNZXRhO1xufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRRdWVyeSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUXVlcnkge1xuICBjb25zdCBuYW1lID0gdmFsdWUubmdNZXRhZGF0YU5hbWU7XG4gIHJldHVybiBuYW1lID09PSAnQ29udGVudENoaWxkJyB8fCBuYW1lID09PSAnQ29udGVudENoaWxkcmVuJztcbn1cblxuZnVuY3Rpb24gaXNWaWV3UXVlcnkodmFsdWU6IGFueSk6IHZhbHVlIGlzIFF1ZXJ5IHtcbiAgY29uc3QgbmFtZSA9IHZhbHVlLm5nTWV0YWRhdGFOYW1lO1xuICByZXR1cm4gbmFtZSA9PT0gJ1ZpZXdDaGlsZCcgfHwgbmFtZSA9PT0gJ1ZpZXdDaGlsZHJlbic7XG59XG5cbmZ1bmN0aW9uIHNwbGl0QnlDb21tYSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKS5tYXAocGllY2UgPT4gcGllY2UudHJpbSgpKTtcbn1cbiJdfQ==
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLyIsInNvdXJjZXMiOlsicGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9qaXQvZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBVUEsT0FBTyxFQUFDLHdCQUF3QixFQUFFLHdDQUF3QyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkgsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUU3RCxPQUFPLEVBQTRCLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFL0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWF2RCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBZSxFQUFFLFFBQW1COztRQUMvRCxjQUFjLEdBQVEsSUFBSTtJQUM5Qix5REFBeUQ7SUFDekQsd0NBQXdDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDNUMsR0FBRyxFQUFFLEdBQUcsRUFBRTs7a0JBQ0YsUUFBUSxHQUFHLGlCQUFpQixFQUFFO1lBQ3BDLElBQUksY0FBYyxLQUFLLElBQUksRUFBRTtnQkFDM0IsSUFBSSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsRUFBRTs7MEJBQ2hDLEtBQUssR0FBRyxDQUFD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QVMsV0FBVyxDQUFDLEtBQVU7O1VBQ3ZCLElBQUksR0FBRyxLQUFLLENBQUMsY0FBYztJQUNqQyxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksSUFBSSxLQUFLLGNBQWMsQ0FBQztBQUN6RCxDQUFDOzs7OztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UXVlcnl9IGZyb20gJy4uLy4uL21ldGFkYXRhL2RpJztcbmltcG9ydCB7Q29tcG9uZW50LCBEaXJlY3RpdmV9IGZyb20gJy4uLy4uL21ldGFkYXRhL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtjb21wb25lbnROZWVkc1Jlc29sdXRpb24sIG1heWJlUXVldWVSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXN9IGZyb20gJy4uLy4uL21ldGFkYXRhL3Jlc291cmNlX2xvYWRpbmcnO1xuaW1wb3J0IHtWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvdmlldyc7XG5pbXBvcnQge1R5cGV9IGZyb20gJy4uLy4uL3R5cGUnO1xuaW1wb3J0IHtzdHJpbmdpZnl9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHtFTVBUWV9BUlJBWX0gZnJvbSAnLi4vZGVmaW5pdGlvbic7XG5pbXBvcnQge05HX0NPTVBPTkVOVF9ERUYsIE5HX0RJUkVDVElWRV9ERUZ9IGZyb20gJy4uL2ZpZWxkcyc7XG5cbmltcG9ydCB7UjNEaXJlY3RpdmVNZXRhZGF0YUZhY2FkZSwgZ2V0Q29tcGlsZXJGYWNhZGV9IGZyb20gJy4vY29tcGlsZXJfZmFjYWRlJztcbmltcG9ydCB7UjNDb21wb25lbnRNZXRhZGF0YUZhY2FkZSwgUjNRdWVyeU1ldGFkYXRhRmFjYWRlfSBmcm9tICcuL2NvbXBpbGVyX2ZhY2FkZV9pbnRlcmZhY2UnO1xuaW1wb3J0IHthbmd1bGFyQ29yZUVudn0gZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5pbXBvcnQge3BhdGNoQ29tcG9uZW50RGVmV2l0aFNjb3BlLCB0cmFuc2l0aXZlU2NvcGVzRm9yfSBmcm9tICcuL21vZHVsZSc7XG5pbXBvcnQge2dldFJlZmxlY3QsIHJlZmxlY3REZXBlbmRlbmNpZXN9IGZyb20gJy4vdXRpbCc7XG5cblxuXG4vKipcbiAqIENvbXBpbGUgYW4gQW5ndWxhciBjb21wb25lbnQgYWNjb3JkaW5nIHRvIGl0cyBkZWNvcmF0b3IgbWV0YWRhdGEsIGFuZCBwYXRjaCB0aGUgcmVzdWx0aW5nXG4gKiBuZ0NvbXBvbmVudERlZiBvbnRvIHRoZSBjb21wb25lbnQgdHlwZS5cbiAqXG4gKiBDb21waWxhdGlvbiBtYXkgYmUgYXN5bmNocm9ub3VzIChkdWUgdG8gdGhlIG5lZWQgdG8gcmVzb2x2ZSBVUkxzIGZvciB0aGUgY29tcG9uZW50IHRlbXBsYXRlIG9yXG4gKiBvdGhlciByZXNvdXJjZXMsIGZvciBleGFtcGxlKS4gSW4gdGhlIGV2ZW50IHRoYXQgY29tcGlsYXRpb24gaXMgbm90IGltbWVkaWF0ZSwgYGNvbXBpbGVDb21wb25lbnRgXG4gKiB3aWxsIGVucXVldWUgcmVzb3VyY2UgcmVzb2x1dGlvbiBpbnRvIGEgZ2xvYmFsIHF1ZXVlIGFuZCB3aWxsIGZhaWwgdG8gcmV0dXJuIHRoZSBgbmdDb21wb25lbnREZWZgXG4gKiB1bnRpbCB0aGUgZ2xvYmFsIHF1ZXVlIGhhcyBiZWVuIHJlc29sdmVkIHdpdGggYSBjYWxsIHRvIGByZXNvbHZlQ29tcG9uZW50UmVzb3VyY2VzYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBpbGVDb21wb25lbnQodHlwZTogVHlwZTxhbnk+LCBtZXRhZGF0YTogQ29tcG9uZW50KTogdm9pZCB7XG4gIGxldCBuZ0NvbXBvbmVudERlZjogYW55ID0gbnVsbDtcbiAgLy8gTWV0YWRhdGEgbWF5IGhhdmUgcmVzb3VyY2VzIHdoaWNoIG5lZWQgdG8gYmUgcmVzb2x2ZWQuXG4gIG1heWJlUXVldWVSZXNvbHV0aW9uT2ZDb21wb25lbnRSZXNvdXJjZXMobWV0YWRhdGEpO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgTkdfQ09NUE9ORU5UX0RFRiwge1xuICAgIGdldDogKCkgPT4ge1xuICAgICAgY29uc3QgY29tcGlsZXIgPSBnZXRDb21waWxlckZhY2FkZSgpO1xuICAgICAgaWYgKG5nQ29tcG9uZW50RGVmID09PSBudWxsKSB7XG4gICAgICAgIGlmIChjb21wb25lbnROZWVkc1Jlc29sdXRpb24obWV0YWRhdGEpKSB7XG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBbYENvbXBvbmVudCAnJHtzdHJpbmdpZnkodHlwZSl9JyBpcyBub3QgcmVzb2x2ZWQ6YF07XG4gICAgICAgICAgaWYgKG1ldGFkYXRhLnRlbXBsYXRlVXJsKSB7XG4gICAgICAgICAgICBlcnJvci5wdXNoKGAgLSB0ZW1wbGF0ZVVybDogJHtzdHJpbmdpZnkobWV0YWRhdGEudGVtcGxhdGVVcmwpfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAobWV0YWRhdGEuc3R5bGVVcmxzICYmIG1ldGFkYXRhLnN0eWxlVXJscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVycm9yLnB1c2goYCAtIHN0eWxlVXJsczogJHtKU09OLnN0cmluZ2lmeShtZXRhZGF0YS5zdHlsZVVybHMpfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlcnJvci5wdXNoKGBEaWQgeW91IHJ1biBhbmQgd2FpdCBmb3IgJ3Jlc29sdmVDb21wb25lbnRSZXNvdXJjZXMoKSc/YCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLmpvaW4oJ1xcbicpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtZXRhOiBSM0NvbXBvbmVudE1ldGFkYXRhRmFjYWRlID0ge1xuICAgICAgICAgIC4uLmRpcmVjdGl2ZU1ldGFkYXRhKHR5cGUsIG1ldGFkYXRhKSxcbiAgICAgICAgICB0ZW1wbGF0ZTogbWV0YWRhdGEudGVtcGxhdGUgfHwgJycsXG4gICAgICAgICAgcHJlc2VydmVXaGl0ZXNwYWNlczogbWV0YWRhdGEucHJlc2VydmVXaGl0ZXNwYWNlcyB8fCBmYWxzZSxcbiAgICAgICAgICBzdHlsZXM6IG1ldGFkYXRhLnN0eWxlcyB8fCBFTVBUWV9BUlJBWSxcbiAgICAgICAgICBhbmltYXRpb25zOiBtZXRhZGF0YS5hbmltYXRpb25zLFxuICAgICAgICAgIHZpZXdRdWVyaWVzOiBleHRyYWN0UXVlcmllc01ldGFkYXRhKGdldFJlZmxlY3QoKS5wcm9wTWV0YWRhdGEodHlwZSksIGlzVmlld1F1ZXJ5KSxcbiAgICAgICAgICBkaXJlY3RpdmVzOiBuZXcgTWFwKCksXG4gICAgICAgICAgcGlwZXM6IG5ldyBNYXAoKSxcbiAgICAgICAgICBlbmNhcHN1bGF0aW9uOiBtZXRhZGF0YS5lbmNhcHN1bGF0aW9uIHx8IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICAgICAgICAgIHZpZXdQcm92aWRlcnM6IG1ldGFkYXRhLnZpZXdQcm92aWRlcnMgfHwgbnVsbCxcbiAgICAgICAgfTtcbiAgICAgICAgbmdDb21wb25lbnREZWYgPSBjb21waWxlci5jb21waWxlQ29tcG9uZW50KFxuICAgICAgICAgICAgYW5ndWxhckNvcmVFbnYsIGBuZzovLyR7c3RyaW5naWZ5KHR5cGUpfS90ZW1wbGF0ZS5odG1sYCwgbWV0YSk7XG5cbiAgICAgICAgLy8gSWYgY29tcG9uZW50IGNvbXBpbGF0aW9uIGlzIGFzeW5jLCB0aGVuIHRoZSBATmdNb2R1bGUgYW5ub3RhdGlvbiB3aGljaCBkZWNsYXJlcyB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IG1heSBleGVjdXRlIGFuZCBzZXQgYW4gbmdTZWxlY3RvclNjb3BlIHByb3BlcnR5IG9uIHRoZSBjb21wb25lbnQgdHlwZS4gVGhpc1xuICAgICAgICAvLyBhbGxvd3MgdGhlIGNvbXBvbmVudCB0byBwYXRjaCBpdHNlbGYgd2l0aCBkaXJlY3RpdmVEZWZzIGZyb20gdGhlIG1vZHVsZSBhZnRlciBpdFxuICAgICAgICAvLyBmaW5pc2hlcyBjb21waWxpbmcuXG4gICAgICAgIGlmIChoYXNTZWxlY3RvclNjb3BlKHR5cGUpKSB7XG4gICAgICAgICAgY29uc3Qgc2NvcGVzID0gdHJhbnNpdGl2ZVNjb3Blc0Zvcih0eXBlLm5nU2VsZWN0b3JTY29wZSk7XG4gICAgICAgICAgcGF0Y2hDb21wb25lbnREZWZXaXRoU2NvcGUobmdDb21wb25lbnREZWYsIHNjb3Blcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZ0NvbXBvbmVudERlZjtcbiAgICB9LFxuICAgIC8vIE1ha2UgdGhlIHByb3BlcnR5IGNvbmZpZ3VyYWJsZSBpbiBkZXYgbW9kZSB0byBhbGxvdyBvdmVycmlkaW5nIGluIHRlc3RzXG4gICAgY29uZmlndXJhYmxlOiAhIW5nRGV2TW9kZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGhhc1NlbGVjdG9yU2NvcGU8VD4oY29tcG9uZW50OiBUeXBlPFQ+KTogY29tcG9uZW50IGlzIFR5cGU8VD4mXG4gICAge25nU2VsZWN0b3JTY29wZTogVHlwZTxhbnk+fSB7XG4gIHJldHVybiAoY29tcG9uZW50IGFze25nU2VsZWN0b3JTY29wZT86IGFueX0pLm5nU2VsZWN0b3JTY29wZSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENvbXBpbGUgYW4gQW5ndWxhciBkaXJlY3RpdmUgYWNjb3JkaW5nIHRvIGl0cyBkZWNvcmF0b3IgbWV0YWRhdGEsIGFuZCBwYXRjaCB0aGUgcmVzdWx0aW5nXG4gKiBuZ0RpcmVjdGl2ZURlZiBvbnRvIHRoZSBjb21wb25lbnQgdHlwZS5cbiAqXG4gKiBJbiB0aGUgZXZlbnQgdGhhdCBjb21waWxhdGlvbiBpcyBub3QgaW1tZWRpYXRlLCBgY29tcGlsZURpcmVjdGl2ZWAgd2lsbCByZXR1cm4gYSBgUHJvbWlzZWAgd2hpY2hcbiAqIHdpbGwgcmVzb2x2ZSB3aGVuIGNvbXBpbGF0aW9uIGNvbXBsZXRlcyBhbmQgdGhlIGRpcmVjdGl2ZSBiZWNvbWVzIHVzYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBpbGVEaXJlY3RpdmUodHlwZTogVHlwZTxhbnk+LCBkaXJlY3RpdmU6IERpcmVjdGl2ZSk6IHZvaWQge1xuICBsZXQgbmdEaXJlY3RpdmVEZWY6IGFueSA9IG51bGw7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBOR19ESVJFQ1RJVkVfREVGLCB7XG4gICAgZ2V0OiAoKSA9PiB7XG4gICAgICBpZiAobmdEaXJlY3RpdmVEZWYgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZmFjYWRlID0gZGlyZWN0aXZlTWV0YWRhdGEodHlwZSwgZGlyZWN0aXZlKTtcbiAgICAgICAgbmdEaXJlY3RpdmVEZWYgPSBnZXRDb21waWxlckZhY2FkZSgpLmNvbXBpbGVEaXJlY3RpdmUoXG4gICAgICAgICAgICBhbmd1bGFyQ29yZUVudiwgYG5nOi8vJHt0eXBlICYmIHR5cGUubmFtZX0vbmdEaXJlY3RpdmVEZWYuanNgLCBmYWNhZGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5nRGlyZWN0aXZlRGVmO1xuICAgIH0sXG4gICAgLy8gTWFrZSB0aGUgcHJvcGVydHkgY29uZmlndXJhYmxlIGluIGRldiBtb2RlIHRvIGFsbG93IG92ZXJyaWRpbmcgaW4gdGVzdHNcbiAgICBjb25maWd1cmFibGU6ICEhbmdEZXZNb2RlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dGVuZHNEaXJlY3RseUZyb21PYmplY3QodHlwZTogVHlwZTxhbnk+KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodHlwZS5wcm90b3R5cGUpID09PSBPYmplY3QucHJvdG90eXBlO1xufVxuXG4vKipcbiAqIEV4dHJhY3QgdGhlIGBSM0RpcmVjdGl2ZU1ldGFkYXRhYCBmb3IgYSBwYXJ0aWN1bGFyIGRpcmVjdGl2ZSAoZWl0aGVyIGEgYERpcmVjdGl2ZWAgb3IgYVxuICogYENvbXBvbmVudGApLlxuICovXG5mdW5jdGlvbiBkaXJlY3RpdmVNZXRhZGF0YSh0eXBlOiBUeXBlPGFueT4sIG1ldGFkYXRhOiBEaXJlY3RpdmUpOiBSM0RpcmVjdGl2ZU1ldGFkYXRhRmFjYWRlIHtcbiAgLy8gUmVmbGVjdCBpbnB1dHMgYW5kIG91dHB1dHMuXG4gIGNvbnN0IHByb3BNZXRhZGF0YSA9IGdldFJlZmxlY3QoKS5wcm9wTWV0YWRhdGEodHlwZSk7XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiB0eXBlLm5hbWUsXG4gICAgdHlwZTogdHlwZSxcbiAgICB0eXBlQXJndW1lbnRDb3VudDogMCxcbiAgICBzZWxlY3RvcjogbWV0YWRhdGEuc2VsZWN0b3IgISxcbiAgICBkZXBzOiByZWZsZWN0RGVwZW5kZW5jaWVzKHR5cGUpLFxuICAgIGhvc3Q6IG1ldGFkYXRhLmhvc3QgfHwgRU1QVFlfT0JKLFxuICAgIHByb3BNZXRhZGF0YTogcHJvcE1ldGFkYXRhLFxuICAgIGlucHV0czogbWV0YWRhdGEuaW5wdXRzIHx8IEVNUFRZX0FSUkFZLFxuICAgIG91dHB1dHM6IG1ldGFkYXRhLm91dHB1dHMgfHwgRU1QVFlfQVJSQVksXG4gICAgcXVlcmllczogZXh0cmFjdFF1ZXJpZXNNZXRhZGF0YShwcm9wTWV0YWRhdGEsIGlzQ29udGVudFF1ZXJ5KSxcbiAgICBsaWZlY3ljbGU6IHtcbiAgICAgIHVzZXNPbkNoYW5nZXM6IHR5cGUucHJvdG90eXBlLm5nT25DaGFuZ2VzICE9PSB1bmRlZmluZWQsXG4gICAgfSxcbiAgICB0eXBlU291cmNlU3BhbjogbnVsbCAhLFxuICAgIHVzZXNJbmhlcml0YW5jZTogIWV4dGVuZHNEaXJlY3RseUZyb21PYmplY3QodHlwZSksXG4gICAgZXhwb3J0QXM6IG1ldGFkYXRhLmV4cG9ydEFzIHx8IG51bGwsXG4gICAgcHJvdmlkZXJzOiBtZXRhZGF0YS5wcm92aWRlcnMgfHwgbnVsbCxcbiAgfTtcbn1cblxuY29uc3QgRU1QVFlfT0JKID0ge307XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb1IzUXVlcnlQcmVkaWNhdGUoc2VsZWN0b3I6IGFueSk6IGFueXxzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnID8gc3BsaXRCeUNvbW1hKHNlbGVjdG9yKSA6IHNlbGVjdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUjNRdWVyeU1ldGFkYXRhKHByb3BlcnR5TmFtZTogc3RyaW5nLCBhbm46IFF1ZXJ5KTogUjNRdWVyeU1ldGFkYXRhRmFjYWRlIHtcbiAgcmV0dXJuIHtcbiAgICBwcm9wZXJ0eU5hbWU6IHByb3BlcnR5TmFtZSxcbiAgICBwcmVkaWNhdGU6IGNvbnZlcnRUb1IzUXVlcnlQcmVkaWNhdGUoYW5uLnNlbGVjdG9yKSxcbiAgICBkZXNjZW5kYW50czogYW5uLmRlc2NlbmRhbnRzLFxuICAgIGZpcnN0OiBhbm4uZmlyc3QsXG4gICAgcmVhZDogYW5uLnJlYWQgPyBhbm4ucmVhZCA6IG51bGxcbiAgfTtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RRdWVyaWVzTWV0YWRhdGEoXG4gICAgcHJvcE1ldGFkYXRhOiB7W2tleTogc3RyaW5nXTogYW55W119LFxuICAgIGlzUXVlcnlBbm46IChhbm46IGFueSkgPT4gYW5uIGlzIFF1ZXJ5KTogUjNRdWVyeU1ldGFkYXRhRmFjYWRlW10ge1xuICBjb25zdCBxdWVyaWVzTWV0YTogUjNRdWVyeU1ldGFkYXRhRmFjYWRlW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWVsZCBpbiBwcm9wTWV0YWRhdGEpIHtcbiAgICBpZiAocHJvcE1ldGFkYXRhLmhhc093blByb3BlcnR5KGZpZWxkKSkge1xuICAgICAgcHJvcE1ldGFkYXRhW2ZpZWxkXS5mb3JFYWNoKGFubiA9PiB7XG4gICAgICAgIGlmIChpc1F1ZXJ5QW5uKGFubikpIHtcbiAgICAgICAgICBxdWVyaWVzTWV0YS5wdXNoKGNvbnZlcnRUb1IzUXVlcnlNZXRhZGF0YShmaWVsZCwgYW5uKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcXVlcmllc01ldGE7XG59XG5cbmZ1bmN0aW9uIGlzQ29udGVudFF1ZXJ5KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBRdWVyeSB7XG4gIGNvbnN0IG5hbWUgPSB2YWx1ZS5uZ01ldGFkYXRhTmFtZTtcbiAgcmV0dXJuIG5hbWUgPT09ICdDb250ZW50Q2hpbGQnIHx8IG5hbWUgPT09ICdDb250ZW50Q2hpbGRyZW4nO1xufVxuXG5mdW5jdGlvbiBpc1ZpZXdRdWVyeSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUXVlcnkge1xuICBjb25zdCBuYW1lID0gdmFsdWUubmdNZXRhZGF0YU5hbWU7XG4gIHJldHVybiBuYW1lID09PSAnVmlld0NoaWxkJyB8fCBuYW1lID09PSAnVmlld0NoaWxkcmVuJztcbn1cblxuZnVuY3Rpb24gc3BsaXRCeUNvbW1hKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgnLCcpLm1hcChwaWVjZSA9PiBwaWVjZS50cmltKCkpO1xufVxuIl19
|