{"version":3,"sources":["../../../src/internal/operators/repeat.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","../../../src/internal/operators/concatAll.ts","./node_modules/qrcode/lib/browser.js","../../../src/internal/operators/endWith.ts","../../../projects/angularx-qrcode/src/lib/angularx-qrcode.component.ts","../../../projects/angularx-qrcode/src/lib/angularx-qrcode.module.ts","../../../projects/angularx-qrcode/src/public-api.ts","../../../projects/angularx-qrcode/src/angularx-qrcode.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","./node_modules/qrcode/lib/core/alignment-pattern.js","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../src/internal/operators/auditTime.ts","./node_modules/qrcode/lib/core/numeric-data.js","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","./node_modules/qrcode/node_modules/isarray/index.js","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","./node_modules/qrcode/lib/core/byte-data.js","./node_modules/qrcode/lib/core/regex.js","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/dijkstrajs/dijkstra.js","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","./node_modules/qrcode/lib/core/version-check.js","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","./node_modules/qrcode/lib/core/polynomial.js","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","./node_modules/qrcode/lib/core/kanji-data.js","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","./node_modules/qrcode/lib/core/error-correction-code.js","../../../src/internal/observable/defer.ts","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","./node_modules/qrcode/lib/renderer/svg-tag.js","../../../src/internal/util/isInteropObservable.ts","./node_modules/qrcode/lib/renderer/canvas.js","../../../src/internal/observable/using.ts","../../../src/internal/observable/bindCallback.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/qrcode/lib/renderer/utils.js","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","./node_modules/qrcode/lib/core/bit-matrix.js","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","./node_modules/qrcode/lib/utils/typedarray-buffer.js","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../src/internal/Scheduler.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","./node_modules/qrcode/lib/can-promise.js","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","./node_modules/qrcode/lib/core/galois-field.js","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","../../../src/internal/operators/materialize.ts","./node_modules/qrcode/lib/core/utils.js","./node_modules/qrcode/lib/core/bit-buffer.js","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","./node_modules/qrcode/lib/core/mask-pattern.js","./node_modules/qrcode/lib/core/error-correction-level.js","../../../src/internal/operators/concat.ts","../../../src/internal/operators/combineLatest.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","../../../src/internal/observable/pairs.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../src/internal/observable/combineLatest.ts","./node_modules/qrcode/lib/core/reed-solomon-encoder.js","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","../../src/internal/ReplaySubject.ts","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","./node_modules/qrcode/lib/core/finder-pattern.js","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","./node_modules/qrcode/lib/core/format-info.js","../../../src/internal/operators/windowCount.ts","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","../../../src/internal/util/isFunction.ts","../../../src/internal/operators/finalize.ts","./node_modules/qrcode/lib/core/alphanumeric-data.js","../../../src/internal/util/subscribeToArray.ts","../../../src/internal/operators/multicast.ts","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","./node_modules/qrcode/lib/core/qrcode.js","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/operators/timeoutWith.ts","../../../src/internal/operators/timeout.ts","../../../src/internal/operators/subscribeOn.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","../../../src/internal/operators/audit.ts","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/qrcode/lib/core/mode.js","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/qrcode/lib/core/segments.js","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","./node_modules/qrcode/lib/core/version.js","../../../src/internal/operators/throttle.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["canPromise","require","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","slice","call","arguments","argsNum","length","isLastArgCb","Error","undefined","getContext","Promise","resolve","reject","data","create","e","exports","toCanvas","bind","render","toDataURL","renderToDataURL","toString","_","QRCode.toDataURL","QRCode.toCanvas","QRCode.toString","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","i","push","reverse","getPositions","coords","pos","posLength","j","TagContentType","splitNsName","elementName","colonIndex","indexOf","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","forEach","name","toLowerCase","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","attrName","attrValue","result","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","createAttribute","attributeName","createContentChildren","Object","assign","first","isViewQuery","descendants","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalent","len","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","MessagePiece","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","expressions","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","_c","_d","partIndex","placeholderName","messagePart","escapeSlashes","str","replace","escapeStartingColon","escapeColons","escapeForMessagePart","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","all","syncAsyncValues","some","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","fromCharCode","stringify","overriddenName","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","arg","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","template","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","module","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","resolveWindow","resolveDocument","resolveBody","defineComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","queryRefresh","viewQuery","staticViewQuery","staticContentQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","ngJitMode","jitFlagNotDefined","jitFlagUndefinedOrTrue","wrapReference","wrapped","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","file","offset","line","col","delta","source","content","ch","priorLine","lastIndexOf","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","start","end","details","ParseErrorLevel","ParseError","span","level","ERROR","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","sourceUrl","Text","visitText","BoundText","visitBoundText","TextAttribute","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","visitBoundAttribute","BoundEvent","handler","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","sources","startLine","startCol","endLine","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","a","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","stringToWords32","Endian","Big","w","b","d","h0","h1","h2","h3","h4","rol32","fkVal","fk","temp","add32","byteStringToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","byteStringToDecString","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","carry","l","h","count","num","endian","byteAt","word","word32ToByteString","hex","decimal","toThePower","addBigInt","numberTimesBigInt","x","y","sum","max","tmpSum","product","bToThePower","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","nextId","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","test","pop","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","noop","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","VERSION","JS_B64_PREFIX","SourceMapGenerator","sourcesContent","lines","lastCol0","hasMappings","col0","sourceLine0","sourceCol0","currentLine","sourcesIndex","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","isNaN","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","clazz","sourceLines","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","lineIdx","spans","spanIdx","sourceLine","sourceCol","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","fnBody","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","keySpan","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","guardedExpression","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_convertColonRule","_cssColonHostRe","_colonHostPartReplacer","_cssColonHostContextRe","_colonHostContextPartReplacer","regExp","partReplacer","_polyfillHostNoCombinator","suffix","_polyfillHost","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","keep","_content","pseudo","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","range","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","tokensBeforeTagOpen","innerStart","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","TEXT","contentTokenType","_consumeRawTextWithTagClose","textToken","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","cloned","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","srcSpan","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","one","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","stringSpans","expressionsSpans","offsets","TemplateBindingParseResult","defaultInterpolateRegExp","_createInterpolateRegExp","_getInterpolateRegExp","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionText","expressionSpans","atInterpolation","extendLastString","interpStart","interpEnd","fullStart","exprStart","exprEnd","fullEnd","_commentStart","outerQuote","nextChar","_findInterpolationErrorColumn","partInErrIdx","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","currentEndIndex","serial","inputIndex","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","parseExpression","expectIdentifierOrKeyword","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","resultStart","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","elements","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","atEOF","curToken","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","IDENT_BANANA_BOX_IDX$1","IDENT_PROPERTY_IDX$1","IDENT_EVENT_IDX$1","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","parseVariable","parseReference","addEvents","parseAssignmentEvent","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","PROJECTION","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","endsWith","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","sDelimiter","eDelimiter","_extractPlaceholderName","stringSpan","getOffsetSourceSpan","expressionSpan","lastStringIdx","_CUSTOM_PH_EXP","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","fnArgs","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","i18nAttrs","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","i18nStaticAttrs","staticAttrs","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","getAttributeNameLiterals","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveTypeParams","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesExpr","wrapDirectivesAndPipesInClosure","pipesExpr","styleValues","compileStyles","stringArrayAsType","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","convertAttributesToExpressions","createStatements","tempAllocator","queryInstruction","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","err","getDefaultComponentElementName","jitExpressionSourceMap","def","preStatements","evaluateStatements","convertToR3QueryMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","piece","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","I18nError","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","mod","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","guard","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcStaticDynamicQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","Mode","NumericData","NUMERIC","getBitsLength","getLength","bitBuffer","group","put","remainingNum","Buffer","ByteData","BYTE","numeric","alphanumeric","kanji","byte","KANJI","BYTE_KANJI","ALPHANUMERIC","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","testKanji","testNumeric","testAlphanumeric","dijkstra","single_source_shortest_paths","graph","predecessors","costs","open","PriorityQueue","make","closest","u","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","cost","extract_shortest_path_from_predecessor_list","predecessor","find_path","T","queue","sorter","default_sorter","isValid","GF","mul","p1","p2","coeff","fill","divident","divisor","generateECPolynomial","degree","poly","Utils","KanjiData","toSJIS","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","getColorAttrib","color","attrib","alpha","toFixed","svgCmd","cmd","qrToPath","margin","newRow","row","qrData","getOptions","qrcodesize","bg","light","dark","viewBox","width","svgTag","clearCanvas","clearRect","height","getCanvasElement","document","createElement","canvasEl","getImageWidth","image","createImageData","qrToImageData","putImageData","rendererOpts","quality","hex2rgba","hexCode","hexValue","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","BitMatrix","reservedBit","reserved","xor","isReserved","typedArraySupport","Uint8Array","foo","TYPED_ARRAY_SUPPORT","K_MAX_LENGTH","allocUnsafe","Symbol","species","checked","RangeError","isnan","createBuffer","that","buf","fromString","string","byteLength","actual","fromArrayLike","fromArrayBuffer","byteOffset","fromObject","isBuffer","copy","ArrayBuffer","TypeError","utf8ToBytes","Infinity","leadSurrogate","bytes","isView","blitBuffer","dst","utf8Write","isFinite","remaining","newBuf","subarray","sliceLen","targetStart","_isBuffer","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","EXP_TABLE","LOG_TABLE","alloc","initTables","log","toSJISFunction","CODEWORDS_COUNT","getSymbolTotalCodewords","getBCHDigit","setToSJISFunction","isKanjiModeEnabled","BitBuffer","bufIndex","putBit","getLengthInBits","bit","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","N1","N2","N3","N4","mask","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","getMaskAt","maskPattern","applyMask","getBestMask","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","lcStr","noSideEffects","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","ɵ0","Inject","Optional","Self","SkipSelf","Host","ɵ1","InjectFlags","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","NG_PROV_DEF_FALLBACK","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ɵprovFallback","ngInjectableDef","ngInjectorDef","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","isForwardRef","__globalThis","globalThis","getCompilerFacade","globalNg","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","ngDevModeResetPerfCounters","locationString","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","ngDevMode","assertNumber","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","InjectionToken","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$1","_currentInjector","setCurrentInjector","injector","former","_injectImplementation","setInjectImplementation","impl","assertInjectImplementationNot","injectInjectorOnly","injectRootLimpMode","ɵɵinject","ɵɵinvalidFactoryDep","notFoundValue","NullInjector","catchInjectorError","injectorErrorName","tokenPath","formatError","angularCoreDiEnv","typeAny","addAllToArray","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","ViewEncapsulation$1","EMPTY_OBJ","_renderCompCount","ɵɵdefineComponent","componentDefinition","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","onDestroy","ngOnDestroy","getFactoryDef","throwNotFound","hasFactoryDef","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR$1","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","TViewTypeAsString","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","assertTNodeForTView","tView_","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","assertIndexInVarsRange","i18nStartIndex","assertIndexInI18nRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertNodeInjector","injectorIndex","renderStringify","stringifyForError","ɵ0$2","requestAnimationFrame","setTimeout","defaultScheduler","ɵɵresolveWindow","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwCyclicDependencyError","depPath","throwMultipleComponentError","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwErrorIfNoChangesMode","creationMode","oldValue","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","tData","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0$3","hostElement","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","getBindingRoot","bindingRootIndex","getBindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","enterDI","newView","newLFrame","allocLFrame","enterView","selectedIndex","firstChild","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","TNodeTypeAsString","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertNodeType","assertNodeOfPossibleTypes","found","assertNodeNotOfTypes","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttribute","setAttributeNS","setProperty","isNameOnlyAttributeMarker","mergeHostAttrs","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","BLOOM_SIZE","BLOOM_MASK","nextNgElementId","bloomAdd","bloomBit","b7","b6","b5","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentLView","parentData","footer","declarationViewOffset","parentTNode","lViewCursor","tViewType","declTNode","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","getOrCreateInjectable","bloomHash","bloomHashBitOrFactory","NodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","moduleInjector","previousInjectImplementation","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","_devMode","_runModeLocked","isDevMode","enableProdMode","getInertBodyHelper","defaultDoc","isDOMParserAvailable","DOMParserHelper","InertDocumentHelper","DOMParser","parseFromString","removeChild","inertDocument","implementation","createHTMLDocument","inertHtml","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","traverseContent","startElement","TEXT_NODE","endElement","checkClobberedElement","parentNode","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","createNamedArrayType","FunctionConstructor","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","unusedValueExportToPlacateAjd$5","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","ɵɵadvance","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","nameSuffix","embeddedArray","TViewConstructor","expandoInstructions","staticViewQueries","staticContentQueries","cleanup","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","directiveStylingLast","mergedAttrs","initialInputs","tViews","projectionNext","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","indexWithinInitPhase","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","readLViewValue","ɵ0$4","_CLEAN_PROMISE","setHostBindingsByExecutingExpandoInstructions","currentElementIndex","providerCount","hostCtx","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","elementCreate","namespace","createElementNS","createLView","tHostNode","rendererFactory","getOrCreateTNode","adjustedIndex","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","lCleanup","getLCleanup","getTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","initializeInputAndOutputAliases","defs","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","generateExpandoInstructionBlock","baseResolveDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","totalDirectiveHostVars","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","addHostBindingsToExpandoInstructions","growHostVarsSpace","cacheMatchingLocalNames","expando","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","directiveCount","providerStartIndex","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedViews","movedLView","insertionLContainer","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","lViewOrLContainer","markViewDirty","scheduleTick","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","unusedValueToPlacateAjd$1","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","removeListeners","destroy","tCleanup","idxOrTargetGetter","useCaptureOrSubIdx","removeEventListener","unsubscribe","toCall","getRenderParent","isIcuCase","Native","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getNativeAnchorNode","childEl","childTNode","renderParent","anchorNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","componentHost","firstProjectedTNode","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","isProjection","rawSlotValue","applyProjectionRecursive","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isProcedural","removeClass","classList","remove","addClass","removeStyle","removeProperty","setStyle","writeDirectStyle","writeDirectClass","ViewRef","_cdRefInjectingView","_appRef","_viewContainerRef","detach","vcRef","appRef","collectNativeNodes","RootViewRef","_view","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","injectElementRef","ElementRefToken","createElementRef","R3ElementRef","R3TemplateRef","injectTemplateRef","TemplateRefToken","createTemplateRef","_declarationView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","R3ViewContainerRef","injectViewContainerRef","ViewContainerRefToken","previousTNode","createContainerRef","_lContainer","_hostTNode","_hostView","templateRef","viewRef","insert","projectableNodes","ngModuleRef","contextInjector","parentInjector","componentRef","allocateContainerIfNeeded","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","newIndex","viewRefsArr","detachedView","wasDetached","commentNode","createComment","parentOfHostNative","injectChangeDetectorRef","createViewRef","isComponentView","hostComponentView","getOrCreateRenderer2","injectRenderer2","nodeAtIndex","SWITCH_CHANGE_DETECTOR_REF_FACTORY","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","ɵ0$5","isType","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","propDecorators","ownPropMetadata","_ownPropMetadata","functionBody","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","srcMeta","ngFactoryDef","compileFactory","ɵ0$6","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$7","USE_VALUE$2","EMPTY_ARRAY$1","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$8","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","NULL","IDENT","ɵ0$9","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolveToken","depRecords","depRecord","childRecord","providerDeps","findFirstClosedCycle","constructResolvingPath","reversed","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","Query","ɵ0$a","ContentChildren","ɵ1$2","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","isComponentResourceResolutionQueueEmpty","response","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$b","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","iterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","ɵɵreference","ɵɵdirectiveInject","ɵɵinjectAttribute","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","ɵɵelementStart","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","addEventListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","preventDefault","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","delayProjection","setDelayProjection","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","malformedStyleError","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","plural","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","getParentFromI18nMutateOpCode","mergedCode","getRefFromI18nMutateOpCode","getInstructionFromI18nMutateOpCode","ELEMENT_MARKER","COMMENT_MARKER","unusedValueExportToPlacateAjd$6","setLocaleId","getLocaleId","i18nIndexStack","i18nIndexStackPointer","popI18nIndex","pushI18nIndex","changeMask","shiftsCounter","setMaskBit","applyI18n","tI18n","updateOpCodes","tIcus","update","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","rootindex","createOpCodes","visitedNodes","opCode","textRNode","textNodeIndex","createDynamicNodeAtIndex","destinationNodeIndex","destinationTNode","appendI18nNode","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","tagNameValue","elementRNode","caseCreated","checkBit","skipCodes","sanitizeFn","applyIcuSwitchCase","applyIcuUpdateCase","tIcuIndex","tIcu","currentCaseLViewIndex","activeCaseIndex","tICuIndex","applyIcuSwitchCaseRemove","caseIndex","getCaseIndex","removeCodes","removeOpCode","nodeOrIcuIndex","removeNode","i18nEndFirstPass","lastCreatedNode","markAsDetached","removedPhTNode","removedPhRNode","bindingValue","resolvedCase","i18nUpdateOpCodesToString","opcodes","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","consumeNumber","hasMore","consumeNumberOrString","opCodeText","i18nMutateOpCodesToString","lastRef","consumeNumberStringOrMarker","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","i18nVarsCount","parentIndexStack","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstPass","subTemplateIndex","parentIndexPointer","previousTNodeIndex","icuExpressions","isRootTemplateMessage","allocNodeIndex","templateTranslation","getTranslationForTemplate","msgParts","phIndex","isElement","extractParts","icuNodeIndex","getBindingMask","icuStart","toMaskBit","mainBinding","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","textParts","textValue","valueArr","min","removeInnerTemplateTranslation","inTemplate","tagMatched","search","createCodes","updateCodes","childIcus","nestedIcus","icuIndex","parseIcuCase","parseICUBlock","opCodes","parseNodes","prevPos","braceStack","braces","block","currentNode","nestedIcusToCreate","lowerAttrName","nestedIcuIndex","newLocal","nestedIcu","nestedIcuNodeIndex","nestTIcuIndex","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","replacements","templateIdsStack","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","ɵɵProvidersFeature","processProvidersFn","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","rootSelectorOrNode","SWITCH_ELEMENT_REF_FACTORY","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","Renderer2Interceptor","RendererFactory2","RendererStyleFlags2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","SWITCH_RENDERER2_FACTORY__PRE_R3__","Sanitizer","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$c","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","currentIndex","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","iterable","supports","getTypeNameForDebugging","copied","KeyValueDiffers","kv","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","inputsArr","outputsArr","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","fs","disposables","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","destroyCbs","parentPrototype","parentConstructor","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","generatorOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","resultsTree","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","isStatic","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tViewData","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","reset","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$d","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","decorator","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","createParseSourceSpan","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$e","ɵ1$3","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","Input","ɵ7","Output","ɵ8","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$f","ɵ1$4","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","run","zone","task","scheduleEventTask","EMPTY_PAYLOAD","noop$1","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","maybeDelayChangeDetection","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","_unloadComponent","registerApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$g","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","elOrCompView","childDef","collectReferences","findHostElement","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","Polynomial","ReedSolomonEncoder","genPoly","initialize","encode","pad","paddedData","remainder","buff","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","FINDER_PATTERN_SIZE","G15","G15_MASK","G15_BCH","getEncodedBits","ALPHA_NUM_CHARS","AlphanumericData","AlignmentPattern","FinderPattern","MaskPattern","ECCode","FormatInfo","Segments","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","setupFormatInfo","setupData","inc","bitIndex","byteIndex","createData","getCharCountIndicator","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","toSJISFunc","lastValue","applyRedirects","applyRedirectsFn","NoMatch","getOutlet","recognize","recognizeFn","EmptyOutletComponent","VersionCheck","Regex","ccBits","MIXED","getBestModeForData","dataStr","getStringByteLength","encodeURIComponent","getSegments","regex","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","segs","s1","s2","getSegmentBitsLength","mergeSegments","curr","prevSeg","buildNodes","seg","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","lastCount","prevNodeId","buildSingleSegment","modesHint","bestMode","optimizedSegs","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getCapacity","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getBestVersionForMixedData","usableBits","ecl"],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","file":"vendor.js","sourcesContent":["import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else if (count < 0) {\n return source.lift(new RepeatOperator(-1, source));\n }\n else {\n return source.lift(new RepeatOperator(count - 1, source));\n }\n };\n}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\n try {\n key = this.keySelector(value);\n }\n catch (err) {\n destination.error(err);\n return;\n }\n this._finalizeNext(key, value);\n }\n _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","\nvar canPromise = require('./can-promise')\n\nvar QRCode = require('./core/qrcode')\nvar CanvasRenderer = require('./renderer/canvas')\nvar SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n var args = [].slice.call(arguments, 1)\n var argsNum = args.length\n var isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n var data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n var data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n PLATFORM_ID,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport * as QRCode from 'qrcode';\nimport {\n QRCodeErrorCorrectionLevel,\n QRCodeVersion,\n QRCodeElementType,\n} from './types';\n\n@Component({\n selector: 'qrcode',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `
`,\n})\nexport class QRCodeComponent implements OnChanges {\n // Deprecated\n @Input() public colordark = '';\n @Input() public colorlight = '';\n @Input() public level = '';\n @Input() public hidetitle = false;\n @Input() public size = 0;\n @Input() public usesvg = false;\n\n // Valid for 1.x and 2.x\n @Input() public allowEmptyString = false;\n @Input() public qrdata = '';\n\n // New fields introduced in 2.0.0\n @Input() public colorDark = '#000000ff';\n @Input() public colorLight = '#ffffffff';\n @Input() public cssClass = 'qrcode';\n @Input() public elementType: keyof typeof QRCodeElementType = 'canvas';\n @Input()\n public errorCorrectionLevel: keyof typeof QRCodeErrorCorrectionLevel = 'M';\n @Input() public margin = 4;\n @Input() public scale = 4;\n @Input() public version: QRCodeVersion;\n @Input() public width = 10;\n\n @ViewChild('qrcElement', { static: true }) public qrcElement: ElementRef;\n\n constructor(\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private readonly platformId: any\n ) {\n // Deprecation warnings\n if (this.colordark !== '') {\n console.warn('[angularx-qrcode] colordark is deprecated, use colorDark.');\n }\n if (this.colorlight !== '') {\n console.warn(\n '[angularx-qrcode] colorlight is deprecated, use colorLight.'\n );\n }\n if (this.level !== '') {\n console.warn(\n '[angularx-qrcode] level is deprecated, use errorCorrectionLevel.'\n );\n }\n if (this.hidetitle !== false) {\n console.warn('[angularx-qrcode] hidetitle is deprecated.');\n }\n if (this.size !== 0) {\n console.warn(\n '[angularx-qrcode] size is deprecated, use `width`. Defaults to 10.'\n );\n }\n if (this.usesvg !== false) {\n console.warn(\n `[angularx-qrcode] usesvg is deprecated, use [elementType]=\"'svg'\".`\n );\n }\n }\n\n // public ngAfterViewInit() {\n // if (isPlatformServer(this.platformId)) {\n // return;\n // }\n // // if (!QRCode) {\n // // QRCode = require('qrcode');\n // // }\n // this.createQRCode();\n // }\n\n public ngOnChanges(): void {\n this.createQRCode();\n }\n\n protected isValidQrCodeText(data: string | null): boolean {\n if (this.allowEmptyString === false) {\n return !(\n typeof data === 'undefined' ||\n data === '' ||\n data === 'null' ||\n data === null\n );\n }\n return !(typeof data === 'undefined');\n }\n\n private toDataURL(): Promise {\n return new Promise(\n (resolve: (arg: any) => any, reject: (arg: any) => any) => {\n QRCode.toDataURL(\n this.qrdata,\n {\n color: {\n dark: this.colorDark,\n light: this.colorLight,\n },\n errorCorrectionLevel: this.errorCorrectionLevel,\n margin: this.margin,\n scale: this.scale,\n version: this.version,\n width: this.width,\n },\n (err, url) => {\n if (err) {\n reject(err);\n } else {\n resolve(url);\n }\n }\n );\n }\n );\n }\n\n private toCanvas(canvas: Element): Promise {\n return new Promise(\n (resolve: (arg: any) => any, reject: (arg: any) => any) => {\n QRCode.toCanvas(\n canvas,\n this.qrdata,\n {\n color: {\n dark: this.colorDark,\n light: this.colorLight,\n },\n errorCorrectionLevel: this.errorCorrectionLevel,\n margin: this.margin,\n scale: this.scale,\n version: this.version,\n width: this.width,\n },\n (error) => {\n if (error) {\n reject(error);\n } else {\n resolve('success');\n }\n }\n );\n }\n );\n }\n\n private toSVG(): Promise {\n return new Promise(\n (resolve: (arg: any) => any, reject: (arg: any) => any) => {\n QRCode.toString(\n this.qrdata,\n {\n color: {\n dark: this.colorDark,\n light: this.colorLight,\n },\n errorCorrectionLevel: this.errorCorrectionLevel,\n margin: this.margin,\n scale: this.scale,\n type: 'svg',\n version: this.version,\n width: this.width,\n },\n (err, url) => {\n if (err) {\n reject(err);\n } else {\n resolve(url);\n }\n }\n );\n }\n );\n }\n\n private renderElement(element: Element): void {\n for (const node of this.qrcElement.nativeElement.childNodes) {\n this.renderer.removeChild(this.qrcElement.nativeElement, node);\n }\n this.renderer.appendChild(this.qrcElement.nativeElement, element);\n }\n\n private createQRCode(): void {\n // Set sensitive defaults\n if (this.version && this.version > 40) {\n console.warn('[angularx-qrcode] max value for `version` is 40');\n this.version = 40;\n } else if (this.version && this.version < 1) {\n console.warn('[angularx-qrcode]`min value for `version` is 1');\n this.version = 1;\n } else if (this.version !== undefined && isNaN(this.version)) {\n console.warn(\n '[angularx-qrcode] version should be a number, defaulting to auto.'\n );\n this.version = undefined;\n }\n\n try {\n if (!this.isValidQrCodeText(this.qrdata)) {\n throw new Error(\n '[angularx-qrcode] Field `qrdata` is empty, set`allowEmptyString=\"true\"` to overwrite this behaviour.'\n );\n }\n\n let element: Element;\n\n switch (this.elementType) {\n case 'canvas':\n element = this.renderer.createElement('canvas');\n this.toCanvas(element)\n .then(() => {\n this.renderElement(element);\n })\n .catch((e) => {\n console.error('[angularx-qrcode] canvas error: ', e);\n });\n break;\n case 'svg':\n element = this.renderer.createElement('svg', 'svg');\n this.toSVG()\n .then((svgString: string) => {\n element.innerHTML = svgString;\n this.renderer.setAttribute(element, 'height', `${this.width}`);\n this.renderer.setAttribute(element, 'width', `${this.width}`);\n this.renderElement(element);\n })\n .catch((e) => {\n console.error('[angularx-qrcode] svg error: ', e);\n });\n break;\n case 'url':\n case 'img':\n default:\n element = this.renderer.createElement('img');\n this.toDataURL()\n .then((dataUrl: string) => {\n element.setAttribute('src', dataUrl);\n this.renderElement(element);\n })\n .catch((e) => {\n console.error('[angularx-qrcode] img/url error: ', e);\n });\n }\n } catch (e) {\n console.error('[angularx-qrcode] Error generating QR Code: ', e.message);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { QRCodeComponent } from './angularx-qrcode.component';\n\n@NgModule({\n providers: [],\n declarations: [QRCodeComponent],\n exports: [QRCodeComponent],\n})\nexport class QRCodeModule {}\n","/*\n * Public API Surface of angularx-qrcode\n */\n\nexport { QRCodeComponent } from './lib/angularx-qrcode.component';\nexport { QRCodeModule } from './lib/angularx-qrcode.module';\nexport * from './lib/types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nvar getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n var posCount = Math.floor(version / 7) + 2\n var size = getSymbolSize(version)\n var intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n var positions = [size - 7] // Last coord is always (size - 7)\n\n for (var i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * var pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n var coords = []\n var pos = exports.getRowColCoords(version)\n var posLength = pos.length\n\n for (var i = 0; i < posLength; i++) {\n for (var j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","/**\n * @license Angular v10.2.1\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see http://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see http://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n ViewEncapsulation[ViewEncapsulation[\"Native\"] = 1] = \"Native\";\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\n});\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalent(base, other) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!base[i].isEquivalent(other[i])) {\n return false;\n }\n }\n return true;\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text);\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text);\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForMessagePart = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForMessagePart(escapeStartingColon(escapeSlashes(messagePart)))\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForMessagePart(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`)\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = '';\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded += String.fromCharCode(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded += String.fromCharCode(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded += String.fromCharCode((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded += String.fromCharCode(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\n}\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n arr.forEach(item => {\n (conditionFn(item) ? truthy : falsy).push(item);\n });\n return [truthy, falsy];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = {\n name: 'ɵɵdefineDirective',\n moduleName: CORE$1,\n};\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticViewQuery = { name: 'ɵɵstaticViewQuery', moduleName: CORE$1 };\nIdentifiers$1.staticContentQuery = { name: 'ɵɵstaticContentQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n const ngJitMode = new ExternalExpr({ name: 'ngJitMode', moduleName: null });\n const jitFlagNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(ngJitMode), literal('undefined'));\n const jitFlagUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, jitFlagNotDefined, ngJitMode, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, jitFlagUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n constructor(start, end, details = null) {\n this.start = start;\n this.end = end;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\nclass TextAttribute {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n // If the element is empty then the source span should include any closing tag\n if (children.length === 0 && startSourceSpan && endSourceSpan) {\n this.sourceSpan = new ParseSourceSpan(sourceSpan.start, endSourceSpan.end);\n }\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = stringToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return byteStringToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return byteStringToDecString(words32ToByteString([hi & 0x7fffffff, lo]));\n}\nfunction hash32(str, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = str.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n c = add32(c, wordAt(str, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(str, i, Endian.Little));\n b = add32(b, wordAt(str, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(str, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction stringToWords32(str, endian) {\n const size = (str.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(str, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(str, index) {\n return index >= str.length ? 0 : str.charCodeAt(index) & 0xff;\n}\nfunction wordAt(str, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(str, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((str, word) => str + word32ToByteString(word), '');\n}\nfunction word32ToByteString(word) {\n let str = '';\n for (let i = 0; i < 4; i++) {\n str += String.fromCharCode((word >>> 8 * (3 - i)) & 0xff);\n }\n return str;\n}\nfunction byteStringToHexString(str) {\n let hex = '';\n for (let i = 0; i < str.length; i++) {\n const b = byteAt(str, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n// based on http://www.danvk.org/hex2dec.html (JS can not handle more than 56b)\nfunction byteStringToDecString(str) {\n let decimal = '';\n let toThePower = '1';\n for (let i = str.length - 1; i >= 0; i--) {\n decimal = addBigInt(decimal, numberTimesBigInt(byteAt(str, i), toThePower));\n toThePower = numberTimesBigInt(256, toThePower);\n }\n return decimal.split('').reverse().join('');\n}\n// x and y decimal, lowest significant digit first\nfunction addBigInt(x, y) {\n let sum = '';\n const len = Math.max(x.length, y.length);\n for (let i = 0, carry = 0; i < len || carry; i++) {\n const tmpSum = carry + +(x[i] || 0) + +(y[i] || 0);\n if (tmpSum >= 10) {\n carry = 1;\n sum += tmpSum - 10;\n }\n else {\n carry = 0;\n sum += tmpSum;\n }\n }\n return sum;\n}\nfunction numberTimesBigInt(num, b) {\n let product = '';\n let bToThePower = b;\n for (; num !== 0; num = num >>> 1) {\n if (num & 1)\n product = addBigInt(product, bToThePower);\n bToThePower = addBigInt(bToThePower, bToThePower);\n }\n return product;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n }\n minifiedName = declaredName;\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && publicName !== declaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\nfunction noop() { }\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n value = utf8Encode(value);\n for (let i = 0; i < value.length;) {\n const i1 = value.charCodeAt(i++);\n const i2 = value.charCodeAt(i++);\n const i3 = value.charCodeAt(i++);\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (isNaN(i2) ? 0 : i2 >> 4));\n b64 += isNaN(i2) ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 >> 6));\n b64 += isNaN(i2) || isNaN(i3) ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n //\n // The `$localize` function expects a \"template object\", which is an array of \"cooked\" strings\n // plus a `raw` property that contains an array of \"raw\" strings.\n //\n // In some environments a helper function called `__makeTemplateObject(cooked, raw)` might be\n // available, in which case we use that. Otherwise we must create our own helper function\n // inline.\n //\n // In the inline function, if `Object.defineProperty` is available we use that to attach the\n // `raw` array.\n ctx.print(ast, '$localize((this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})(');\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = new Function(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = new Function(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\n })));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n return { expression, type };\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, sourceSpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name) {\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver && ast.name == '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n }\n this.addImplicitReceiverAccess(ast.name);\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n }\n this.addImplicitReceiverAccess(ast.name);\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n return new ParseSourceSpan(start, end);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return this._convertColonRule(cssText, _cssColonHostRe, this._colonHostPartReplacer);\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo scopeName > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return this._convertColonRule(cssText, _cssColonHostContextRe, this._colonHostContextPartReplacer);\n }\n _convertColonRule(cssText, regExp, partReplacer) {\n // m[1] = :host(-context), m[2] = contents of (), m[3] rest of rule\n return cssText.replace(regExp, function (...m) {\n if (m[2]) {\n const parts = m[2].split(',');\n const r = [];\n for (let i = 0; i < parts.length; i++) {\n const p = parts[i].trim();\n if (!p)\n break;\n r.push(partReplacer(_polyfillHostNoCombinator, p, m[3]));\n }\n return r.join(',');\n }\n else {\n return _polyfillHostNoCombinator + m[3];\n }\n });\n }\n _colonHostContextPartReplacer(host, part, suffix) {\n if (part.indexOf(_polyfillHost) > -1) {\n return this._colonHostPartReplacer(host, part, suffix);\n }\n else {\n return host + part + suffix + ', ' + part + ' ' + host + suffix;\n }\n }\n _colonHostPartReplacer(host, part, suffix) {\n return host + part.replace(_polyfillHost, '') + suffix;\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = selector.replace(/(\\[[^\\]]*\\])/g, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = ')(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp('(' + _polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp('(' + _polyfillHostContext + _parenSuffix, 'gim');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan = null, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"TEXT\"] = 4] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 5] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 6] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 7] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 8] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 9] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 10] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 11] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 12] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 13] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 14] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 15] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 16] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 17] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 18] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 19] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 20] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See http://www.w3.org/TR/html51/syntax.html#writing\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n let tokensBeforeTagOpen = this.tokens.length;\n const innerStart = this._cursor.clone();\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n // When the start tag is invalid (including invalid \"attributes\"), assume we want a \"<\"\n this._cursor = innerStart;\n if (openTagToken) {\n this.tokens.length = tokensBeforeTagOpen;\n }\n // Back to back text tokens are merged at the end\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n const textToken = this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._escapedString || this._i18nNormalizeLineEndingsInICUs) {\n // Either the template is inline or,\n // we explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // The expression is in an external template and, for backward compatibility,\n // we are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $SLASH ||\n code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let cloned = false;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (!cloned) {\n start = start.clone();\n cloned = true;\n }\n start.advance();\n }\n }\n return new ParseSourceSpan(new ParseLocation(start.file, start.state.offset, start.state.line, start.state.column), new ParseLocation(this.file, this.state.offset, this.state.line, this.state.column));\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const prefix = startTagToken.parts[0];\n const name = startTagToken.parts[1];\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.start;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);\n const el = new Element$1(fullName, attrs, [], span, span, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], boundProps);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // TODO: pass a more accurate handlerSpan for this event.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, sourceSpan.start.offset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, sourceSpan.start.offset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '']);\n this.parseLiteralAttr(key, null, sourceSpan, absoluteValueOffset, undefined, targetMatchableAttrs, targetProps);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.valueSpan);\n }\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n if (phase) {\n switch (phase) {\n case 'start':\n case 'done':\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan));\n break;\n default:\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n break;\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping