@angular/core 18.2.5 → 18.2.7
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/LICENSE +21 -0
- package/esm2022/index.mjs +2 -2
- package/esm2022/primitives/event-dispatch/contract_binary.mjs +2 -2
- package/esm2022/primitives/event-dispatch/index.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/a11y_click.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/action_resolver.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/attribute.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/bootstrap_app_scoped.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/bootstrap_global.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/cache.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/char.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/dispatcher.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/earlyeventcontract.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_contract_container.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_contract_defines.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_contract_multi_container.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_dispatcher.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_handler.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_info.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/event_type.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/key_code.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/property.mjs +2 -2
- package/esm2022/primitives/event-dispatch/src/restriction.mjs +2 -2
- package/esm2022/primitives/signals/index.mjs +2 -2
- package/esm2022/primitives/signals/src/computed.mjs +2 -2
- package/esm2022/primitives/signals/src/equality.mjs +2 -2
- package/esm2022/primitives/signals/src/errors.mjs +2 -2
- package/esm2022/primitives/signals/src/graph.mjs +2 -2
- package/esm2022/primitives/signals/src/signal.mjs +2 -2
- package/esm2022/primitives/signals/src/watch.mjs +2 -2
- package/esm2022/primitives/signals/src/weak_ref.mjs +2 -2
- package/esm2022/public_api.mjs +2 -2
- package/esm2022/rxjs-interop/index.mjs +2 -2
- package/esm2022/rxjs-interop/public_api.mjs +2 -2
- package/esm2022/rxjs-interop/src/index.mjs +2 -2
- package/esm2022/rxjs-interop/src/output_from_observable.mjs +2 -2
- package/esm2022/rxjs-interop/src/output_to_observable.mjs +2 -2
- package/esm2022/rxjs-interop/src/take_until_destroyed.mjs +2 -2
- package/esm2022/rxjs-interop/src/to_observable.mjs +2 -2
- package/esm2022/rxjs-interop/src/to_signal.mjs +3 -3
- package/esm2022/src/application/application_config.mjs +2 -2
- package/esm2022/src/application/application_init.mjs +1 -1
- package/esm2022/src/application/application_module.mjs +2 -2
- package/esm2022/src/application/application_ngmodule_factory_compiler.mjs +2 -2
- package/esm2022/src/application/application_ref.mjs +2 -2
- package/esm2022/src/application/application_tokens.mjs +2 -2
- package/esm2022/src/application/create_application.mjs +2 -2
- package/esm2022/src/authoring/input/input.mjs +2 -2
- package/esm2022/src/authoring/input/input_signal.mjs +2 -2
- package/esm2022/src/authoring/input/input_signal_node.mjs +2 -2
- package/esm2022/src/authoring/input/input_type_checking.mjs +2 -2
- package/esm2022/src/authoring/model/model.mjs +2 -2
- package/esm2022/src/authoring/model/model_signal.mjs +2 -2
- package/esm2022/src/authoring/output/output.mjs +2 -2
- package/esm2022/src/authoring/output/output_emitter_ref.mjs +2 -2
- package/esm2022/src/authoring/output/output_ref.mjs +2 -2
- package/esm2022/src/authoring/queries.mjs +2 -2
- package/esm2022/src/authoring.mjs +2 -2
- package/esm2022/src/cached_injector_service.mjs +2 -2
- package/esm2022/src/change_detection/change_detection.mjs +2 -2
- package/esm2022/src/change_detection/change_detector_ref.mjs +2 -2
- package/esm2022/src/change_detection/constants.mjs +2 -2
- package/esm2022/src/change_detection/differs/default_iterable_differ.mjs +2 -2
- package/esm2022/src/change_detection/differs/default_keyvalue_differ.mjs +2 -2
- package/esm2022/src/change_detection/differs/iterable_differs.mjs +2 -2
- package/esm2022/src/change_detection/differs/keyvalue_differs.mjs +2 -2
- package/esm2022/src/change_detection/pipe_transform.mjs +2 -2
- package/esm2022/src/change_detection/scheduling/exhaustive_check_no_changes.mjs +2 -2
- package/esm2022/src/change_detection/scheduling/flags.mjs +2 -2
- package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +2 -2
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +2 -2
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +2 -2
- package/esm2022/src/change_detection.mjs +2 -2
- package/esm2022/src/compiler/compiler_facade.mjs +2 -2
- package/esm2022/src/compiler/compiler_facade_interface.mjs +2 -2
- package/esm2022/src/console.mjs +2 -2
- package/esm2022/src/core.mjs +2 -2
- package/esm2022/src/core_private_export.mjs +3 -4
- package/esm2022/src/core_reactivity_export.mjs +2 -2
- package/esm2022/src/core_reactivity_export_internal.mjs +3 -2
- package/esm2022/src/core_render3_private_export.mjs +2 -2
- package/esm2022/src/debug/debug_node.mjs +2 -2
- package/esm2022/src/defer/cleanup.mjs +2 -2
- package/esm2022/src/defer/discovery.mjs +2 -2
- package/esm2022/src/defer/dom_triggers.mjs +2 -2
- package/esm2022/src/defer/idle_scheduler.mjs +2 -2
- package/esm2022/src/defer/instructions.mjs +2 -2
- package/esm2022/src/defer/interfaces.mjs +2 -2
- package/esm2022/src/defer/timer_scheduler.mjs +2 -2
- package/esm2022/src/defer/utils.mjs +2 -2
- package/esm2022/src/di/contextual.mjs +2 -2
- package/esm2022/src/di/create_injector.mjs +2 -2
- package/esm2022/src/di/forward_ref.mjs +2 -2
- package/esm2022/src/di/host_attribute_token.mjs +2 -2
- package/esm2022/src/di/host_tag_name_token.mjs +2 -2
- package/esm2022/src/di/index.mjs +2 -2
- package/esm2022/src/di/initializer_token.mjs +2 -2
- package/esm2022/src/di/inject_switch.mjs +2 -2
- package/esm2022/src/di/injectable.mjs +2 -2
- package/esm2022/src/di/injection_token.mjs +2 -2
- package/esm2022/src/di/injector.mjs +2 -2
- package/esm2022/src/di/injector_compatibility.mjs +2 -2
- package/esm2022/src/di/injector_marker.mjs +2 -2
- package/esm2022/src/di/injector_token.mjs +2 -2
- package/esm2022/src/di/interface/defs.mjs +2 -2
- package/esm2022/src/di/interface/injector.mjs +2 -2
- package/esm2022/src/di/interface/provider.mjs +2 -2
- package/esm2022/src/di/internal_tokens.mjs +2 -2
- package/esm2022/src/di/jit/environment.mjs +2 -2
- package/esm2022/src/di/jit/injectable.mjs +2 -2
- package/esm2022/src/di/jit/util.mjs +2 -2
- package/esm2022/src/di/metadata.mjs +2 -2
- package/esm2022/src/di/metadata_attr.mjs +2 -2
- package/esm2022/src/di/null_injector.mjs +2 -2
- package/esm2022/src/di/provider_collection.mjs +2 -2
- package/esm2022/src/di/provider_token.mjs +2 -2
- package/esm2022/src/di/r3_injector.mjs +2 -2
- package/esm2022/src/di/scope.mjs +2 -2
- package/esm2022/src/di.mjs +2 -2
- package/esm2022/src/error_details_base_url.mjs +2 -2
- package/esm2022/src/error_handler.mjs +2 -2
- package/esm2022/src/errors.mjs +2 -2
- package/esm2022/src/event_delegation_utils.mjs +3 -58
- package/esm2022/src/event_emitter.mjs +2 -2
- package/esm2022/src/hydration/annotate.mjs +2 -2
- package/esm2022/src/hydration/api.mjs +2 -2
- package/esm2022/src/hydration/cleanup.mjs +2 -2
- package/esm2022/src/hydration/compression.mjs +2 -2
- package/esm2022/src/hydration/error_handling.mjs +2 -2
- package/esm2022/src/hydration/event_replay.mjs +4 -8
- package/esm2022/src/hydration/i18n.mjs +2 -2
- package/esm2022/src/hydration/interfaces.mjs +2 -2
- package/esm2022/src/hydration/node_lookup_utils.mjs +2 -2
- package/esm2022/src/hydration/skip_hydration.mjs +2 -2
- package/esm2022/src/hydration/tokens.mjs +2 -6
- package/esm2022/src/hydration/utils.mjs +2 -2
- package/esm2022/src/hydration/views.mjs +2 -2
- package/esm2022/src/i18n/locale_data_api.mjs +2 -2
- package/esm2022/src/i18n/locale_en.mjs +2 -2
- package/esm2022/src/i18n/localization.mjs +2 -2
- package/esm2022/src/i18n/tokens.mjs +2 -2
- package/esm2022/src/i18n/utils.mjs +2 -2
- package/esm2022/src/image_performance_warning.mjs +26 -8
- package/esm2022/src/interface/lifecycle_hooks.mjs +1 -1
- package/esm2022/src/interface/simple_change.mjs +2 -2
- package/esm2022/src/interface/type.mjs +2 -2
- package/esm2022/src/linker/compiler.mjs +2 -2
- package/esm2022/src/linker/component_factory.mjs +2 -2
- package/esm2022/src/linker/component_factory_resolver.mjs +2 -2
- package/esm2022/src/linker/destroy_ref.mjs +2 -2
- package/esm2022/src/linker/element_ref.mjs +2 -2
- package/esm2022/src/linker/ng_module_factory.mjs +2 -2
- package/esm2022/src/linker/ng_module_factory_loader.mjs +2 -2
- package/esm2022/src/linker/ng_module_factory_loader_impl.mjs +2 -2
- package/esm2022/src/linker/ng_module_registration.mjs +2 -2
- package/esm2022/src/linker/query_list.mjs +2 -2
- package/esm2022/src/linker/template_ref.mjs +2 -2
- package/esm2022/src/linker/view_container_ref.mjs +2 -2
- package/esm2022/src/linker/view_ref.mjs +2 -2
- package/esm2022/src/linker.mjs +2 -2
- package/esm2022/src/metadata/di.mjs +2 -2
- package/esm2022/src/metadata/directives.mjs +2 -2
- package/esm2022/src/metadata/do_bootstrap.mjs +2 -2
- package/esm2022/src/metadata/ng_module.mjs +2 -2
- package/esm2022/src/metadata/ng_module_def.mjs +2 -2
- package/esm2022/src/metadata/resource_loading.mjs +2 -2
- package/esm2022/src/metadata/schema.mjs +2 -2
- package/esm2022/src/metadata/view.mjs +2 -2
- package/esm2022/src/metadata.mjs +2 -2
- package/esm2022/src/pending_tasks.mjs +2 -2
- package/esm2022/src/platform/bootstrap.mjs +1 -1
- package/esm2022/src/platform/platform.mjs +2 -2
- package/esm2022/src/platform/platform_core_providers.mjs +2 -2
- package/esm2022/src/platform/platform_destroy_listeners.mjs +2 -2
- package/esm2022/src/platform/platform_ref.mjs +2 -2
- package/esm2022/src/r3_symbols.mjs +2 -2
- package/esm2022/src/reflection/platform_reflection_capabilities.mjs +2 -2
- package/esm2022/src/reflection/reflection_capabilities.mjs +2 -2
- package/esm2022/src/render/api.mjs +2 -2
- package/esm2022/src/render/api_flags.mjs +2 -2
- package/esm2022/src/render.mjs +2 -2
- package/esm2022/src/render3/after_render/api.mjs +2 -2
- package/esm2022/src/render3/after_render/hooks.mjs +4 -3
- package/esm2022/src/render3/after_render/manager.mjs +4 -4
- package/esm2022/src/render3/apply_value_input_field.mjs +2 -2
- package/esm2022/src/render3/assert.mjs +2 -2
- package/esm2022/src/render3/bindings.mjs +2 -2
- package/esm2022/src/render3/chained_injector.mjs +2 -2
- package/esm2022/src/render3/collect_native_nodes.mjs +2 -2
- package/esm2022/src/render3/component.mjs +2 -2
- package/esm2022/src/render3/component_ref.mjs +3 -3
- package/esm2022/src/render3/context_discovery.mjs +2 -2
- package/esm2022/src/render3/debug/framework_injector_profiler.mjs +2 -2
- package/esm2022/src/render3/debug/injector_profiler.mjs +2 -2
- package/esm2022/src/render3/debug/set_debug_info.mjs +2 -2
- package/esm2022/src/render3/definition.mjs +2 -2
- package/esm2022/src/render3/definition_factory.mjs +2 -2
- package/esm2022/src/render3/deps_tracker/api.mjs +2 -2
- package/esm2022/src/render3/deps_tracker/deps_tracker.mjs +2 -2
- package/esm2022/src/render3/di.mjs +2 -2
- package/esm2022/src/render3/di_setup.mjs +2 -2
- package/esm2022/src/render3/errors.mjs +2 -2
- package/esm2022/src/render3/errors_di.mjs +2 -2
- package/esm2022/src/render3/features/copy_definition_feature.mjs +2 -2
- package/esm2022/src/render3/features/host_directives_feature.mjs +2 -2
- package/esm2022/src/render3/features/inherit_definition_feature.mjs +2 -2
- package/esm2022/src/render3/features/input_transforms_feature.mjs +2 -2
- package/esm2022/src/render3/features/ng_onchanges_feature.mjs +2 -2
- package/esm2022/src/render3/features/providers_feature.mjs +1 -1
- package/esm2022/src/render3/features/standalone_feature.mjs +2 -2
- package/esm2022/src/render3/fields.mjs +2 -2
- package/esm2022/src/render3/global_utils_api.mjs +2 -2
- package/esm2022/src/render3/hooks.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_apply.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_debug.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_insert_before_index.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_locale_id.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_parse.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_postprocess.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_tree_shaking.mjs +2 -2
- package/esm2022/src/render3/i18n/i18n_util.mjs +2 -2
- package/esm2022/src/render3/index.mjs +2 -2
- package/esm2022/src/render3/instructions/advance.mjs +2 -2
- package/esm2022/src/render3/instructions/all.mjs +2 -2
- package/esm2022/src/render3/instructions/attribute.mjs +2 -2
- package/esm2022/src/render3/instructions/attribute_interpolation.mjs +1 -1
- package/esm2022/src/render3/instructions/change_detection.mjs +2 -2
- package/esm2022/src/render3/instructions/class_map_interpolation.mjs +2 -2
- package/esm2022/src/render3/instructions/component_instance.mjs +2 -2
- package/esm2022/src/render3/instructions/control_flow.mjs +2 -2
- package/esm2022/src/render3/instructions/di.mjs +2 -2
- package/esm2022/src/render3/instructions/di_attr.mjs +2 -2
- package/esm2022/src/render3/instructions/element.mjs +2 -2
- package/esm2022/src/render3/instructions/element_container.mjs +2 -2
- package/esm2022/src/render3/instructions/element_validation.mjs +2 -2
- package/esm2022/src/render3/instructions/get_current_view.mjs +1 -1
- package/esm2022/src/render3/instructions/host_property.mjs +2 -2
- package/esm2022/src/render3/instructions/i18n.mjs +2 -2
- package/esm2022/src/render3/instructions/i18n_icu_container_visitor.mjs +2 -2
- package/esm2022/src/render3/instructions/interpolation.mjs +2 -2
- package/esm2022/src/render3/instructions/let_declaration.mjs +2 -2
- package/esm2022/src/render3/instructions/listener.mjs +2 -2
- package/esm2022/src/render3/instructions/mark_view_dirty.mjs +2 -2
- package/esm2022/src/render3/instructions/namespace.mjs +2 -2
- package/esm2022/src/render3/instructions/next_context.mjs +2 -2
- package/esm2022/src/render3/instructions/projection.mjs +2 -2
- package/esm2022/src/render3/instructions/property.mjs +2 -2
- package/esm2022/src/render3/instructions/property_interpolation.mjs +1 -1
- package/esm2022/src/render3/instructions/queries.mjs +2 -2
- package/esm2022/src/render3/instructions/queries_signals.mjs +2 -2
- package/esm2022/src/render3/instructions/render.mjs +2 -2
- package/esm2022/src/render3/instructions/shared.mjs +2 -2
- package/esm2022/src/render3/instructions/storage.mjs +2 -2
- package/esm2022/src/render3/instructions/style_map_interpolation.mjs +2 -2
- package/esm2022/src/render3/instructions/style_prop_interpolation.mjs +2 -2
- package/esm2022/src/render3/instructions/styling.mjs +2 -2
- package/esm2022/src/render3/instructions/template.mjs +2 -2
- package/esm2022/src/render3/instructions/text.mjs +2 -2
- package/esm2022/src/render3/instructions/text_interpolation.mjs +2 -2
- package/esm2022/src/render3/instructions/two_way.mjs +2 -2
- package/esm2022/src/render3/instructions/write_to_directive_input.mjs +2 -2
- package/esm2022/src/render3/interfaces/attribute_marker.mjs +2 -2
- package/esm2022/src/render3/interfaces/container.mjs +2 -2
- package/esm2022/src/render3/interfaces/context.mjs +2 -2
- package/esm2022/src/render3/interfaces/definition.mjs +2 -2
- package/esm2022/src/render3/interfaces/document.mjs +2 -2
- package/esm2022/src/render3/interfaces/i18n.mjs +2 -2
- package/esm2022/src/render3/interfaces/injector.mjs +2 -2
- package/esm2022/src/render3/interfaces/input_flags.mjs +2 -2
- package/esm2022/src/render3/interfaces/lview_tracking.mjs +2 -2
- package/esm2022/src/render3/interfaces/node.mjs +1 -1
- package/esm2022/src/render3/interfaces/projection.mjs +2 -2
- package/esm2022/src/render3/interfaces/public_definitions.mjs +2 -2
- package/esm2022/src/render3/interfaces/query.mjs +2 -2
- package/esm2022/src/render3/interfaces/renderer.mjs +2 -2
- package/esm2022/src/render3/interfaces/renderer_dom.mjs +2 -2
- package/esm2022/src/render3/interfaces/sanitization.mjs +2 -2
- package/esm2022/src/render3/interfaces/styling.mjs +2 -2
- package/esm2022/src/render3/interfaces/type_checks.mjs +2 -2
- package/esm2022/src/render3/interfaces/view.mjs +2 -2
- package/esm2022/src/render3/jit/directive.mjs +2 -2
- package/esm2022/src/render3/jit/environment.mjs +2 -2
- package/esm2022/src/render3/jit/jit_options.mjs +1 -1
- package/esm2022/src/render3/jit/module.mjs +2 -2
- package/esm2022/src/render3/jit/module_patch.mjs +2 -2
- package/esm2022/src/render3/jit/partial.mjs +2 -2
- package/esm2022/src/render3/jit/pipe.mjs +2 -2
- package/esm2022/src/render3/jit/util.mjs +2 -2
- package/esm2022/src/render3/list_reconciliation.mjs +2 -2
- package/esm2022/src/render3/local_compilation.mjs +2 -2
- package/esm2022/src/render3/metadata.mjs +2 -2
- package/esm2022/src/render3/namespaces.mjs +2 -2
- package/esm2022/src/render3/ng_module_ref.mjs +2 -2
- package/esm2022/src/render3/node_assert.mjs +2 -2
- package/esm2022/src/render3/node_manipulation.mjs +2 -2
- package/esm2022/src/render3/node_manipulation_i18n.mjs +2 -2
- package/esm2022/src/render3/node_selector_matcher.mjs +2 -2
- package/esm2022/src/render3/pipe.mjs +2 -2
- package/esm2022/src/render3/profiler.mjs +2 -2
- package/esm2022/src/render3/profiler_types.mjs +2 -2
- package/esm2022/src/render3/pure_function.mjs +2 -2
- package/esm2022/src/render3/query.mjs +2 -2
- package/esm2022/src/render3/query_reactive.mjs +2 -2
- package/esm2022/src/render3/reactive_lview_consumer.mjs +2 -2
- package/esm2022/src/render3/reactivity/api.mjs +2 -2
- package/esm2022/src/render3/reactivity/asserts.mjs +2 -2
- package/esm2022/src/render3/reactivity/computed.mjs +2 -2
- package/esm2022/src/render3/reactivity/effect.mjs +2 -2
- package/esm2022/src/render3/reactivity/signal.mjs +2 -2
- package/esm2022/src/render3/reactivity/untracked.mjs +2 -2
- package/esm2022/src/render3/scope.mjs +2 -2
- package/esm2022/src/render3/state.mjs +2 -2
- package/esm2022/src/render3/styling/class_differ.mjs +2 -2
- package/esm2022/src/render3/styling/static_styling.mjs +2 -2
- package/esm2022/src/render3/styling/style_binding_list.mjs +2 -2
- package/esm2022/src/render3/styling/styling_parser.mjs +2 -2
- package/esm2022/src/render3/tokens.mjs +2 -2
- package/esm2022/src/render3/util/attrs_utils.mjs +1 -1
- package/esm2022/src/render3/util/change_detection_utils.mjs +2 -2
- package/esm2022/src/render3/util/discovery_utils.mjs +2 -2
- package/esm2022/src/render3/util/global_utils.mjs +2 -2
- package/esm2022/src/render3/util/injector_discovery_utils.mjs +2 -2
- package/esm2022/src/render3/util/injector_utils.mjs +2 -2
- package/esm2022/src/render3/util/misc_utils.mjs +2 -2
- package/esm2022/src/render3/util/stringify_utils.mjs +2 -2
- package/esm2022/src/render3/util/view_traversal_utils.mjs +2 -2
- package/esm2022/src/render3/util/view_utils.mjs +2 -2
- package/esm2022/src/render3/view_engine_compatibility_prebound.mjs +2 -2
- package/esm2022/src/render3/view_manipulation.mjs +2 -2
- package/esm2022/src/render3/view_ref.mjs +2 -2
- package/esm2022/src/sanitization/bypass.mjs +2 -2
- package/esm2022/src/sanitization/html_sanitizer.mjs +2 -2
- package/esm2022/src/sanitization/iframe_attrs_validation.mjs +2 -2
- package/esm2022/src/sanitization/inert_body.mjs +2 -2
- package/esm2022/src/sanitization/sanitization.mjs +2 -2
- package/esm2022/src/sanitization/sanitizer.mjs +2 -2
- package/esm2022/src/sanitization/security.mjs +2 -2
- package/esm2022/src/sanitization/url_sanitizer.mjs +2 -2
- package/esm2022/src/testability/testability.mjs +2 -2
- package/esm2022/src/transfer_state.mjs +2 -2
- package/esm2022/src/util/array_utils.mjs +2 -2
- package/esm2022/src/util/assert.mjs +2 -2
- package/esm2022/src/util/callback_scheduler.mjs +2 -2
- package/esm2022/src/util/char_code.mjs +2 -2
- package/esm2022/src/util/closure.mjs +2 -2
- package/esm2022/src/util/coercion.mjs +2 -2
- package/esm2022/src/util/comparison.mjs +2 -2
- package/esm2022/src/util/decorators.mjs +2 -2
- package/esm2022/src/util/dom.mjs +2 -2
- package/esm2022/src/util/empty.mjs +2 -2
- package/esm2022/src/util/errors.mjs +2 -2
- package/esm2022/src/util/global.mjs +2 -2
- package/esm2022/src/util/is_dev_mode.mjs +2 -2
- package/esm2022/src/util/iterable.mjs +2 -2
- package/esm2022/src/util/lang.mjs +2 -2
- package/esm2022/src/util/ng_dev_mode.mjs +2 -2
- package/esm2022/src/util/ng_i18n_closure_mode.mjs +2 -2
- package/esm2022/src/util/ng_jit_mode.mjs +2 -2
- package/esm2022/src/util/ng_reflect.mjs +2 -2
- package/esm2022/src/util/noop.mjs +2 -2
- package/esm2022/src/util/performance.mjs +2 -2
- package/esm2022/src/util/property.mjs +2 -2
- package/esm2022/src/util/security/trusted_type_defs.mjs +2 -2
- package/esm2022/src/util/security/trusted_types.mjs +2 -2
- package/esm2022/src/util/security/trusted_types_bypass.mjs +2 -2
- package/esm2022/src/util/stringify.mjs +2 -2
- package/esm2022/src/version.mjs +3 -3
- package/esm2022/src/view/provider_flags.mjs +2 -2
- package/esm2022/src/zone/async-stack-tagging.mjs +2 -2
- package/esm2022/src/zone/ng_zone.mjs +2 -2
- package/esm2022/src/zone.mjs +2 -2
- package/esm2022/testing/index.mjs +2 -2
- package/esm2022/testing/public_api.mjs +2 -2
- package/esm2022/testing/src/application_error_handler.mjs +5 -5
- package/esm2022/testing/src/async.mjs +2 -2
- package/esm2022/testing/src/component_fixture.mjs +2 -2
- package/esm2022/testing/src/defer.mjs +2 -2
- package/esm2022/testing/src/fake_async.mjs +2 -2
- package/esm2022/testing/src/logger.mjs +5 -5
- package/esm2022/testing/src/metadata_override.mjs +2 -2
- package/esm2022/testing/src/metadata_overrider.mjs +2 -2
- package/esm2022/testing/src/resolvers.mjs +2 -2
- package/esm2022/testing/src/styling.mjs +2 -2
- package/esm2022/testing/src/test_bed.mjs +2 -2
- package/esm2022/testing/src/test_bed_common.mjs +2 -2
- package/esm2022/testing/src/test_bed_compiler.mjs +2 -2
- package/esm2022/testing/src/test_hooks.mjs +2 -2
- package/esm2022/testing/src/testing.mjs +2 -2
- package/esm2022/testing/src/testing_internal.mjs +2 -2
- package/fesm2022/core.mjs +41 -113
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +2 -2
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +4 -4
- package/fesm2022/testing.mjs.map +1 -1
- package/index.d.ts +41 -55
- package/package.json +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/migrations/after-render-phase/bundle.js +270 -270
- package/schematics/migrations/http-providers/bundle.js +273 -273
- package/schematics/migrations/invalid-two-way-bindings/bundle.js +164 -164
- package/schematics/ng-generate/control-flow-migration/bundle.js +273 -273
- package/schematics/ng-generate/inject-migration/bundle.js +284 -277
- package/schematics/ng-generate/route-lazy-loading/bundle.js +270 -284
- package/schematics/ng-generate/standalone-migration/bundle.js +457 -455
- package/testing/index.d.ts +1 -1
- package/esm2022/src/event_dispatch/event_delegation.mjs +0 -43
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { createContentQuery, createViewQuery } from '../query';
|
|
9
9
|
import { bindQueryToSignal } from '../query_reactive';
|
|
@@ -51,4 +51,4 @@ export function ɵɵviewQuerySignal(target, predicate, flags, read) {
|
|
|
51
51
|
export function ɵɵqueryAdvance(indexOffset = 1) {
|
|
52
52
|
setCurrentQueryIndex(getCurrentQueryIndex() + indexOffset);
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcmllc19zaWduYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnN0cnVjdGlvbnMvcXVlcmllc19zaWduYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlILE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLGNBQXNCLEVBQ3RCLE1BQWlCLEVBQ2pCLFNBQTRDLEVBQzVDLEtBQWlCLEVBQ2pCLElBQVU7SUFFVixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsTUFBdUIsRUFDdkIsU0FBNEMsRUFDNUMsS0FBaUIsRUFDakIsSUFBNkI7SUFFN0IsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxjQUFzQixDQUFDO0lBQ3BELG9CQUFvQixDQUFDLG9CQUFvQixFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtQcm92aWRlclRva2VufSBmcm9tICcuLi8uLi9kaS9wcm92aWRlcl90b2tlbic7XG5pbXBvcnQge1F1ZXJ5RmxhZ3N9IGZyb20gJy4uL2ludGVyZmFjZXMvcXVlcnknO1xuaW1wb3J0IHtjcmVhdGVDb250ZW50UXVlcnksIGNyZWF0ZVZpZXdRdWVyeX0gZnJvbSAnLi4vcXVlcnknO1xuaW1wb3J0IHtiaW5kUXVlcnlUb1NpZ25hbH0gZnJvbSAnLi4vcXVlcnlfcmVhY3RpdmUnO1xuaW1wb3J0IHtTaWduYWx9IGZyb20gJy4uL3JlYWN0aXZpdHkvYXBpJztcbmltcG9ydCB7Z2V0Q3VycmVudFF1ZXJ5SW5kZXgsIHNldEN1cnJlbnRRdWVyeUluZGV4fSBmcm9tICcuLi9zdGF0ZSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBjb250ZW50IHF1ZXJ5IGFuZCBiaW5kcyBpdCB0byBhIHNpZ25hbCBjcmVhdGVkIGJ5IGFuIGF1dGhvcmluZyBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gZGlyZWN0aXZlSW5kZXggQ3VycmVudCBkaXJlY3RpdmUgaW5kZXhcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBzaWduYWwgdG8gd2hpY2ggdGhlIHF1ZXJ5IHNob3VsZCBiZSBib3VuZFxuICogQHBhcmFtIHByZWRpY2F0ZSBUaGUgdHlwZSBmb3Igd2hpY2ggdGhlIHF1ZXJ5IHdpbGwgc2VhcmNoXG4gKiBAcGFyYW0gZmxhZ3MgRmxhZ3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBxdWVyeVxuICogQHBhcmFtIHJlYWQgV2hhdCB0byBzYXZlIGluIHRoZSBxdWVyeVxuICpcbiAqIEBjb2RlR2VuQXBpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtcm1Y29udGVudFF1ZXJ5U2lnbmFsPFQ+KFxuICBkaXJlY3RpdmVJbmRleDogbnVtYmVyLFxuICB0YXJnZXQ6IFNpZ25hbDxUPixcbiAgcHJlZGljYXRlOiBQcm92aWRlclRva2VuPHVua25vd24+IHwgc3RyaW5nW10sXG4gIGZsYWdzOiBRdWVyeUZsYWdzLFxuICByZWFkPzogYW55LFxuKTogdm9pZCB7XG4gIGJpbmRRdWVyeVRvU2lnbmFsKHRhcmdldCwgY3JlYXRlQ29udGVudFF1ZXJ5KGRpcmVjdGl2ZUluZGV4LCBwcmVkaWNhdGUsIGZsYWdzLCByZWFkKSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyB2aWV3IHF1ZXJ5IGJ5IGluaXRpYWxpemluZyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgYW5kIGJpbmRpbmcgYSBuZXcgcXVlcnkgdG8gdGhlXG4gKiB0YXJnZXQgc2lnbmFsLlxuICpcbiAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBzaWduYWwgdG8gYXNzaWduIHRoZSBxdWVyeSByZXN1bHRzIHRvLlxuICogQHBhcmFtIHByZWRpY2F0ZSBUaGUgdHlwZSBvciBsYWJlbCB0aGF0IHNob3VsZCBtYXRjaCBhIGdpdmVuIHF1ZXJ5XG4gKiBAcGFyYW0gZmxhZ3MgRmxhZ3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBxdWVyeVxuICogQHBhcmFtIHJlYWQgV2hhdCB0byBzYXZlIGluIHRoZSBxdWVyeVxuICpcbiAqIEBjb2RlR2VuQXBpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtcm1dmlld1F1ZXJ5U2lnbmFsKFxuICB0YXJnZXQ6IFNpZ25hbDx1bmtub3duPixcbiAgcHJlZGljYXRlOiBQcm92aWRlclRva2VuPHVua25vd24+IHwgc3RyaW5nW10sXG4gIGZsYWdzOiBRdWVyeUZsYWdzLFxuICByZWFkPzogUHJvdmlkZXJUb2tlbjx1bmtub3duPixcbik6IHZvaWQge1xuICBiaW5kUXVlcnlUb1NpZ25hbCh0YXJnZXQsIGNyZWF0ZVZpZXdRdWVyeShwcmVkaWNhdGUsIGZsYWdzLCByZWFkKSk7XG59XG5cbi8qKlxuICogQWR2YW5jZXMgdGhlIGN1cnJlbnQgcXVlcnkgaW5kZXggYnkgYSBzcGVjaWZpZWQgb2Zmc2V0LlxuICpcbiAqIEFkanVzdGluZyB0aGUgY3VycmVudCBxdWVyeSBpbmRleCBpcyBuZWNlc3NhcnkgaW4gY2FzZXMgd2hlcmUgYSBnaXZlbiBkaXJlY3RpdmUgaGFzIGEgbWl4IG9mXG4gKiB6b25lLWJhc2VkIGFuZCBzaWduYWwtYmFzZWQgcXVlcmllcy4gVGhlIHNpZ25hbC1iYXNlZCBxdWVyaWVzIGRvbid0IHJlcXVpcmUgdHJhY2tpbmcgb2YgdGhlXG4gKiBjdXJyZW50IGluZGV4ICh0aG9zZSBhcmUgcmVmcmVzaGVkIG9uIGRlbWFuZCBhbmQgbm90IGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uKSBzbyB0aGlzIGluc3RydWN0aW9uXG4gKiBpcyBvbmx5IG5lY2Vzc2FyeSBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eS5cbiAqXG4gKiBAcGFyYW0gaW5kZXggb2Zmc2V0IHRvIGFwcGx5IHRvIHRoZSBjdXJyZW50IHF1ZXJ5IGluZGV4IChkZWZhdWx0cyB0byAxKVxuICpcbiAqIEBjb2RlR2VuQXBpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiDJtcm1cXVlcnlBZHZhbmNlKGluZGV4T2Zmc2V0OiBudW1iZXIgPSAxKTogdm9pZCB7XG4gIHNldEN1cnJlbnRRdWVyeUluZGV4KGdldEN1cnJlbnRRdWVyeUluZGV4KCkgKyBpbmRleE9mZnNldCk7XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Google LLC All Rights Reserved.
|
|
4
4
|
*
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
-
* found in the LICENSE file at https://angular.
|
|
6
|
+
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
8
|
import { retrieveHydrationInfo } from '../../hydration/utils';
|
|
9
9
|
import { assertEqual, assertNotReactive } from '../../util/assert';
|
|
@@ -126,4 +126,4 @@ function renderChildComponents(hostLView, components) {
|
|
|
126
126
|
renderComponent(hostLView, components[i]);
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnN0cnVjdGlvbnMvcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNULFFBQVEsRUFHUixPQUFPLEVBQ1AsS0FBSyxHQUVOLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFDLHdCQUF3QixFQUFFLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVFLE9BQU8sRUFBQyxlQUFlLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFnQixFQUFFLGdCQUF3QjtJQUN4RSxTQUFTLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUM1RixNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RSxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXJELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxrRkFBa0Y7SUFDbEYsSUFBSSxTQUFTLEtBQUssSUFB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QW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7WUFBUyxDQUFDO1FBQ1QsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLGdDQUF3QixDQUFDO1FBQ3pDLFNBQVMsRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxvRUFBb0U7QUFDcEUsU0FBUyxxQkFBcUIsQ0FBQyxTQUFnQixFQUFFLFVBQW9CO0lBQ25FLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0MsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge3JldHJpZXZlSHlkcmF0aW9uSW5mb30gZnJvbSAnLi4vLi4vaHlkcmF0aW9uL3V0aWxzJztcbmltcG9ydCB7YXNzZXJ0RXF1YWwsIGFzc2VydE5vdFJlYWN0aXZlfSBmcm9tICcuLi8uLi91dGlsL2Fzc2VydCc7XG5pbXBvcnQge1JlbmRlckZsYWdzfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RlZmluaXRpb24nO1xuaW1wb3J0IHtcbiAgQ09OVEVYVCxcbiAgRkxBR1MsXG4gIEhPU1QsXG4gIEhZRFJBVElPTixcbiAgSU5KRUNUT1IsXG4gIExWaWV3LFxuICBMVmlld0ZsYWdzLFxuICBRVUVSSUVTLFxuICBUVklFVyxcbiAgVFZpZXcsXG59IGZyb20gJy4uL2ludGVyZmFjZXMvdmlldyc7XG5pbXBvcnQge2VudGVyVmlldywgbGVhdmVWaWV3fSBmcm9tICcuLi9zdGF0ZSc7XG5pbXBvcnQge2dldENvbXBvbmVudExWaWV3QnlJbmRleCwgaXNDcmVhdGlvbk1vZGV9IGZyb20gJy4uL3V0aWwvdmlld191dGlscyc7XG5cbmltcG9ydCB7ZXhlY3V0ZVRlbXBsYXRlLCBleGVjdXRlVmlld1F1ZXJ5Rm4sIHJlZnJlc2hDb250ZW50UXVlcmllc30gZnJvbSAnLi9zaGFyZWQnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ29tcG9uZW50KGhvc3RMVmlldzogTFZpZXcsIGNvbXBvbmVudEhvc3RJZHg6IG51bWJlcikge1xuICBuZ0Rldk1vZGUgJiYgYXNzZXJ0RXF1YWwoaXNDcmVhdGlvbk1vZGUoaG9zdExWaWV3KSwgdHJ1ZSwgJ1Nob3VsZCBiZSBydW4gaW4gY3JlYXRpb24gbW9kZScpO1xuICBjb25zdCBjb21wb25lbnRWaWV3ID0gZ2V0Q29tcG9uZW50TFZpZXdCeUluZGV4KGNvbXBvbmVudEhvc3RJZHgsIGhvc3RMVmlldyk7XG4gIGNvbnN0IGNvbXBvbmVudFRWaWV3ID0gY29tcG9uZW50Vmlld1tUVklFV107XG4gIHN5bmNWaWV3V2l0aEJsdWVwcmludChjb21wb25lbnRUVmlldywgY29tcG9uZW50Vmlldyk7XG5cbiAgY29uc3QgaG9zdFJOb2RlID0gY29tcG9uZW50Vmlld1tIT1NUXTtcbiAgLy8gUG9wdWxhdGUgYW4gTFZpZXcgd2l0aCBoeWRyYXRpb24gaW5mbyByZXRyaWV2ZWQgZnJvbSB0aGUgRE9NIHZpYSBUcmFuc2ZlclN0YXRlLlxuICBpZiAoaG9zdFJOb2RlICE9PSBudWxsICYmIGNvbXBvbmVudFZpZXdbSFlEUkFUSU9OXSA9PT0gbnVsbCkge1xuICAgIGNvbXBvbmVudFZpZXdbSFlEUkFUSU9OXSA9IHJldHJpZXZlSHlkcmF0aW9uSW5mbyhob3N0Uk5vZGUsIGNvbXBvbmVudFZpZXdbSU5KRUNUT1JdISk7XG4gIH1cblxuICByZW5kZXJWaWV3KGNvbXBvbmVudFRWaWV3LCBjb21wb25lbnRWaWV3LCBjb21wb25lbnRWaWV3W0NPTlRFWFRdKTtcbn1cblxuLyoqXG4gKiBTeW5jcyBhbiBMVmlldyBpbnN0YW5jZSB3aXRoIGl0cyBibHVlcHJpbnQgaWYgdGhleSBoYXZlIGdvdHRlbiBvdXQgb2Ygc3luYy5cbiAqXG4gKiBUeXBpY2FsbHksIGJsdWVwcmludHMgYW5kIHRoZWlyIHZpZXcgaW5zdGFuY2VzIHNob3VsZCBhbHdheXMgYmUgaW4gc3luYywgc28gdGhlIGxvb3AgaGVyZVxuICogd2lsbCBiZSBza2lwcGVkLiBIb3dldmVyLCBjb25zaWRlciB0aGlzIGNhc2Ugb2YgdHdvIGNvbXBvbmVudHMgc2lkZS1ieS1zaWRlOlxuICpcbiAqIEFwcCB0ZW1wbGF0ZTpcbiAqIGBgYFxuICogPGNvbXA+PC9jb21wPlxuICogPGNvbXA+PC9jb21wPlxuICogYGBgXG4gKlxuICogVGhlIGZvbGxvd2luZyB3aWxsIGhhcHBlbjpcbiAqIDEuIEFwcCB0ZW1wbGF0ZSBiZWdpbnMgcHJvY2Vzc2luZy5cbiAqIDIuIEZpcnN0IDxjb21wPiBpcyBtYXRjaGVkIGFzIGEgY29tcG9uZW50IGFuZCBpdHMgTFZpZXcgaXMgY3JlYXRlZC5cbiAqIDMuIFNlY29uZCA8Y29tcD4gaXMgbWF0Y2hlZCBhcyBhIGNvbXBvbmVudCBhbmQgaXRzIExWaWV3IGlzIGNyZWF0ZWQuXG4gKiA0LiBBcHAgdGVtcGxhdGUgY29tcGxldGVzIHByb2Nlc3NpbmcsIHNvIGl0J3MgdGltZSB0byBjaGVjayBjaGlsZCB0ZW1wbGF0ZXMuXG4gKiA1LiBGaXJzdCA8Y29tcD4gdGVtcGxhdGUgaXMgY2hlY2tlZC4gSXQgaGFzIGEgZGlyZWN0aXZlLCBzbyBpdHMgZGVmIGlzIHB1c2hlZCB0byBibHVlcHJpbnQuXG4gKiA2LiBTZWNvbmQgPGNvbXA+IHRlbXBsYXRlIGlzIGNoZWNrZWQuIEl0cyBibHVlcHJpbnQgaGFzIGJlZW4gdXBkYXRlZCBieSB0aGUgZmlyc3RcbiAqIDxjb21wPiB0ZW1wbGF0ZSwgYnV0IGl0cyBMVmlldyB3YXMgY3JlYXRlZCBiZWZvcmUgdGhpcyB1cGRhdGUsIHNvIGl0IGlzIG91dCBvZiBzeW5jLlxuICpcbiAqIE5vdGUgdGhhdCBlbWJlZGRlZCB2aWV3cyBpbnNpZGUgbmdGb3IgbG9vcHMgd2lsbCBuZXZlciBiZSBvdXQgb2Ygc3luYyBiZWNhdXNlIHRoZXNlIHZpZXdzXG4gKiBhcmUgcHJvY2Vzc2VkIGFzIHNvb24gYXMgdGhleSBhcmUgY3JlYXRlZC5cbiAqXG4gKiBAcGFyYW0gdFZpZXcgVGhlIGBUVmlld2AgdGhhdCBjb250YWlucyB0aGUgYmx1ZXByaW50IGZvciBzeW5jaW5nXG4gKiBAcGFyYW0gbFZpZXcgVGhlIHZpZXcgdG8gc3luY1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3luY1ZpZXdXaXRoQmx1ZXByaW50KHRWaWV3OiBUVmlldywgbFZpZXc6IExWaWV3KSB7XG4gIGZvciAobGV0IGkgPSBsVmlldy5sZW5ndGg7IGkgPCB0Vmlldy5ibHVlcHJpbnQubGVuZ3RoOyBpKyspIHtcbiAgICBsVmlldy5wdXNoKHRWaWV3LmJsdWVwcmludFtpXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgYSB2aWV3IGluIHRoZSBjcmVhdGlvbiBtb2RlLiBUaGlzIGluY2x1ZGVzIGEgbnVtYmVyIG9mIHN0ZXBzIGluIGEgc3BlY2lmaWMgb3JkZXI6XG4gKiAtIGNyZWF0aW5nIHZpZXcgcXVlcnkgZnVuY3Rpb25zIChpZiBhbnkpO1xuICogLSBleGVjdXRpbmcgYSB0ZW1wbGF0ZSBmdW5jdGlvbiBpbiB0aGUgY3JlYXRpb24gbW9kZTtcbiAqIC0gdXBkYXRpbmcgc3RhdGljIHF1ZXJpZXMgKGlmIGFueSk7XG4gKiAtIGNyZWF0aW5nIGNoaWxkIGNvbXBvbmVudHMgZGVmaW5lZCBpbiBhIGdpdmVuIHZpZXcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJWaWV3PFQ+KHRWaWV3OiBUVmlldywgbFZpZXc6IExWaWV3PFQ+LCBjb250ZXh0OiBUKTogdm9pZCB7XG4gIG5nRGV2TW9kZSAmJiBhc3NlcnRFcXVhbChpc0NyZWF0aW9uTW9kZShsVmlldyksIHRydWUsICdTaG91bGQgYmUgcnVuIGluIGNyZWF0aW9uIG1vZGUnKTtcbiAgbmdEZXZNb2RlICYmIGFzc2VydE5vdFJlYWN0aXZlKHJlbmRlclZpZXcubmFtZSk7XG4gIGVudGVyVmlldyhsVmlldyk7XG4gIHRyeSB7XG4gICAgY29uc3Qgdmlld1F1ZXJ5ID0gdFZpZXcudmlld1F1ZXJ5O1xuICAgIGlmICh2aWV3UXVlcnkgIT09IG51bGwpIHtcbiAgICAgIGV4ZWN1dGVWaWV3UXVlcnlGbjxUPihSZW5kZXJGbGFncy5DcmVhdGUsIHZpZXdRdWVyeSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLy8gRXhlY3V0ZSBhIHRlbXBsYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHZpZXcsIGlmIGl0IGV4aXN0cy4gQSB0ZW1wbGF0ZSBmdW5jdGlvbiBtaWdodCBub3QgYmVcbiAgICAvLyBkZWZpbmVkIGZvciB0aGUgcm9vdCBjb21wb25lbnQgdmlld3MuXG4gICAgY29uc3QgdGVtcGxhdGVGbiA9IHRWaWV3LnRlbXBsYXRlO1xuICAgIGlmICh0ZW1wbGF0ZUZuICE9PSBudWxsKSB7XG4gICAgICBleGVjdXRlVGVtcGxhdGU8VD4odFZpZXcsIGxWaWV3LCB0ZW1wbGF0ZUZuLCBSZW5kZXJGbGFncy5DcmVhdGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSBjaGlsZHJlbiBhcmUgcHJvY2Vzc2VkIHRvIHN1cHBvcnQgcmVjdXJzaXZlIGNvbXBvbmVudHMuXG4gICAgLy8gVGhpcyBtdXN0IGJlIHNldCB0byBmYWxzZSBpbW1lZGlhdGVseSBhZnRlciB0aGUgZmlyc3QgY3JlYXRpb24gcnVuIGJlY2F1c2UgaW4gYW5cbiAgICAvLyBuZ0ZvciBsb29wLCBhbGwgdGhlIHZpZXdzIHdpbGwgYmUgY3JlYXRlZCB0b2dldGhlciBiZWZvcmUgdXBkYXRlIG1vZGUgcnVucyBhbmQgdHVybnNcbiAgICAvLyBvZmYgZmlyc3RDcmVhdGVQYXNzLiBJZiB3ZSBkb24ndCBzZXQgaXQgaGVyZSwgaW5zdGFuY2VzIHdpbGwgcGVyZm9ybSBkaXJlY3RpdmVcbiAgICAvLyBtYXRjaGluZywgZXRjIGFnYWluIGFuZCBhZ2Fpbi5cbiAgICBpZiAodFZpZXcuZmlyc3RDcmVhdGVQYXNzKSB7XG4gICAgICB0Vmlldy5maXJzdENyZWF0ZVBhc3MgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBNYXJrIGFsbCBxdWVyaWVzIGFjdGl2ZSBpbiB0aGlzIHZpZXcgYXMgZGlydHkuIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBzaWduYWwtYmFzZWQgcXVlcmllcyB0b1xuICAgIC8vIGhhdmUgYSBjbGVhciBtYXJraW5nIHBvaW50IHdoZXJlIHdlIGNhbiByZWFkIHF1ZXJ5IHJlc3VsdHMgYXRvbWljYWxseSAoZm9yIGEgZ2l2ZW4gdmlldykuXG4gICAgbFZpZXdbUVVFUklFU10/LmZpbmlzaFZpZXdDcmVhdGlvbih0Vmlldyk7XG5cbiAgICAvLyBXZSByZXNvbHZlIGNvbnRlbnQgcXVlcmllcyBzcGVjaWZpY2FsbHkgbWFya2VkIGFzIGBzdGF0aWNgIGluIGNyZWF0aW9uIG1vZGUuIER5bmFtaWNcbiAgICAvLyBjb250ZW50IHF1ZXJpZXMgYXJlIHJlc29sdmVkIGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uIChpLmUuIHVwZGF0ZSBtb2RlKSwgYWZ0ZXIgZW1iZWRkZWRcbiAgICAvLyB2aWV3cyBhcmUgcmVmcmVzaGVkIChzZWUgYmxvY2sgYWJvdmUpLlxuICAgIGlmICh0Vmlldy5zdGF0aWNDb250ZW50UXVlcmllcykge1xuICAgICAgcmVmcmVzaENvbnRlbnRRdWVyaWVzKHRWaWV3LCBsVmlldyk7XG4gICAgfVxuXG4gICAgLy8gV2UgbXVzdCBtYXRlcmlhbGl6ZSBxdWVyeSByZXN1bHRzIGJlZm9yZSBjaGlsZCBjb21wb25lbnRzIGFyZSBwcm9jZXNzZWRcbiAgICAvLyBpbiBjYXNlIGEgY2hpbGQgY29tcG9uZW50IGhhcyBwcm9qZWN0ZWQgYSBjb250YWluZXIuIFRoZSBMQ29udGFpbmVyIG5lZWRzXG4gICAgLy8gdG8gZXhpc3Qgc28gdGhlIGVtYmVkZGVkIHZpZXdzIGFyZSBwcm9wZXJseSBhdHRhY2hlZCBieSB0aGUgY29udGFpbmVyLlxuICAgIGlmICh0Vmlldy5zdGF0aWNWaWV3UXVlcmllcykge1xuICAgICAgZXhlY3V0ZVZpZXdRdWVyeUZuPFQ+KFJlbmRlckZsYWdzLlVwZGF0ZSwgdFZpZXcudmlld1F1ZXJ5ISwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyIGNoaWxkIGNvbXBvbmVudCB2aWV3cy5cbiAgICBjb25zdCBjb21wb25lbnRzID0gdFZpZXcuY29tcG9uZW50cztcbiAgICBpZiAoY29tcG9uZW50cyAhPT0gbnVsbCkge1xuICAgICAgcmVuZGVyQ2hpbGRDb21wb25lbnRzKGxWaWV3LCBjb21wb25lbnRzKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IG1hbmFnZSB0byBnZXQgcGFzdCB0aGUgZmlyc3QgdGVtcGxhdGUgcGFzcyBkdWUgdG9cbiAgICAvLyBhbiBlcnJvciwgbWFyayB0aGUgdmlldyBhcyBjb3JydXB0ZWQgc28gd2UgY2FuIHRyeSB0byByZWNvdmVyLlxuICAgIGlmICh0Vmlldy5maXJzdENyZWF0ZVBhc3MpIHtcbiAgICAgIHRWaWV3LmluY29tcGxldGVGaXJzdFBhc3MgPSB0cnVlO1xuICAgICAgdFZpZXcuZmlyc3RDcmVhdGVQYXNzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH0gZmluYWxseSB7XG4gICAgbFZpZXdbRkxBR1NdICY9IH5MVmlld0ZsYWdzLkNyZWF0aW9uTW9kZTtcbiAgICBsZWF2ZVZpZXcoKTtcbiAgfVxufVxuXG4vKiogUmVuZGVycyBjaGlsZCBjb21wb25lbnRzIGluIHRoZSBjdXJyZW50IHZpZXcgKGNyZWF0aW9uIG1vZGUpLiAqL1xuZnVuY3Rpb24gcmVuZGVyQ2hpbGRDb21wb25lbnRzKGhvc3RMVmlldzogTFZpZXcsIGNvbXBvbmVudHM6IG51bWJlcltdKTogdm9pZCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHJlbmRlckNvbXBvbmVudChob3N0TFZpZXcsIGNvbXBvbmVudHNbaV0pO1xuICB9XG59XG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcmVuZGVyMy9pbnN0cnVjdGlvbnMvcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxJQUFJLEVBQ0osU0FBUyxFQUNULFFBQVEsRUFHUixPQUFPLEVBQ1AsS0FBSyxHQUVOLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDOUMsT0FBTyxFQUFDLHdCQUF3QixFQUFFLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVFLE9BQU8sRUFBQyxlQUFlLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFcEYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFnQixFQUFFLGdCQUF3QjtJQUN4RSxTQUFTLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUM1RixNQUFNLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1RSxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRXJELE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxrRkFBa0Y7SUFDbEYsSUFBSSxTQUFTLEtBQUssSUFB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QW1CLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7WUFBUyxDQUFDO1FBQ1QsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLGdDQUF3QixDQUFDO1FBQ3pDLFNBQVMsRUFBRSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRCxvRUFBb0U7QUFDcEUsU0FBUyxxQkFBcUIsQ0FBQyxTQUFnQixFQUFFLFVBQW9CO0lBQ25FLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0MsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtyZXRyaWV2ZUh5ZHJhdGlvbkluZm99IGZyb20gJy4uLy4uL2h5ZHJhdGlvbi91dGlscyc7XG5pbXBvcnQge2Fzc2VydEVxdWFsLCBhc3NlcnROb3RSZWFjdGl2ZX0gZnJvbSAnLi4vLi4vdXRpbC9hc3NlcnQnO1xuaW1wb3J0IHtSZW5kZXJGbGFnc30gZnJvbSAnLi4vaW50ZXJmYWNlcy9kZWZpbml0aW9uJztcbmltcG9ydCB7XG4gIENPTlRFWFQsXG4gIEZMQUdTLFxuICBIT1NULFxuICBIWURSQVRJT04sXG4gIElOSkVDVE9SLFxuICBMVmlldyxcbiAgTFZpZXdGbGFncyxcbiAgUVVFUklFUyxcbiAgVFZJRVcsXG4gIFRWaWV3LFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL3ZpZXcnO1xuaW1wb3J0IHtlbnRlclZpZXcsIGxlYXZlVmlld30gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHtnZXRDb21wb25lbnRMVmlld0J5SW5kZXgsIGlzQ3JlYXRpb25Nb2RlfSBmcm9tICcuLi91dGlsL3ZpZXdfdXRpbHMnO1xuXG5pbXBvcnQge2V4ZWN1dGVUZW1wbGF0ZSwgZXhlY3V0ZVZpZXdRdWVyeUZuLCByZWZyZXNoQ29udGVudFF1ZXJpZXN9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlckNvbXBvbmVudChob3N0TFZpZXc6IExWaWV3LCBjb21wb25lbnRIb3N0SWR4OiBudW1iZXIpIHtcbiAgbmdEZXZNb2RlICYmIGFzc2VydEVxdWFsKGlzQ3JlYXRpb25Nb2RlKGhvc3RMVmlldyksIHRydWUsICdTaG91bGQgYmUgcnVuIGluIGNyZWF0aW9uIG1vZGUnKTtcbiAgY29uc3QgY29tcG9uZW50VmlldyA9IGdldENvbXBvbmVudExWaWV3QnlJbmRleChjb21wb25lbnRIb3N0SWR4LCBob3N0TFZpZXcpO1xuICBjb25zdCBjb21wb25lbnRUVmlldyA9IGNvbXBvbmVudFZpZXdbVFZJRVddO1xuICBzeW5jVmlld1dpdGhCbHVlcHJpbnQoY29tcG9uZW50VFZpZXcsIGNvbXBvbmVudFZpZXcpO1xuXG4gIGNvbnN0IGhvc3RSTm9kZSA9IGNvbXBvbmVudFZpZXdbSE9TVF07XG4gIC8vIFBvcHVsYXRlIGFuIExWaWV3IHdpdGggaHlkcmF0aW9uIGluZm8gcmV0cmlldmVkIGZyb20gdGhlIERPTSB2aWEgVHJhbnNmZXJTdGF0ZS5cbiAgaWYgKGhvc3RSTm9kZSAhPT0gbnVsbCAmJiBjb21wb25lbnRWaWV3W0hZRFJBVElPTl0gPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRWaWV3W0hZRFJBVElPTl0gPSByZXRyaWV2ZUh5ZHJhdGlvbkluZm8oaG9zdFJOb2RlLCBjb21wb25lbnRWaWV3W0lOSkVDVE9SXSEpO1xuICB9XG5cbiAgcmVuZGVyVmlldyhjb21wb25lbnRUVmlldywgY29tcG9uZW50VmlldywgY29tcG9uZW50Vmlld1tDT05URVhUXSk7XG59XG5cbi8qKlxuICogU3luY3MgYW4gTFZpZXcgaW5zdGFuY2Ugd2l0aCBpdHMgYmx1ZXByaW50IGlmIHRoZXkgaGF2ZSBnb3R0ZW4gb3V0IG9mIHN5bmMuXG4gKlxuICogVHlwaWNhbGx5LCBibHVlcHJpbnRzIGFuZCB0aGVpciB2aWV3IGluc3RhbmNlcyBzaG91bGQgYWx3YXlzIGJlIGluIHN5bmMsIHNvIHRoZSBsb29wIGhlcmVcbiAqIHdpbGwgYmUgc2tpcHBlZC4gSG93ZXZlciwgY29uc2lkZXIgdGhpcyBjYXNlIG9mIHR3byBjb21wb25lbnRzIHNpZGUtYnktc2lkZTpcbiAqXG4gKiBBcHAgdGVtcGxhdGU6XG4gKiBgYGBcbiAqIDxjb21wPjwvY29tcD5cbiAqIDxjb21wPjwvY29tcD5cbiAqIGBgYFxuICpcbiAqIFRoZSBmb2xsb3dpbmcgd2lsbCBoYXBwZW46XG4gKiAxLiBBcHAgdGVtcGxhdGUgYmVnaW5zIHByb2Nlc3NpbmcuXG4gKiAyLiBGaXJzdCA8Y29tcD4gaXMgbWF0Y2hlZCBhcyBhIGNvbXBvbmVudCBhbmQgaXRzIExWaWV3IGlzIGNyZWF0ZWQuXG4gKiAzLiBTZWNvbmQgPGNvbXA+IGlzIG1hdGNoZWQgYXMgYSBjb21wb25lbnQgYW5kIGl0cyBMVmlldyBpcyBjcmVhdGVkLlxuICogNC4gQXBwIHRlbXBsYXRlIGNvbXBsZXRlcyBwcm9jZXNzaW5nLCBzbyBpdCdzIHRpbWUgdG8gY2hlY2sgY2hpbGQgdGVtcGxhdGVzLlxuICogNS4gRmlyc3QgPGNvbXA+IHRlbXBsYXRlIGlzIGNoZWNrZWQuIEl0IGhhcyBhIGRpcmVjdGl2ZSwgc28gaXRzIGRlZiBpcyBwdXNoZWQgdG8gYmx1ZXByaW50LlxuICogNi4gU2Vjb25kIDxjb21wPiB0ZW1wbGF0ZSBpcyBjaGVja2VkLiBJdHMgYmx1ZXByaW50IGhhcyBiZWVuIHVwZGF0ZWQgYnkgdGhlIGZpcnN0XG4gKiA8Y29tcD4gdGVtcGxhdGUsIGJ1dCBpdHMgTFZpZXcgd2FzIGNyZWF0ZWQgYmVmb3JlIHRoaXMgdXBkYXRlLCBzbyBpdCBpcyBvdXQgb2Ygc3luYy5cbiAqXG4gKiBOb3RlIHRoYXQgZW1iZWRkZWQgdmlld3MgaW5zaWRlIG5nRm9yIGxvb3BzIHdpbGwgbmV2ZXIgYmUgb3V0IG9mIHN5bmMgYmVjYXVzZSB0aGVzZSB2aWV3c1xuICogYXJlIHByb2Nlc3NlZCBhcyBzb29uIGFzIHRoZXkgYXJlIGNyZWF0ZWQuXG4gKlxuICogQHBhcmFtIHRWaWV3IFRoZSBgVFZpZXdgIHRoYXQgY29udGFpbnMgdGhlIGJsdWVwcmludCBmb3Igc3luY2luZ1xuICogQHBhcmFtIGxWaWV3IFRoZSB2aWV3IHRvIHN5bmNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNWaWV3V2l0aEJsdWVwcmludCh0VmlldzogVFZpZXcsIGxWaWV3OiBMVmlldykge1xuICBmb3IgKGxldCBpID0gbFZpZXcubGVuZ3RoOyBpIDwgdFZpZXcuYmx1ZXByaW50Lmxlbmd0aDsgaSsrKSB7XG4gICAgbFZpZXcucHVzaCh0Vmlldy5ibHVlcHJpbnRbaV0pO1xuICB9XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIGEgdmlldyBpbiB0aGUgY3JlYXRpb24gbW9kZS4gVGhpcyBpbmNsdWRlcyBhIG51bWJlciBvZiBzdGVwcyBpbiBhIHNwZWNpZmljIG9yZGVyOlxuICogLSBjcmVhdGluZyB2aWV3IHF1ZXJ5IGZ1bmN0aW9ucyAoaWYgYW55KTtcbiAqIC0gZXhlY3V0aW5nIGEgdGVtcGxhdGUgZnVuY3Rpb24gaW4gdGhlIGNyZWF0aW9uIG1vZGU7XG4gKiAtIHVwZGF0aW5nIHN0YXRpYyBxdWVyaWVzIChpZiBhbnkpO1xuICogLSBjcmVhdGluZyBjaGlsZCBjb21wb25lbnRzIGRlZmluZWQgaW4gYSBnaXZlbiB2aWV3LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyVmlldzxUPih0VmlldzogVFZpZXcsIGxWaWV3OiBMVmlldzxUPiwgY29udGV4dDogVCk6IHZvaWQge1xuICBuZ0Rldk1vZGUgJiYgYXNzZXJ0RXF1YWwoaXNDcmVhdGlvbk1vZGUobFZpZXcpLCB0cnVlLCAnU2hvdWxkIGJlIHJ1biBpbiBjcmVhdGlvbiBtb2RlJyk7XG4gIG5nRGV2TW9kZSAmJiBhc3NlcnROb3RSZWFjdGl2ZShyZW5kZXJWaWV3Lm5hbWUpO1xuICBlbnRlclZpZXcobFZpZXcpO1xuICB0cnkge1xuICAgIGNvbnN0IHZpZXdRdWVyeSA9IHRWaWV3LnZpZXdRdWVyeTtcbiAgICBpZiAodmlld1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICBleGVjdXRlVmlld1F1ZXJ5Rm48VD4oUmVuZGVyRmxhZ3MuQ3JlYXRlLCB2aWV3UXVlcnksIGNvbnRleHQpO1xuICAgIH1cblxuICAgIC8vIEV4ZWN1dGUgYSB0ZW1wbGF0ZSBhc3NvY2lhdGVkIHdpdGggdGhpcyB2aWV3LCBpZiBpdCBleGlzdHMuIEEgdGVtcGxhdGUgZnVuY3Rpb24gbWlnaHQgbm90IGJlXG4gICAgLy8gZGVmaW5lZCBmb3IgdGhlIHJvb3QgY29tcG9uZW50IHZpZXdzLlxuICAgIGNvbnN0IHRlbXBsYXRlRm4gPSB0Vmlldy50ZW1wbGF0ZTtcbiAgICBpZiAodGVtcGxhdGVGbiAhPT0gbnVsbCkge1xuICAgICAgZXhlY3V0ZVRlbXBsYXRlPFQ+KHRWaWV3LCBsVmlldywgdGVtcGxhdGVGbiwgUmVuZGVyRmxhZ3MuQ3JlYXRlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgY2hpbGRyZW4gYXJlIHByb2Nlc3NlZCB0byBzdXBwb3J0IHJlY3Vyc2l2ZSBjb21wb25lbnRzLlxuICAgIC8vIFRoaXMgbXVzdCBiZSBzZXQgdG8gZmFsc2UgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGZpcnN0IGNyZWF0aW9uIHJ1biBiZWNhdXNlIGluIGFuXG4gICAgLy8gbmdGb3IgbG9vcCwgYWxsIHRoZSB2aWV3cyB3aWxsIGJlIGNyZWF0ZWQgdG9nZXRoZXIgYmVmb3JlIHVwZGF0ZSBtb2RlIHJ1bnMgYW5kIHR1cm5zXG4gICAgLy8gb2ZmIGZpcnN0Q3JlYXRlUGFzcy4gSWYgd2UgZG9uJ3Qgc2V0IGl0IGhlcmUsIGluc3RhbmNlcyB3aWxsIHBlcmZvcm0gZGlyZWN0aXZlXG4gICAgLy8gbWF0Y2hpbmcsIGV0YyBhZ2FpbiBhbmQgYWdhaW4uXG4gICAgaWYgKHRWaWV3LmZpcnN0Q3JlYXRlUGFzcykge1xuICAgICAgdFZpZXcuZmlyc3RDcmVhdGVQYXNzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gTWFyayBhbGwgcXVlcmllcyBhY3RpdmUgaW4gdGhpcyB2aWV3IGFzIGRpcnR5LiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3Igc2lnbmFsLWJhc2VkIHF1ZXJpZXMgdG9cbiAgICAvLyBoYXZlIGEgY2xlYXIgbWFya2luZyBwb2ludCB3aGVyZSB3ZSBjYW4gcmVhZCBxdWVyeSByZXN1bHRzIGF0b21pY2FsbHkgKGZvciBhIGdpdmVuIHZpZXcpLlxuICAgIGxWaWV3W1FVRVJJRVNdPy5maW5pc2hWaWV3Q3JlYXRpb24odFZpZXcpO1xuXG4gICAgLy8gV2UgcmVzb2x2ZSBjb250ZW50IHF1ZXJpZXMgc3BlY2lmaWNhbGx5IG1hcmtlZCBhcyBgc3RhdGljYCBpbiBjcmVhdGlvbiBtb2RlLiBEeW5hbWljXG4gICAgLy8gY29udGVudCBxdWVyaWVzIGFyZSByZXNvbHZlZCBkdXJpbmcgY2hhbmdlIGRldGVjdGlvbiAoaS5lLiB1cGRhdGUgbW9kZSksIGFmdGVyIGVtYmVkZGVkXG4gICAgLy8gdmlld3MgYXJlIHJlZnJlc2hlZCAoc2VlIGJsb2NrIGFib3ZlKS5cbiAgICBpZiAodFZpZXcuc3RhdGljQ29udGVudFF1ZXJpZXMpIHtcbiAgICAgIHJlZnJlc2hDb250ZW50UXVlcmllcyh0VmlldywgbFZpZXcpO1xuICAgIH1cblxuICAgIC8vIFdlIG11c3QgbWF0ZXJpYWxpemUgcXVlcnkgcmVzdWx0cyBiZWZvcmUgY2hpbGQgY29tcG9uZW50cyBhcmUgcHJvY2Vzc2VkXG4gICAgLy8gaW4gY2FzZSBhIGNoaWxkIGNvbXBvbmVudCBoYXMgcHJvamVjdGVkIGEgY29udGFpbmVyLiBUaGUgTENvbnRhaW5lciBuZWVkc1xuICAgIC8vIHRvIGV4aXN0IHNvIHRoZSBlbWJlZGRlZCB2aWV3cyBhcmUgcHJvcGVybHkgYXR0YWNoZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAgICBpZiAodFZpZXcuc3RhdGljVmlld1F1ZXJpZXMpIHtcbiAgICAgIGV4ZWN1dGVWaWV3UXVlcnlGbjxUPihSZW5kZXJGbGFncy5VcGRhdGUsIHRWaWV3LnZpZXdRdWVyeSEsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIC8vIFJlbmRlciBjaGlsZCBjb21wb25lbnQgdmlld3MuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHRWaWV3LmNvbXBvbmVudHM7XG4gICAgaWYgKGNvbXBvbmVudHMgIT09IG51bGwpIHtcbiAgICAgIHJlbmRlckNoaWxkQ29tcG9uZW50cyhsVmlldywgY29tcG9uZW50cyk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIElmIHdlIGRpZG4ndCBtYW5hZ2UgdG8gZ2V0IHBhc3QgdGhlIGZpcnN0IHRlbXBsYXRlIHBhc3MgZHVlIHRvXG4gICAgLy8gYW4gZXJyb3IsIG1hcmsgdGhlIHZpZXcgYXMgY29ycnVwdGVkIHNvIHdlIGNhbiB0cnkgdG8gcmVjb3Zlci5cbiAgICBpZiAodFZpZXcuZmlyc3RDcmVhdGVQYXNzKSB7XG4gICAgICB0Vmlldy5pbmNvbXBsZXRlRmlyc3RQYXNzID0gdHJ1ZTtcbiAgICAgIHRWaWV3LmZpcnN0Q3JlYXRlUGFzcyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9IGZpbmFsbHkge1xuICAgIGxWaWV3W0ZMQUdTXSAmPSB+TFZpZXdGbGFncy5DcmVhdGlvbk1vZGU7XG4gICAgbGVhdmVWaWV3KCk7XG4gIH1cbn1cblxuLyoqIFJlbmRlcnMgY2hpbGQgY29tcG9uZW50cyBpbiB0aGUgY3VycmVudCB2aWV3IChjcmVhdGlvbiBtb2RlKS4gKi9cbmZ1bmN0aW9uIHJlbmRlckNoaWxkQ29tcG9uZW50cyhob3N0TFZpZXc6IExWaWV3LCBjb21wb25lbnRzOiBudW1iZXJbXSk6IHZvaWQge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICByZW5kZXJDb21wb25lbnQoaG9zdExWaWV3LCBjb21wb25lbnRzW2ldKTtcbiAgfVxufVxuIl19
|