@angular/platform-server 7.2.12 → 7.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"platform-server.js","sources":["../../../../../../packages/platform-server/src/domino_adapter.ts","../../../../../../packages/platform-server/src/platform_state.ts","../../../../../../packages/platform-server/src/http.ts","../../../../../../packages/platform-server/src/tokens.ts","../../../../../../packages/platform-server/src/location.ts","../../../../../../packages/platform-server/src/server_events.ts","../../../../../../packages/platform-server/src/server_renderer.ts","../../../../../../packages/platform-server/src/styles_host.ts","../../../../../../packages/platform-server/src/server.ts","../../../../../../packages/platform-server/src/transfer_state.ts","../../../../../../packages/platform-server/src/utils.ts","../../../../../../packages/platform-server/src/private_export.ts","../../../../../../packages/platform-server/src/version.ts","../../../../../../packages/platform-server/src/platform-server.ts","../../../../../../packages/platform-server/public_api.ts","../../../../../../packages/platform-server/index.ts","../../../../../../packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\n}\n\nfunction setDomTypes() {\n // Make all Domino types available as types in the global env.\n Object.assign(global, domino.impl);\n (global as any)['KeyboardEvent'] = domino.impl.Event;\n}\n\n/**\n * Parses a document string to a Document object.\n */\nexport function parseDocument(html: string, url = '/') {\n let window = domino.createWindow(html, url);\n let doc = window.document;\n return doc;\n}\n\n/**\n * Serializes a document to string.\n */\nexport function serializeDocument(doc: Document): string {\n return (doc as any).serialize();\n}\n\n/**\n * DOM Adapter for the server platform based on https://github.com/fgnass/domino.\n */\nexport class DominoAdapter extends BrowserDomAdapter {\n static makeCurrent() {\n setDomTypes();\n setRootDomAdapter(new DominoAdapter());\n }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n el.textContent = value;\n }\n (<any>el)[name] = value;\n }\n\n getGlobalEventTarget(doc: Document, target: string): EventTarget|null {\n if (target === 'window') {\n return doc.defaultView;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n\n getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement !, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _readStyleAttribute(element: any): {[name: string]: string} {\n const styleMap: {[name: string]: string} = {};\n const styleAttribute = element.getAttribute('style');\n if (styleAttribute) {\n const styleList = styleAttribute.split(/;+/g);\n for (let i = 0; i < styleList.length; i++) {\n const style = styleList[i].trim();\n if (style.length > 0) {\n const colonIndex = style.indexOf(':');\n if (colonIndex === -1) {\n throw new Error(`Invalid CSS style: ${style}`);\n }\n const name = style.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n\n // Dispatch the event to the window also.\n const doc = el.ownerDocument || el;\n const win = (doc as any).defaultView;\n if (win) {\n win.dispatchEvent(evt);\n }\n }\n\n getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @publicApi\n */\n@Injectable()\nexport class PlatformState {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n\n /**\n * Renders the current state of the platform to string.\n */\n renderToString(): string { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Injector, Optional, Provider, InjectFlags} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵHttpInterceptingHandler as HttpInterceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\n}\n\nexport abstract class ZoneMacroTaskWrapper<S, R> {\n wrap(request: S): Observable<R> {\n return new Observable((observer: Observer<R>) => {\n let task: Task = null !;\n let scheduled: boolean = false;\n let sub: Subscription|null = null;\n let savedResult: any = null;\n let savedError: any = null;\n\n const scheduleTask = (_task: Task) => {\n task = _task;\n scheduled = true;\n\n const delegate = this.delegate(request);\n sub = delegate.subscribe(\n res => savedResult = res,\n err => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n savedError = err;\n scheduled = false;\n task.invoke();\n },\n () => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n scheduled = false;\n task.invoke();\n });\n };\n\n const cancelTask = (_task: Task) => {\n if (!scheduled) {\n return;\n }\n scheduled = false;\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n\n const onComplete = () => {\n if (savedError !== null) {\n observer.error(savedError);\n } else {\n observer.next(savedResult);\n observer.complete();\n }\n };\n\n // MockBackend for Http is synchronous, which means that if scheduleTask is by\n // scheduleMacroTask, the request will hit MockBackend and the response will be\n // sent, causing task.invoke() to be called.\n const _task = Zone.current.scheduleMacroTask(\n 'ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);\n scheduleTask(_task);\n\n return () => {\n if (scheduled && task) {\n task.zone.cancelTask(task);\n scheduled = false;\n }\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n });\n }\n\n protected abstract delegate(request: S): Observable<R>;\n}\n\nexport class ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n // TODO(issue/24571): remove '!'.\n lastConnection !: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(backend: HttpBackend, injector: Injector) {\n const realBackend: HttpBackend = new HttpInterceptingHandler(backend, injector);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, Injector]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Config object passed to initialize the platform.\n *\n * @publicApi\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @publicApi\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @publicApi\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\n pathname: parsedUrl.pathname || '',\n search: parsedUrl.search || '',\n hash: parsedUrl.hash || '',\n };\n}\n\n/**\n * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash`\n * but not the state stack.\n */\n@Injectable()\nexport class ServerPlatformLocation implements PlatformLocation {\n public readonly pathname: string = '/';\n public readonly search: string = '';\n public readonly hash: string = '';\n private _hashUpdate = new Subject<LocationChangeEvent>();\n\n constructor(\n @Inject(DOCUMENT) private _doc: any, @Optional() @Inject(INITIAL_CONFIG) _config: any) {\n const config = _config as PlatformConfig | null;\n if (!!config && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\n\n private setHash(value: string, oldUrl: string) {\n if (this.hash === value) {\n // Don't fire events if the hash has not changed.\n return;\n }\n (this as{hash: string}).hash = value;\n const newUrl = this.url;\n scheduleMicroTask(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } as LocationChangeEvent));\n }\n\n replaceState(state: any, title: string, newUrl: string): void {\n const oldUrl = this.url;\n const parsedUrl = parseUrl(newUrl);\n (this as{pathname: string}).pathname = parsedUrl.pathname;\n (this as{search: string}).search = parsedUrl.search;\n this.setHash(parsedUrl.hash, oldUrl);\n }\n\n pushState(state: any, title: string, newUrl: string): void {\n this.replaceState(state, title, newUrl);\n }\n\n forward(): void { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerEventManagerPlugin /* extends EventManagerPlugin which is private */ {\n constructor(@Inject(DOCUMENT) private doc: any) {}\n\n // Handle all events on the server.\n supports(eventName: string) { return true; }\n\n addEventListener(element: HTMLElement, eventName: string, handler: Function): Function {\n return getDOM().onAndCancel(element, eventName, handler);\n }\n\n addGlobalEventListener(element: string, eventName: string, handler: Function): Function {\n const target: HTMLElement = getDOM().getGlobalEventTarget(this.doc, element);\n if (!target) {\n throw new Error(`Unsupported event target ${target} for event ${eventName}`);\n }\n return this.addEventListener(target, eventName, handler);\n }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, EventManager, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\nconst DEFAULT_SCHEMA = new DomElementSchemaRegistry();\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = DEFAULT_SCHEMA;\n\n constructor(\n private eventManager: EventManager, private ngZone: NgZone,\n @Inject(DOCUMENT) private document: any, private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(eventManager, document, ngZone, this.schema);\n }\n\n createRenderer(element: any, type: RendererType2|null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n switch (type.encapsulation) {\n case ViewEncapsulation.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.eventManager, this.document, this.ngZone, this.sharedStylesHost, this.schema,\n type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n default: {\n if (!this.rendererByCompId.has(type.id)) {\n const styles = flattenStyles(type.id, type.styles, []);\n this.sharedStylesHost.addStyles(styles);\n this.rendererByCompId.set(type.id, this.defaultRenderer);\n }\n return this.defaultRenderer;\n }\n }\n }\n\n begin() {}\n end() {}\n}\n\nclass DefaultServerRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n constructor(\n private eventManager: EventManager, protected document: any, private ngZone: NgZone,\n private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name, this.document);\n }\n\n return getDOM().createElement(name, this.document);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\n }\n\n // The value was validated already as a property binding, against the property name.\n // To know this value is safe to use as an attribute, the security context of the\n // attribute with the given name is checked against that security context of the\n // property.\n private _isSafeToReflectProperty(tagName: string, propertyName: string): boolean {\n return this.schema.securityContext(tagName, propertyName, true) ===\n this.schema.securityContext(tagName, propertyName, false);\n }\n\n setProperty(el: any, name: string, value: any): void {\n checkNoSyntheticProp(name, 'property');\n getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n // Skip `innerhtml` which is conservatively marked as an attribute for security\n // purposes but is not actually an attribute.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n name.toLowerCase() !== 'innerhtml' && this.schema.hasElement(tagName, EMPTY_ARRAY) &&\n this.schema.hasProperty(tagName, name, EMPTY_ARRAY) &&\n this._isSafeToReflectProperty(tagName, name)) {\n this.setAttribute(el, name, value.toString());\n }\n }\n\n setValue(node: any, value: string): void { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n checkNoSyntheticProp(eventName, 'listener');\n if (typeof target === 'string') {\n return <() => void>this.eventManager.addGlobalEventListener(\n target, eventName, this.decoratePreventDefault(callback));\n }\n return <() => void>this.eventManager.addEventListener(\n target, eventName, this.decoratePreventDefault(callback)) as() => void;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n return (event: any) => {\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior = this.ngZone.runGuarded(() => eventHandler(event));\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n event.returnValue = false;\n }\n };\n }\n}\n\nconst AT_CHARCODE = '@'.charCodeAt(0);\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new Error(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager, document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(eventManager, document, ngZone, schema);\n // Add a 's' prefix to style attributes to indicate server.\n const componentId = 's' + component.id;\n const styles = flattenStyles(componentId, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(componentId);\n this.hostAttr = shimHostAttribute(componentId);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name, this.document);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ApplicationRef, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ɵAnimationEngine} from '@angular/animations/browser';\nimport {PlatformLocation, ViewportScroller, ɵNullViewportScroller as NullViewportScroller, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, EVENT_MANAGER_PLUGINS, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {ɵplatformCoreDynamic as platformCoreDynamic} from '@angular/platform-browser-dynamic';\nimport {NoopAnimationsModule, ɵAnimationRendererFactory} from '@angular/platform-browser/animations';\n\nimport {DominoAdapter, parseDocument} from './domino_adapter';\nimport {SERVER_HTTP_PROVIDERS} from './http';\nimport {ServerPlatformLocation} from './location';\nimport {PlatformState} from './platform_state';\nimport {ServerEventManagerPlugin} from './server_events';\nimport {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\n\nexport const INTERNAL_SERVER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: DOCUMENT, useFactory: _document, deps: [Injector]},\n {provide: PLATFORM_ID, useValue: PLATFORM_SERVER_ID},\n {provide: PLATFORM_INITIALIZER, useFactory: initDominoAdapter, multi: true, deps: [Injector]}, {\n provide: PlatformLocation,\n useClass: ServerPlatformLocation,\n deps: [DOCUMENT, [Optional, INITIAL_CONFIG]]\n },\n {provide: PlatformState, deps: [DOCUMENT]},\n // Add special provider that allows multiple instances of platformServer* to be created.\n {provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true}\n];\n\nfunction initDominoAdapter(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\n}\n\nexport function instantiateServerRendererFactory(\n renderer: RendererFactory2, engine: ɵAnimationEngine, zone: NgZone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\n\nexport const SERVER_RENDER_PROVIDERS: Provider[] = [\n ServerRendererFactory2,\n {\n provide: RendererFactory2,\n useFactory: instantiateServerRendererFactory,\n deps: [ServerRendererFactory2, ɵAnimationEngine, NgZone]\n },\n ServerStylesHost,\n {provide: SharedStylesHost, useExisting: ServerStylesHost},\n {provide: EVENT_MANAGER_PLUGINS, multi: true, useClass: ServerEventManagerPlugin},\n];\n\n/**\n * The ng module for the server.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n {provide: ViewportScroller, useClass: NullViewportScroller},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @publicApi\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @publicApi\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\n doc.body.appendChild(script);\n };\n}\n\n/**\n * NgModule to install on the server side while using the `TransferState` to transfer state from\n * server to client.\n *\n * @publicApi\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ApplicationRef, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.get(ɵTRANSITION_ID, null);\n if (!transitionId) {\n throw new Error(\n `renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\nthe server-rendered app can be properly bootstrapped into a client app.`);\n }\n const applicationRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @publicApi\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @publicApi\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nexport {INTERNAL_SERVER_PLATFORM_PROVIDERS as ɵINTERNAL_SERVER_PLATFORM_PROVIDERS, SERVER_RENDER_PROVIDERS as ɵSERVER_RENDER_PROVIDERS} from './server';\nexport {ServerRendererFactory2 as ɵServerRendererFactory2} from './server_renderer';","/**\n * @license\n * Copyright Google Inc. 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/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('7.2.12');\n","/**\n * @license\n * Copyright Google Inc. 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\nexport {PlatformState} from './platform_state';\nexport {ServerModule, platformDynamicServer, platformServer} from './server';\nexport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformConfig} from './tokens';\nexport {ServerTransferStateModule} from './transfer_state';\nexport {renderModule, renderModuleFactory} from './utils';\n\nexport * from './private_export';\nexport {VERSION} from './version';\n","/**\n * @license\n * Copyright Google Inc. 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/// <reference types=\"node\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/platform-server';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google Inc. 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 not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_i,ServerXhr as ɵangular_packages_platform_server_platform_server_e,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_f,httpFactory as ɵangular_packages_platform_server_platform_server_g,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_h} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerEventManagerPlugin as ɵangular_packages_platform_server_platform_server_d} from './src/server_events';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["tslib_1.__extends","setRootDomAdapter","BrowserDomAdapter","tslib_1.__param","HttpInterceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","NullViewportScroller","platformCoreDynamic","escapeHtml","tslib_1.__values"],"mappings":"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"}
1
+ {"version":3,"file":"platform-server.js","sources":["../../../../../../packages/platform-server/src/domino_adapter.ts","../../../../../../packages/platform-server/src/platform_state.ts","../../../../../../packages/platform-server/src/http.ts","../../../../../../packages/platform-server/src/tokens.ts","../../../../../../packages/platform-server/src/location.ts","../../../../../../packages/platform-server/src/server_events.ts","../../../../../../packages/platform-server/src/server_renderer.ts","../../../../../../packages/platform-server/src/styles_host.ts","../../../../../../packages/platform-server/src/server.ts","../../../../../../packages/platform-server/src/transfer_state.ts","../../../../../../packages/platform-server/src/utils.ts","../../../../../../packages/platform-server/src/private_export.ts","../../../../../../packages/platform-server/src/version.ts","../../../../../../packages/platform-server/src/platform-server.ts","../../../../../../packages/platform-server/public_api.ts","../../../../../../packages/platform-server/index.ts","../../../../../../packages/platform-server/platform-server.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. 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 domino = require('domino');\n\nimport {ɵBrowserDomAdapter as BrowserDomAdapter, ɵsetRootDomAdapter as setRootDomAdapter} from '@angular/platform-browser';\n\nfunction _notImplemented(methodName: string) {\n return new Error('This method is not implemented in DominoAdapter: ' + methodName);\n}\n\nfunction setDomTypes() {\n // Make all Domino types available as types in the global env.\n Object.assign(global, domino.impl);\n (global as any)['KeyboardEvent'] = domino.impl.Event;\n}\n\n/**\n * Parses a document string to a Document object.\n */\nexport function parseDocument(html: string, url = '/') {\n let window = domino.createWindow(html, url);\n let doc = window.document;\n return doc;\n}\n\n/**\n * Serializes a document to string.\n */\nexport function serializeDocument(doc: Document): string {\n return (doc as any).serialize();\n}\n\n/**\n * DOM Adapter for the server platform based on https://github.com/fgnass/domino.\n */\nexport class DominoAdapter extends BrowserDomAdapter {\n static makeCurrent() {\n setDomTypes();\n setRootDomAdapter(new DominoAdapter());\n }\n\n private static defaultDoc: Document;\n\n logError(error: string) { console.error(error); }\n\n log(error: string) {\n // tslint:disable-next-line:no-console\n console.log(error);\n }\n\n logGroup(error: string) { console.error(error); }\n\n logGroupEnd() {}\n\n supportsDOMEvents(): boolean { return false; }\n supportsNativeShadowDOM(): boolean { return false; }\n\n contains(nodeA: any, nodeB: any): boolean {\n let inner = nodeB;\n while (inner) {\n if (inner === nodeA) return true;\n inner = inner.parent;\n }\n return false;\n }\n\n createHtmlDocument(): HTMLDocument {\n return parseDocument('<html><head><title>fakeTitle</title></head><body></body></html>');\n }\n\n getDefaultDocument(): Document {\n if (!DominoAdapter.defaultDoc) {\n DominoAdapter.defaultDoc = domino.createDocument();\n }\n return DominoAdapter.defaultDoc;\n }\n\n createShadowRoot(el: any, doc: Document = document): DocumentFragment {\n el.shadowRoot = doc.createDocumentFragment();\n el.shadowRoot.parent = el;\n return el.shadowRoot;\n }\n getShadowRoot(el: any): DocumentFragment { return el.shadowRoot; }\n\n isTextNode(node: any): boolean { return node.nodeType === DominoAdapter.defaultDoc.TEXT_NODE; }\n isCommentNode(node: any): boolean {\n return node.nodeType === DominoAdapter.defaultDoc.COMMENT_NODE;\n }\n isElementNode(node: any): boolean {\n return node ? node.nodeType === DominoAdapter.defaultDoc.ELEMENT_NODE : false;\n }\n hasShadowRoot(node: any): boolean { return node.shadowRoot != null; }\n isShadowRoot(node: any): boolean { return this.getShadowRoot(node) == node; }\n\n getProperty(el: Element, name: string): any {\n if (name === 'href') {\n // Domino tries tp resolve href-s which we do not want. Just return the\n // attribute value.\n return this.getAttribute(el, 'href');\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n return el.textContent;\n }\n return (<any>el)[name];\n }\n\n setProperty(el: Element, name: string, value: any) {\n if (name === 'href') {\n // Even though the server renderer reflects any properties to attributes\n // map 'href' to attribute just to handle when setProperty is directly called.\n this.setAttribute(el, 'href', value);\n } else if (name === 'innerText') {\n // Domino does not support innerText. Just map it to textContent.\n el.textContent = value;\n }\n (<any>el)[name] = value;\n }\n\n getGlobalEventTarget(doc: Document, target: string): EventTarget|null {\n if (target === 'window') {\n return doc.defaultView;\n }\n if (target === 'document') {\n return doc;\n }\n if (target === 'body') {\n return doc.body;\n }\n return null;\n }\n\n getBaseHref(doc: Document): string {\n const base = this.querySelector(doc.documentElement !, 'base');\n let href = '';\n if (base) {\n href = this.getHref(base);\n }\n // TODO(alxhub): Need relative path logic from BrowserDomAdapter here?\n return href;\n }\n\n /** @internal */\n _readStyleAttribute(element: any): {[name: string]: string} {\n const styleMap: {[name: string]: string} = {};\n const styleAttribute = element.getAttribute('style');\n if (styleAttribute) {\n const styleList = styleAttribute.split(/;+/g);\n for (let i = 0; i < styleList.length; i++) {\n const style = styleList[i].trim();\n if (style.length > 0) {\n const colonIndex = style.indexOf(':');\n if (colonIndex === -1) {\n throw new Error(`Invalid CSS style: ${style}`);\n }\n const name = style.substr(0, colonIndex).trim();\n styleMap[name] = style.substr(colonIndex + 1).trim();\n }\n }\n }\n return styleMap;\n }\n /** @internal */\n _writeStyleAttribute(element: any, styleMap: {[name: string]: string}) {\n let styleAttrValue = '';\n for (const key in styleMap) {\n const newValue = styleMap[key];\n if (newValue) {\n styleAttrValue += key + ':' + styleMap[key] + ';';\n }\n }\n element.setAttribute('style', styleAttrValue);\n }\n setStyle(element: any, styleName: string, styleValue?: string|null) {\n styleName = styleName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n const styleMap = this._readStyleAttribute(element);\n styleMap[styleName] = styleValue || '';\n this._writeStyleAttribute(element, styleMap);\n }\n removeStyle(element: any, styleName: string) {\n // IE requires '' instead of null\n // see https://github.com/angular/angular/issues/7916\n this.setStyle(element, styleName, '');\n }\n getStyle(element: any, styleName: string): string {\n const styleMap = this._readStyleAttribute(element);\n return styleMap[styleName] || '';\n }\n hasStyle(element: any, styleName: string, styleValue?: string): boolean {\n const value = this.getStyle(element, styleName);\n return styleValue ? value == styleValue : value.length > 0;\n }\n\n dispatchEvent(el: Node, evt: any) {\n el.dispatchEvent(evt);\n\n // Dispatch the event to the window also.\n const doc = el.ownerDocument || el;\n const win = (doc as any).defaultView;\n if (win) {\n win.dispatchEvent(evt);\n }\n }\n\n getHistory(): History { throw _notImplemented('getHistory'); }\n getLocation(): Location { throw _notImplemented('getLocation'); }\n getUserAgent(): string { return 'Fake user agent'; }\n\n supportsWebAnimation(): boolean { return false; }\n performanceNow(): number { return Date.now(); }\n getAnimationPrefix(): string { return ''; }\n getTransitionEnd(): string { return 'transitionend'; }\n supportsAnimation(): boolean { return true; }\n\n getDistributedNodes(el: any): Node[] { throw _notImplemented('getDistributedNodes'); }\n\n supportsCookies(): boolean { return false; }\n getCookie(name: string): string { throw _notImplemented('getCookie'); }\n setCookie(name: string, value: string) { throw _notImplemented('setCookie'); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\nimport {serializeDocument} from './domino_adapter';\n\n/**\n * Representation of the current platform state.\n *\n * @publicApi\n */\n@Injectable()\nexport class PlatformState {\n constructor(@Inject(DOCUMENT) private _doc: any) {}\n\n /**\n * Renders the current state of the platform to string.\n */\n renderToString(): string { return serializeDocument(this._doc); }\n\n /**\n * Returns the current DOM state.\n */\n getDocument(): any { return this._doc; }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nconst xhr2: any = require('xhr2');\n\nimport {Injectable, Injector, Optional, Provider, InjectFlags} from '@angular/core';\nimport {BrowserXhr, Connection, ConnectionBackend, Http, ReadyState, Request, RequestOptions, Response, XHRBackend, XSRFStrategy} from '@angular/http';\n\nimport {HttpEvent, HttpRequest, HttpHandler, HttpInterceptor, HTTP_INTERCEPTORS, HttpBackend, XhrFactory, ɵHttpInterceptingHandler as HttpInterceptingHandler} from '@angular/common/http';\n\nimport {Observable, Observer, Subscription} from 'rxjs';\n\nconst isAbsoluteUrl = /^[a-zA-Z\\-\\+.]+:\\/\\//;\n\nfunction validateRequestUrl(url: string): void {\n if (!isAbsoluteUrl.test(url)) {\n throw new Error(`URLs requested via Http on the server must be absolute. URL: ${url}`);\n }\n}\n\n@Injectable()\nexport class ServerXhr implements BrowserXhr {\n build(): XMLHttpRequest { return new xhr2.XMLHttpRequest(); }\n}\n\n@Injectable()\nexport class ServerXsrfStrategy implements XSRFStrategy {\n configureRequest(req: Request): void {}\n}\n\nexport abstract class ZoneMacroTaskWrapper<S, R> {\n wrap(request: S): Observable<R> {\n return new Observable((observer: Observer<R>) => {\n let task: Task = null !;\n let scheduled: boolean = false;\n let sub: Subscription|null = null;\n let savedResult: any = null;\n let savedError: any = null;\n\n const scheduleTask = (_task: Task) => {\n task = _task;\n scheduled = true;\n\n const delegate = this.delegate(request);\n sub = delegate.subscribe(\n res => savedResult = res,\n err => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n savedError = err;\n scheduled = false;\n task.invoke();\n },\n () => {\n if (!scheduled) {\n throw new Error(\n 'An http observable was completed twice. This shouldn\\'t happen, please file a bug.');\n }\n scheduled = false;\n task.invoke();\n });\n };\n\n const cancelTask = (_task: Task) => {\n if (!scheduled) {\n return;\n }\n scheduled = false;\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n\n const onComplete = () => {\n if (savedError !== null) {\n observer.error(savedError);\n } else {\n observer.next(savedResult);\n observer.complete();\n }\n };\n\n // MockBackend for Http is synchronous, which means that if scheduleTask is by\n // scheduleMacroTask, the request will hit MockBackend and the response will be\n // sent, causing task.invoke() to be called.\n const _task = Zone.current.scheduleMacroTask(\n 'ZoneMacroTaskWrapper.subscribe', onComplete, {}, () => null, cancelTask);\n scheduleTask(_task);\n\n return () => {\n if (scheduled && task) {\n task.zone.cancelTask(task);\n scheduled = false;\n }\n if (sub) {\n sub.unsubscribe();\n sub = null;\n }\n };\n });\n }\n\n protected abstract delegate(request: S): Observable<R>;\n}\n\nexport class ZoneMacroTaskConnection extends ZoneMacroTaskWrapper<Request, Response> implements\n Connection {\n response: Observable<Response>;\n // TODO(issue/24571): remove '!'.\n lastConnection !: Connection;\n\n constructor(public request: Request, private backend: XHRBackend) {\n super();\n validateRequestUrl(request.url);\n this.response = this.wrap(request);\n }\n\n delegate(request: Request): Observable<Response> {\n this.lastConnection = this.backend.createConnection(request);\n return this.lastConnection.response as Observable<Response>;\n }\n\n get readyState(): ReadyState {\n return !!this.lastConnection ? this.lastConnection.readyState : ReadyState.Unsent;\n }\n}\n\nexport class ZoneMacroTaskBackend implements ConnectionBackend {\n constructor(private backend: XHRBackend) {}\n\n createConnection(request: any): ZoneMacroTaskConnection {\n return new ZoneMacroTaskConnection(request, this.backend);\n }\n}\n\nexport class ZoneClientBackend extends\n ZoneMacroTaskWrapper<HttpRequest<any>, HttpEvent<any>> implements HttpBackend {\n constructor(private backend: HttpBackend) { super(); }\n\n handle(request: HttpRequest<any>): Observable<HttpEvent<any>> { return this.wrap(request); }\n\n protected delegate(request: HttpRequest<any>): Observable<HttpEvent<any>> {\n return this.backend.handle(request);\n }\n}\n\nexport function httpFactory(xhrBackend: XHRBackend, options: RequestOptions) {\n const macroBackend = new ZoneMacroTaskBackend(xhrBackend);\n return new Http(macroBackend, options);\n}\n\nexport function zoneWrappedInterceptingHandler(backend: HttpBackend, injector: Injector) {\n const realBackend: HttpBackend = new HttpInterceptingHandler(backend, injector);\n return new ZoneClientBackend(realBackend);\n}\n\nexport const SERVER_HTTP_PROVIDERS: Provider[] = [\n {provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions]},\n {provide: BrowserXhr, useClass: ServerXhr}, {provide: XSRFStrategy, useClass: ServerXsrfStrategy},\n {provide: XhrFactory, useClass: ServerXhr}, {\n provide: HttpHandler,\n useFactory: zoneWrappedInterceptingHandler,\n deps: [HttpBackend, Injector]\n }\n];\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {InjectionToken} from '@angular/core';\n\n/**\n * Config object passed to initialize the platform.\n *\n * @publicApi\n */\nexport interface PlatformConfig {\n document?: string;\n url?: string;\n}\n\n/**\n * The DI token for setting the initial config for the platform.\n *\n * @publicApi\n */\nexport const INITIAL_CONFIG = new InjectionToken<PlatformConfig>('Server.INITIAL_CONFIG');\n\n/**\n * A function that will be executed when calling `renderModuleFactory` or `renderModule` just\n * before current platform state is rendered to string.\n *\n * @publicApi\n */\nexport const BEFORE_APP_SERIALIZED =\n new InjectionToken<Array<() => void>>('Server.RENDER_MODULE_HOOK');\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {LocationChangeEvent, LocationChangeListener, PlatformLocation} from '@angular/common';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {Subject} from 'rxjs';\nimport * as url from 'url';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\n\nfunction parseUrl(urlStr: string): {pathname: string, search: string, hash: string} {\n const parsedUrl = url.parse(urlStr);\n return {\n pathname: parsedUrl.pathname || '',\n search: parsedUrl.search || '',\n hash: parsedUrl.hash || '',\n };\n}\n\n/**\n * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash`\n * but not the state stack.\n */\n@Injectable()\nexport class ServerPlatformLocation implements PlatformLocation {\n public readonly pathname: string = '/';\n public readonly search: string = '';\n public readonly hash: string = '';\n private _hashUpdate = new Subject<LocationChangeEvent>();\n\n constructor(\n @Inject(DOCUMENT) private _doc: any, @Optional() @Inject(INITIAL_CONFIG) _config: any) {\n const config = _config as PlatformConfig | null;\n if (!!config && !!config.url) {\n const parsedUrl = parseUrl(config.url);\n this.pathname = parsedUrl.pathname;\n this.search = parsedUrl.search;\n this.hash = parsedUrl.hash;\n }\n }\n\n getBaseHrefFromDOM(): string { return getDOM().getBaseHref(this._doc) !; }\n\n onPopState(fn: LocationChangeListener): void {\n // No-op: a state stack is not implemented, so\n // no events will ever come.\n }\n\n onHashChange(fn: LocationChangeListener): void { this._hashUpdate.subscribe(fn); }\n\n get url(): string { return `${this.pathname}${this.search}${this.hash}`; }\n\n private setHash(value: string, oldUrl: string) {\n if (this.hash === value) {\n // Don't fire events if the hash has not changed.\n return;\n }\n (this as{hash: string}).hash = value;\n const newUrl = this.url;\n scheduleMicroTask(() => this._hashUpdate.next({\n type: 'hashchange', state: null, oldUrl, newUrl\n } as LocationChangeEvent));\n }\n\n replaceState(state: any, title: string, newUrl: string): void {\n const oldUrl = this.url;\n const parsedUrl = parseUrl(newUrl);\n (this as{pathname: string}).pathname = parsedUrl.pathname;\n (this as{search: string}).search = parsedUrl.search;\n this.setHash(parsedUrl.hash, oldUrl);\n }\n\n pushState(state: any, title: string, newUrl: string): void {\n this.replaceState(state, title, newUrl);\n }\n\n forward(): void { throw new Error('Not implemented'); }\n\n back(): void { throw new Error('Not implemented'); }\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Inject, Injectable} from '@angular/core';\nimport {DOCUMENT, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerEventManagerPlugin /* extends EventManagerPlugin which is private */ {\n constructor(@Inject(DOCUMENT) private doc: any) {}\n\n // Handle all events on the server.\n supports(eventName: string) { return true; }\n\n addEventListener(element: HTMLElement, eventName: string, handler: Function): Function {\n return getDOM().onAndCancel(element, eventName, handler);\n }\n\n addGlobalEventListener(element: string, eventName: string, handler: Function): Function {\n const target: HTMLElement = getDOM().getGlobalEventTarget(this.doc, element);\n if (!target) {\n throw new Error(`Unsupported event target ${target} for event ${eventName}`);\n }\n return this.addEventListener(target, eventName, handler);\n }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {DomElementSchemaRegistry} from '@angular/compiler';\nimport {APP_ID, Inject, Injectable, NgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, RootRenderer, ViewEncapsulation, ɵstringify as stringify} from '@angular/core';\nimport {DOCUMENT, EventManager, ɵNAMESPACE_URIS as NAMESPACE_URIS, ɵSharedStylesHost as SharedStylesHost, ɵflattenStyles as flattenStyles, ɵgetDOM as getDOM, ɵshimContentAttribute as shimContentAttribute, ɵshimHostAttribute as shimHostAttribute} from '@angular/platform-browser';\n\nconst EMPTY_ARRAY: any[] = [];\n\nconst DEFAULT_SCHEMA = new DomElementSchemaRegistry();\n\n@Injectable()\nexport class ServerRendererFactory2 implements RendererFactory2 {\n private rendererByCompId = new Map<string, Renderer2>();\n private defaultRenderer: Renderer2;\n private schema = DEFAULT_SCHEMA;\n\n constructor(\n private eventManager: EventManager, private ngZone: NgZone,\n @Inject(DOCUMENT) private document: any, private sharedStylesHost: SharedStylesHost) {\n this.defaultRenderer = new DefaultServerRenderer2(eventManager, document, ngZone, this.schema);\n }\n\n createRenderer(element: any, type: RendererType2|null): Renderer2 {\n if (!element || !type) {\n return this.defaultRenderer;\n }\n switch (type.encapsulation) {\n case ViewEncapsulation.Native:\n case ViewEncapsulation.Emulated: {\n let renderer = this.rendererByCompId.get(type.id);\n if (!renderer) {\n renderer = new EmulatedEncapsulationServerRenderer2(\n this.eventManager, this.document, this.ngZone, this.sharedStylesHost, this.schema,\n type);\n this.rendererByCompId.set(type.id, renderer);\n }\n (<EmulatedEncapsulationServerRenderer2>renderer).applyToHost(element);\n return renderer;\n }\n default: {\n if (!this.rendererByCompId.has(type.id)) {\n const styles = flattenStyles(type.id, type.styles, []);\n this.sharedStylesHost.addStyles(styles);\n this.rendererByCompId.set(type.id, this.defaultRenderer);\n }\n return this.defaultRenderer;\n }\n }\n }\n\n begin() {}\n end() {}\n}\n\nclass DefaultServerRenderer2 implements Renderer2 {\n data: {[key: string]: any} = Object.create(null);\n\n constructor(\n private eventManager: EventManager, protected document: any, private ngZone: NgZone,\n private schema: DomElementSchemaRegistry) {}\n\n destroy(): void {}\n\n destroyNode: null;\n\n createElement(name: string, namespace?: string, debugInfo?: any): any {\n if (namespace) {\n return getDOM().createElementNS(NAMESPACE_URIS[namespace], name, this.document);\n }\n\n return getDOM().createElement(name, this.document);\n }\n\n createComment(value: string, debugInfo?: any): any { return getDOM().createComment(value); }\n\n createText(value: string, debugInfo?: any): any { return getDOM().createTextNode(value); }\n\n appendChild(parent: any, newChild: any): void { getDOM().appendChild(parent, newChild); }\n\n insertBefore(parent: any, newChild: any, refChild: any): void {\n if (parent) {\n getDOM().insertBefore(parent, refChild, newChild);\n }\n }\n\n removeChild(parent: any, oldChild: any): void {\n if (parent) {\n getDOM().removeChild(parent, oldChild);\n }\n }\n\n selectRootElement(selectorOrNode: string|any, debugInfo?: any): any {\n let el: any;\n if (typeof selectorOrNode === 'string') {\n el = getDOM().querySelector(this.document, selectorOrNode);\n if (!el) {\n throw new Error(`The selector \"${selectorOrNode}\" did not match any elements`);\n }\n } else {\n el = selectorOrNode;\n }\n getDOM().clearNodes(el);\n return el;\n }\n\n parentNode(node: any): any { return getDOM().parentElement(node); }\n\n nextSibling(node: any): any { return getDOM().nextSibling(node); }\n\n setAttribute(el: any, name: string, value: string, namespace?: string): void {\n if (namespace) {\n getDOM().setAttributeNS(el, NAMESPACE_URIS[namespace], namespace + ':' + name, value);\n } else {\n getDOM().setAttribute(el, name, value);\n }\n }\n\n removeAttribute(el: any, name: string, namespace?: string): void {\n if (namespace) {\n getDOM().removeAttributeNS(el, NAMESPACE_URIS[namespace], name);\n } else {\n getDOM().removeAttribute(el, name);\n }\n }\n\n addClass(el: any, name: string): void { getDOM().addClass(el, name); }\n\n removeClass(el: any, name: string): void { getDOM().removeClass(el, name); }\n\n setStyle(el: any, style: string, value: any, flags: RendererStyleFlags2): void {\n getDOM().setStyle(el, style, value);\n }\n\n removeStyle(el: any, style: string, flags: RendererStyleFlags2): void {\n getDOM().removeStyle(el, style);\n }\n\n // The value was validated already as a property binding, against the property name.\n // To know this value is safe to use as an attribute, the security context of the\n // attribute with the given name is checked against that security context of the\n // property.\n private _isSafeToReflectProperty(tagName: string, propertyName: string): boolean {\n return this.schema.securityContext(tagName, propertyName, true) ===\n this.schema.securityContext(tagName, propertyName, false);\n }\n\n setProperty(el: any, name: string, value: any): void {\n checkNoSyntheticProp(name, 'property');\n getDOM().setProperty(el, name, value);\n // Mirror property values for known HTML element properties in the attributes.\n // Skip `innerhtml` which is conservatively marked as an attribute for security\n // purposes but is not actually an attribute.\n const tagName = (el.tagName as string).toLowerCase();\n if (value != null && (typeof value === 'number' || typeof value == 'string') &&\n name.toLowerCase() !== 'innerhtml' && this.schema.hasElement(tagName, EMPTY_ARRAY) &&\n this.schema.hasProperty(tagName, name, EMPTY_ARRAY) &&\n this._isSafeToReflectProperty(tagName, name)) {\n this.setAttribute(el, name, value.toString());\n }\n }\n\n setValue(node: any, value: string): void { getDOM().setText(node, value); }\n\n listen(\n target: 'document'|'window'|'body'|any, eventName: string,\n callback: (event: any) => boolean): () => void {\n checkNoSyntheticProp(eventName, 'listener');\n if (typeof target === 'string') {\n return <() => void>this.eventManager.addGlobalEventListener(\n target, eventName, this.decoratePreventDefault(callback));\n }\n return <() => void>this.eventManager.addEventListener(\n target, eventName, this.decoratePreventDefault(callback)) as() => void;\n }\n\n private decoratePreventDefault(eventHandler: Function): Function {\n return (event: any) => {\n // Run the event handler inside the ngZone because event handlers are not patched\n // by Zone on the server. This is required only for tests.\n const allowDefaultBehavior = this.ngZone.runGuarded(() => eventHandler(event));\n if (allowDefaultBehavior === false) {\n event.preventDefault();\n event.returnValue = false;\n }\n };\n }\n}\n\nconst AT_CHARCODE = '@'.charCodeAt(0);\nfunction checkNoSyntheticProp(name: string, nameKind: string) {\n if (name.charCodeAt(0) === AT_CHARCODE) {\n throw new Error(\n `Found the synthetic ${nameKind} ${name}. Please include either \"BrowserAnimationsModule\" or \"NoopAnimationsModule\" in your application.`);\n }\n}\n\nclass EmulatedEncapsulationServerRenderer2 extends DefaultServerRenderer2 {\n private contentAttr: string;\n private hostAttr: string;\n\n constructor(\n eventManager: EventManager, document: any, ngZone: NgZone, sharedStylesHost: SharedStylesHost,\n schema: DomElementSchemaRegistry, private component: RendererType2) {\n super(eventManager, document, ngZone, schema);\n // Add a 's' prefix to style attributes to indicate server.\n const componentId = 's' + component.id;\n const styles = flattenStyles(componentId, component.styles, []);\n sharedStylesHost.addStyles(styles);\n\n this.contentAttr = shimContentAttribute(componentId);\n this.hostAttr = shimHostAttribute(componentId);\n }\n\n applyToHost(element: any) { super.setAttribute(element, this.hostAttr, ''); }\n\n createElement(parent: any, name: string): Element {\n const el = super.createElement(parent, name, this.document);\n super.setAttribute(el, this.contentAttr, '');\n return el;\n }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ApplicationRef, Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT, ɵDomAdapter as DomAdapter, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\n\n@Injectable()\nexport class ServerStylesHost extends SharedStylesHost {\n private head: any = null;\n\n constructor(\n @Inject(DOCUMENT) private doc: any,\n @Optional() @Inject(ɵTRANSITION_ID) private transitionId: string) {\n super();\n this.head = getDOM().getElementsByTagName(doc, 'head')[0];\n }\n\n private _addStyle(style: string): void {\n let adapter = getDOM();\n const el = adapter.createElement('style');\n adapter.setText(el, style);\n if (!!this.transitionId) {\n adapter.setAttribute(el, 'ng-transition', this.transitionId);\n }\n adapter.appendChild(this.head, el);\n }\n\n onStylesAdded(additions: Set<string>) { additions.forEach(style => this._addStyle(style)); }\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ɵAnimationEngine} from '@angular/animations/browser';\nimport {PlatformLocation, ViewportScroller, ɵNullViewportScroller as NullViewportScroller, ɵPLATFORM_SERVER_ID as PLATFORM_SERVER_ID} from '@angular/common';\nimport {HttpClientModule} from '@angular/common/http';\nimport {Injectable, InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, PLATFORM_INITIALIZER, PlatformRef, Provider, RendererFactory2, RootRenderer, StaticProvider, Testability, createPlatformFactory, isDevMode, platformCore, ɵALLOW_MULTIPLE_PLATFORMS as ALLOW_MULTIPLE_PLATFORMS} from '@angular/core';\nimport {HttpModule} from '@angular/http';\nimport {BrowserModule, DOCUMENT, EVENT_MANAGER_PLUGINS, ɵSharedStylesHost as SharedStylesHost, ɵTRANSITION_ID, ɵgetDOM as getDOM} from '@angular/platform-browser';\nimport {ɵplatformCoreDynamic as platformCoreDynamic} from '@angular/platform-browser-dynamic';\nimport {NoopAnimationsModule, ɵAnimationRendererFactory} from '@angular/platform-browser/animations';\n\nimport {DominoAdapter, parseDocument} from './domino_adapter';\nimport {SERVER_HTTP_PROVIDERS} from './http';\nimport {ServerPlatformLocation} from './location';\nimport {PlatformState} from './platform_state';\nimport {ServerEventManagerPlugin} from './server_events';\nimport {ServerRendererFactory2} from './server_renderer';\nimport {ServerStylesHost} from './styles_host';\nimport {INITIAL_CONFIG, PlatformConfig} from './tokens';\n\nfunction notSupported(feature: string): Error {\n throw new Error(`platform-server does not support '${feature}'.`);\n}\n\nexport const INTERNAL_SERVER_PLATFORM_PROVIDERS: StaticProvider[] = [\n {provide: DOCUMENT, useFactory: _document, deps: [Injector]},\n {provide: PLATFORM_ID, useValue: PLATFORM_SERVER_ID},\n {provide: PLATFORM_INITIALIZER, useFactory: initDominoAdapter, multi: true, deps: [Injector]}, {\n provide: PlatformLocation,\n useClass: ServerPlatformLocation,\n deps: [DOCUMENT, [Optional, INITIAL_CONFIG]]\n },\n {provide: PlatformState, deps: [DOCUMENT]},\n // Add special provider that allows multiple instances of platformServer* to be created.\n {provide: ALLOW_MULTIPLE_PLATFORMS, useValue: true}\n];\n\nfunction initDominoAdapter(injector: Injector) {\n return () => { DominoAdapter.makeCurrent(); };\n}\n\nexport function instantiateServerRendererFactory(\n renderer: RendererFactory2, engine: ɵAnimationEngine, zone: NgZone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\n\nexport const SERVER_RENDER_PROVIDERS: Provider[] = [\n ServerRendererFactory2,\n {\n provide: RendererFactory2,\n useFactory: instantiateServerRendererFactory,\n deps: [ServerRendererFactory2, ɵAnimationEngine, NgZone]\n },\n ServerStylesHost,\n {provide: SharedStylesHost, useExisting: ServerStylesHost},\n {provide: EVENT_MANAGER_PLUGINS, multi: true, useClass: ServerEventManagerPlugin},\n];\n\n/**\n * The ng module for the server.\n *\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n imports: [HttpModule, HttpClientModule, NoopAnimationsModule],\n providers: [\n SERVER_RENDER_PROVIDERS,\n SERVER_HTTP_PROVIDERS,\n {provide: Testability, useValue: null},\n {provide: ViewportScroller, useClass: NullViewportScroller},\n ],\n})\nexport class ServerModule {\n}\n\nfunction _document(injector: Injector) {\n let config: PlatformConfig|null = injector.get(INITIAL_CONFIG, null);\n if (config && config.document) {\n return parseDocument(config.document, config.url);\n } else {\n return getDOM().createHtmlDocument();\n }\n}\n\n/**\n * @publicApi\n */\nexport const platformServer =\n createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n\n/**\n * The server platform that supports the runtime compiler.\n *\n * @publicApi\n */\nexport const platformDynamicServer =\n createPlatformFactory(platformCoreDynamic, 'serverDynamic', INTERNAL_SERVER_PLATFORM_PROVIDERS);\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {APP_ID, NgModule} from '@angular/core';\nimport {DOCUMENT, TransferState, ɵescapeHtml as escapeHtml} from '@angular/platform-browser';\n\nimport {BEFORE_APP_SERIALIZED} from './tokens';\n\nexport function serializeTransferStateFactory(\n doc: Document, appId: string, transferStore: TransferState) {\n return () => {\n const script = doc.createElement('script');\n script.id = appId + '-state';\n script.setAttribute('type', 'application/json');\n script.textContent = escapeHtml(transferStore.toJson());\n doc.body.appendChild(script);\n };\n}\n\n/**\n * NgModule to install on the server side while using the `TransferState` to transfer state from\n * server to client.\n *\n * @publicApi\n */\n@NgModule({\n providers: [\n TransferState, {\n provide: BEFORE_APP_SERIALIZED,\n useFactory: serializeTransferStateFactory,\n deps: [DOCUMENT, APP_ID, TransferState],\n multi: true,\n }\n ]\n})\nexport class ServerTransferStateModule {\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ApplicationRef, NgModuleFactory, NgModuleRef, PlatformRef, StaticProvider, Type} from '@angular/core';\nimport {ɵTRANSITION_ID} from '@angular/platform-browser';\nimport {first} from 'rxjs/operators';\n\nimport {PlatformState} from './platform_state';\nimport {platformDynamicServer, platformServer} from './server';\nimport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens';\n\ninterface PlatformOptions {\n document?: string;\n url?: string;\n extraProviders?: StaticProvider[];\n}\n\nfunction _getPlatform(\n platformFactory: (extraProviders: StaticProvider[]) => PlatformRef,\n options: PlatformOptions): PlatformRef {\n const extraProviders = options.extraProviders ? options.extraProviders : [];\n return platformFactory([\n {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}},\n extraProviders\n ]);\n}\n\nfunction _render<T>(\n platform: PlatformRef, moduleRefPromise: Promise<NgModuleRef<T>>): Promise<string> {\n return moduleRefPromise.then((moduleRef) => {\n const transitionId = moduleRef.injector.get(ɵTRANSITION_ID, null);\n if (!transitionId) {\n throw new Error(\n `renderModule[Factory]() requires the use of BrowserModule.withServerTransition() to ensure\nthe server-rendered app can be properly bootstrapped into a client app.`);\n }\n const applicationRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);\n return applicationRef.isStable.pipe((first((isStable: boolean) => isStable)))\n .toPromise()\n .then(() => {\n const platformState = platform.injector.get(PlatformState);\n\n // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string.\n const callbacks = moduleRef.injector.get(BEFORE_APP_SERIALIZED, null);\n if (callbacks) {\n for (const callback of callbacks) {\n try {\n callback();\n } catch (e) {\n // Ignore exceptions.\n console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e);\n }\n }\n }\n\n const output = platformState.renderToString();\n platform.destroy();\n return output;\n });\n });\n}\n\n/**\n * Renders a Module to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * Do not use this in a production server environment. Use pre-compiled {@link NgModuleFactory} with\n * {@link renderModuleFactory} instead.\n *\n * @publicApi\n */\nexport function renderModule<T>(\n module: Type<T>, options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformDynamicServer, options);\n return _render(platform, platform.bootstrapModule(module));\n}\n\n/**\n * Renders a {@link NgModuleFactory} to string.\n *\n * `document` is the full document HTML of the page to render, as a string.\n * `url` is the URL for the current render request.\n * `extraProviders` are the platform level providers for the current render request.\n *\n * @publicApi\n */\nexport function renderModuleFactory<T>(\n moduleFactory: NgModuleFactory<T>,\n options: {document?: string, url?: string, extraProviders?: StaticProvider[]}):\n Promise<string> {\n const platform = _getPlatform(platformServer, options);\n return _render(platform, platform.bootstrapModuleFactory(moduleFactory));\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nexport {INTERNAL_SERVER_PLATFORM_PROVIDERS as ɵINTERNAL_SERVER_PLATFORM_PROVIDERS, SERVER_RENDER_PROVIDERS as ɵSERVER_RENDER_PROVIDERS} from './server';\nexport {ServerRendererFactory2 as ɵServerRendererFactory2} from './server_renderer';","/**\n * @license\n * Copyright Google Inc. 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/**\n * @module\n * @description\n * Entry point for all public APIs of the common package.\n */\n\nimport {Version} from '@angular/core';\n\n/**\n * @publicApi\n */\nexport const VERSION = new Version('7.2.16');\n","/**\n * @license\n * Copyright Google Inc. 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\nexport {PlatformState} from './platform_state';\nexport {ServerModule, platformDynamicServer, platformServer} from './server';\nexport {BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformConfig} from './tokens';\nexport {ServerTransferStateModule} from './transfer_state';\nexport {renderModule, renderModuleFactory} from './utils';\n\nexport * from './private_export';\nexport {VERSION} from './version';\n","/**\n * @license\n * Copyright Google Inc. 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/// <reference types=\"node\" />\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/platform-server';\n\n// This file only reexports content of the `src` folder. Keep it that way.\n","/**\n * @license\n * Copyright Google Inc. 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 not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {SERVER_HTTP_PROVIDERS as ɵangular_packages_platform_server_platform_server_i,ServerXhr as ɵangular_packages_platform_server_platform_server_e,ServerXsrfStrategy as ɵangular_packages_platform_server_platform_server_f,httpFactory as ɵangular_packages_platform_server_platform_server_g,zoneWrappedInterceptingHandler as ɵangular_packages_platform_server_platform_server_h} from './src/http';\nexport {instantiateServerRendererFactory as ɵangular_packages_platform_server_platform_server_a} from './src/server';\nexport {ServerEventManagerPlugin as ɵangular_packages_platform_server_platform_server_d} from './src/server_events';\nexport {ServerStylesHost as ɵangular_packages_platform_server_platform_server_c} from './src/styles_host';\nexport {serializeTransferStateFactory as ɵangular_packages_platform_server_platform_server_b} from './src/transfer_state';"],"names":["tslib_1.__extends","setRootDomAdapter","BrowserDomAdapter","tslib_1.__param","HttpInterceptingHandler","url.parse","getDOM","flattenStyles","SharedStylesHost","NAMESPACE_URIS","shimContentAttribute","shimHostAttribute","PLATFORM_SERVER_ID","ALLOW_MULTIPLE_PLATFORMS","NullViewportScroller","platformCoreDynamic","escapeHtml","tslib_1.__values"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;AAOA,IAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjC,AAEA,SAAS,eAAe,CAAC,UAAkB;IACzC,OAAO,IAAI,KAAK,CAAC,mDAAmD,GAAG,UAAU,CAAC,CAAC;CACpF;AAED,SAAS,WAAW;;IAElB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAc,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;CACtD;;;;AAKD,SAAgB,aAAa,CAAC,IAAY,EAAE,GAAS;IAAT,oBAAA,EAAA,SAAS;IACnD,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC1B,OAAO,GAAG,CAAC;CACZ;;;;AAKD,SAAgB,iBAAiB,CAAC,GAAa;IAC7C,OAAQ,GAAW,CAAC,SAAS,EAAE,CAAC;CACjC;;;;AAKD;IAAmCA,iCAAiB;IAApD;;KAuLC;IAtLQ,yBAAW,GAAlB;QACE,WAAW,EAAE,CAAC;QACdC,kBAAiB,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;KACxC;IAID,gCAAQ,GAAR,UAAS,KAAa,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;IAEjD,2BAAG,GAAH,UAAI,KAAa;;QAEf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,gCAAQ,GAAR,UAAS,KAAa,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;IAEjD,mCAAW,GAAX,eAAgB;IAEhB,yCAAiB,GAAjB,cAA+B,OAAO,KAAK,CAAC,EAAE;IAC9C,+CAAuB,GAAvB,cAAqC,OAAO,KAAK,CAAC,EAAE;IAEpD,gCAAQ,GAAR,UAAS,KAAU,EAAE,KAAU;QAC7B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACjC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SACtB;QACD,OAAO,KAAK,CAAC;KACd;IAED,0CAAkB,GAAlB;QACE,OAAO,aAAa,CAAC,iEAAiE,CAAC,CAAC;KACzF;IAED,0CAAkB,GAAlB;QACE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC7B,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;SACpD;QACD,OAAO,aAAa,CAAC,UAAU,CAAC;KACjC;IAED,wCAAgB,GAAhB,UAAiB,EAAO,EAAE,GAAwB;QAAxB,oBAAA,EAAA,cAAwB;QAChD,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC7C,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB;IACD,qCAAa,GAAb,UAAc,EAAO,IAAsB,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE;IAElE,kCAAU,GAAV,UAAW,IAAS,IAAa,OAAO,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;IAC/F,qCAAa,GAAb,UAAc,IAAS;QACrB,OAAO,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC;KAChE;IACD,qCAAa,GAAb,UAAc,IAAS;QACrB,OAAO,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;KAC/E;IACD,qCAAa,GAAb,UAAc,IAAS,IAAa,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE;IACrE,oCAAY,GAAZ,UAAa,IAAS,IAAa,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;IAE7E,mCAAW,GAAX,UAAY,EAAW,EAAE,IAAY;QACnC,IAAI,IAAI,KAAK,MAAM,EAAE;;;YAGnB,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE;;YAE/B,OAAO,EAAE,CAAC,WAAW,CAAC;SACvB;QACD,OAAa,EAAG,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,mCAAW,GAAX,UAAY,EAAW,EAAE,IAAY,EAAE,KAAU;QAC/C,IAAI,IAAI,KAAK,MAAM,EAAE;;;YAGnB,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE;;YAE/B,EAAE,CAAC,WAAW,GAAG,KAAK,CAAC;SACxB;QACK,EAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;KACzB;IAED,4CAAoB,GAApB,UAAqB,GAAa,EAAE,MAAc;QAChD,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,GAAG,CAAC,WAAW,CAAC;SACxB;QACD,IAAI,MAAM,KAAK,UAAU,EAAE;YACzB,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,MAAM,KAAK,MAAM,EAAE;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC;SACjB;QACD,OAAO,IAAI,CAAC;KACb;IAED,mCAAW,GAAX,UAAY,GAAa;QACvB,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAiB,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,EAAE;YACR,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC3B;;QAED,OAAO,IAAI,CAAC;KACb;;IAGD,2CAAmB,GAAnB,UAAoB,OAAY;QAC9B,IAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,IAAM,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,cAAc,EAAE;YAClB,IAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;wBACrB,MAAM,IAAI,KAAK,CAAC,wBAAsB,KAAO,CAAC,CAAC;qBAChD;oBACD,IAAM,MAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,QAAQ,CAAC,MAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACtD;aACF;SACF;QACD,OAAO,QAAQ,CAAC;KACjB;;IAED,4CAAoB,GAApB,UAAqB,OAAY,EAAE,QAAkC;QACnE,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,KAAK,IAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,QAAQ,EAAE;gBACZ,cAAc,IAAI,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;aACnD;SACF;QACD,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;KAC/C;IACD,gCAAQ,GAAR,UAAS,OAAY,EAAE,SAAiB,EAAE,UAAwB;QAChE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC9C;IACD,mCAAW,GAAX,UAAY,OAAY,EAAE,SAAiB;;;QAGzC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;KACvC;IACD,gCAAQ,GAAR,UAAS,OAAY,EAAE,SAAiB;QACtC,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KAClC;IACD,gCAAQ,GAAR,UAAS,OAAY,EAAE,SAAiB,EAAE,UAAmB;QAC3D,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,UAAU,GAAG,KAAK,IAAI,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;KAC5D;IAED,qCAAa,GAAb,UAAc,EAAQ,EAAE,GAAQ;QAC9B,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;;QAGtB,IAAM,GAAG,GAAG,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;QACnC,IAAM,GAAG,GAAI,GAAW,CAAC,WAAW,CAAC;QACrC,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IAED,kCAAU,GAAV,cAAwB,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC,EAAE;IAC9D,mCAAW,GAAX,cAA0B,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC,EAAE;IACjE,oCAAY,GAAZ,cAAyB,OAAO,iBAAiB,CAAC,EAAE;IAEpD,4CAAoB,GAApB,cAAkC,OAAO,KAAK,CAAC,EAAE;IACjD,sCAAc,GAAd,cAA2B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE;IAC/C,0CAAkB,GAAlB,cAA+B,OAAO,EAAE,CAAC,EAAE;IAC3C,wCAAgB,GAAhB,cAA6B,OAAO,eAAe,CAAC,EAAE;IACtD,yCAAiB,GAAjB,cAA+B,OAAO,IAAI,CAAC,EAAE;IAE7C,2CAAmB,GAAnB,UAAoB,EAAO,IAAY,MAAM,eAAe,CAAC,qBAAqB,CAAC,CAAC,EAAE;IAEtF,uCAAe,GAAf,cAA6B,OAAO,KAAK,CAAC,EAAE;IAC5C,iCAAS,GAAT,UAAU,IAAY,IAAY,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE;IACvE,iCAAS,GAAT,UAAU,IAAY,EAAE,KAAa,IAAI,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE;IAChF,oBAAC;CAvLD,CAAmCC,kBAAiB,GAuLnD;;AC/ND;;;;;;;AAaA;;;;;AAMA;IACE,uBAAsC,IAAS;QAAT,SAAI,GAAJ,IAAI,CAAK;KAAI;;;;IAKnD,sCAAc,GAAd,cAA2B,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;;;;IAKjE,mCAAW,GAAX,cAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE;IAX7B,aAAa;QADzB,UAAU,EAAE;QAEEC,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;;OADlB,aAAa,CAYzB;IAAD,oBAAC;CAZD;;ACnBA;;;;;;;AAQA,IAAM,IAAI,GAAQ,OAAO,CAAC,MAAM,CAAC,CAAC;AAElC,AAOA,IAAM,aAAa,GAAG,sBAAsB,CAAC;AAE7C,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,kEAAgE,GAAK,CAAC,CAAC;KACxF;CACF;AAGD;IAAA;KAEC;IADC,yBAAK,GAAL,cAA0B,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE;IADlD,SAAS;QADrB,UAAU,EAAE;OACA,SAAS,CAErB;IAAD,gBAAC;CAFD,IAEC;;IAGD;KAEC;IADC,6CAAgB,GAAhB,UAAiB,GAAY,KAAU;IAD5B,kBAAkB;QAD9B,UAAU,EAAE;OACA,kBAAkB,CAE9B;IAAD,yBAAC;CAFD,IAEC;AAED;IAAA;KA4EC;IA3EC,mCAAI,GAAJ,UAAK,OAAU;QAAf,iBAwEC;QAvEC,OAAO,IAAI,UAAU,CAAC,UAAC,QAAqB;YAC1C,IAAI,IAAI,GAAS,IAAM,CAAC;YACxB,IAAI,SAAS,GAAY,KAAK,CAAC;YAC/B,IAAI,GAAG,GAAsB,IAAI,CAAC;YAClC,IAAI,WAAW,GAAQ,IAAI,CAAC;YAC5B,IAAI,UAAU,GAAQ,IAAI,CAAC;YAE3B,IAAM,YAAY,GAAG,UAAC,KAAW;gBAC/B,IAAI,GAAG,KAAK,CAAC;gBACb,SAAS,GAAG,IAAI,CAAC;gBAEjB,IAAM,QAAQ,GAAG,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxC,GAAG,GAAG,QAAQ,CAAC,SAAS,CACpB,UAAA,GAAG,IAAI,OAAA,WAAW,GAAG,GAAG,GAAA,EACxB,UAAA,GAAG;oBACD,IAAI,CAAC,SAAS,EAAE;wBACd,MAAM,IAAI,KAAK,CACX,oFAAoF,CAAC,CAAC;qBAC3F;oBACD,UAAU,GAAG,GAAG,CAAC;oBACjB,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf,EACD;oBACE,IAAI,CAAC,SAAS,EAAE;wBACd,MAAM,IAAI,KAAK,CACX,oFAAoF,CAAC,CAAC;qBAC3F;oBACD,SAAS,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,MAAM,EAAE,CAAC;iBACf,CAAC,CAAC;aACR,CAAC;YAEF,IAAM,UAAU,GAAG,UAAC,KAAW;gBAC7B,IAAI,CAAC,SAAS,EAAE;oBACd,OAAO;iBACR;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,WAAW,EAAE,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC;iBACZ;aACF,CAAC;YAEF,IAAM,UAAU,GAAG;gBACjB,IAAI,UAAU,KAAK,IAAI,EAAE;oBACvB,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;iBAC5B;qBAAM;oBACL,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;aACF,CAAC;;;;YAKF,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACxC,gCAAgC,EAAE,UAAU,EAAE,EAAE,EAAE,cAAM,OAAA,IAAI,GAAA,EAAE,UAAU,CAAC,CAAC;YAC9E,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,OAAO;gBACL,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,SAAS,GAAG,KAAK,CAAC;iBACnB;gBACD,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,WAAW,EAAE,CAAC;oBAClB,GAAG,GAAG,IAAI,CAAC;iBACZ;aACF,CAAC;SACH,CAAC,CAAC;KACJ;IAGH,2BAAC;CAAA,IAAA;AAED;IAA6CH,2CAAuC;IAMlF,iCAAmB,OAAgB,EAAU,OAAmB;QAAhE,YACE,iBAAO,SAGR;QAJkB,aAAO,GAAP,OAAO,CAAS;QAAU,aAAO,GAAP,OAAO,CAAY;QAE9D,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;KACpC;IAED,0CAAQ,GAAR,UAAS,OAAgB;QACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,cAAc,CAAC,QAAgC,CAAC;KAC7D;IAED,sBAAI,+CAAU;aAAd;YACE,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;SACnF;;;OAAA;IACH,8BAAC;CApBD,CAA6C,oBAAoB,GAoBhE;AAED;IACE,8BAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;KAAI;IAE3C,+CAAgB,GAAhB,UAAiB,OAAY;QAC3B,OAAO,IAAI,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3D;IACH,2BAAC;CAAA,IAAA;AAED;IACIA,qCAAsD;IACxD,2BAAoB,OAAoB;QAAxC,YAA4C,iBAAO,SAAG;QAAlC,aAAO,GAAP,OAAO,CAAa;;KAAc;IAEtD,kCAAM,GAAN,UAAO,OAAyB,IAAgC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;IAElF,oCAAQ,GAAlB,UAAmB,OAAyB;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACrC;IACH,wBAAC;CATD,CACI,oBAAoB,GAQvB;SAEe,WAAW,CAAC,UAAsB,EAAE,OAAuB;IACzE,IAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,SAAgB,8BAA8B,CAAC,OAAoB,EAAE,QAAkB;IACrF,IAAM,WAAW,GAAgB,IAAII,wBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChF,OAAO,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;CAC3C;AAED,IAAa,qBAAqB,GAAe;IAC/C,EAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,EAAC;IAC5E,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAC;IACjG,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,EAAE;QAC1C,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,8BAA8B;QAC1C,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC9B;CACF;;AC5KD;;;;;;;AAQA,AAYA;;;;;AAKA,IAAa,cAAc,GAAG,IAAI,cAAc,CAAiB,uBAAuB,CAAC,CAAC;;;;;;;AAQ1F,IAAa,qBAAqB,GAC9B,IAAI,cAAc,CAAoB,2BAA2B,CAAC;;AClCtE;;;;;;;AAgBA,SAAS,QAAQ,CAAC,MAAc;IAC9B,IAAM,SAAS,GAAGC,KAAS,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO;QACL,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,EAAE;QAClC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;QAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE;KAC3B,CAAC;CACH;;;;;AAOD;IAME,gCAC8B,IAAS,EAAsC,OAAY;QAA3D,SAAI,GAAJ,IAAI,CAAK;QANvB,aAAQ,GAAW,GAAG,CAAC;QACvB,WAAM,GAAW,EAAE,CAAC;QACpB,SAAI,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAG,IAAI,OAAO,EAAuB,CAAC;QAIvD,IAAM,MAAM,GAAG,OAAgC,CAAC;QAChD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;SAC5B;KACF;IAED,mDAAkB,GAAlB,cAA+B,OAAOC,OAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAG,CAAC,EAAE;IAE1E,2CAAU,GAAV,UAAW,EAA0B;;;KAGpC;IAED,6CAAY,GAAZ,UAAa,EAA0B,IAAU,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;IAElF,sBAAI,uCAAG;aAAP,cAAoB,OAAO,KAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAM,CAAC,EAAE;;;OAAA;IAElE,wCAAO,GAAf,UAAgB,KAAa,EAAE,MAAc;QAA7C,iBAUC;QATC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;;YAEvB,OAAO;SACR;QACA,IAAsB,CAAC,IAAI,GAAG,KAAK,CAAC;QACrC,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,iBAAiB,CAAC,cAAM,OAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA;SACzB,CAAC,GAAA,CAAC,CAAC;KAC5B;IAED,6CAAY,GAAZ,UAAa,KAAU,EAAE,KAAa,EAAE,MAAc;QACpD,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,IAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,IAA0B,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACzD,IAAwB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACtC;IAED,0CAAS,GAAT,UAAU,KAAU,EAAE,KAAa,EAAE,MAAc;QACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACzC;IAED,wCAAO,GAAP,cAAkB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;IAEvD,qCAAI,GAAJ,cAAe,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE;IAtDzC,sBAAsB;QADlC,UAAU,EAAE;QAQNH,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA,EAAqBA,WAAA,QAAQ,EAAE,CAAA,EAAEA,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;;OAPjE,sBAAsB,CAuDlC;IAAD,6BAAC;CAvDD,IAuDC;SAEe,iBAAiB,CAAC,EAAY;IAC5C,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;CACzD;;ACzFD;;;;;;;;IAaE,kCAAsC,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;KAAI;;IAGlD,2CAAQ,GAAR,UAAS,SAAiB,IAAI,OAAO,IAAI,CAAC,EAAE;IAE5C,mDAAgB,GAAhB,UAAiB,OAAoB,EAAE,SAAiB,EAAE,OAAiB;QACzE,OAAOG,OAAM,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KAC1D;IAED,yDAAsB,GAAtB,UAAuB,OAAe,EAAE,SAAiB,EAAE,OAAiB;QAC1E,IAAM,MAAM,GAAgBA,OAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,8BAA4B,MAAM,mBAAc,SAAW,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;KAC1D;IAhBU,wBAAwB;QADpC,UAAU,EAAE;QAEEH,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;;OADlB,wBAAwB,CAiBpC;IAAD,+BAAC;CAjBD;;ACZA;;;;;;;AAYA,IAAM,WAAW,GAAU,EAAE,CAAC;AAE9B,IAAM,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAGtD;IAKE,gCACY,YAA0B,EAAU,MAAc,EAChC,QAAa,EAAU,gBAAkC;QAD3E,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;QAChC,aAAQ,GAAR,QAAQ,CAAK;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAN/E,qBAAgB,GAAG,IAAI,GAAG,EAAqB,CAAC;QAEhD,WAAM,GAAG,cAAc,CAAC;QAK9B,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAChG;IAED,+CAAc,GAAd,UAAe,OAAY,EAAE,IAAwB;QACnD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE;YACrB,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,QAAQ,IAAI,CAAC,aAAa;YACxB,KAAK,iBAAiB,CAAC,MAAM,CAAC;YAC9B,KAAK,iBAAiB,CAAC,QAAQ,EAAE;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,IAAI,oCAAoC,CAC/C,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,EACjF,IAAI,CAAC,CAAC;oBACV,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;iBAC9C;gBACsC,QAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACtE,OAAO,QAAQ,CAAC;aACjB;YACD,SAAS;gBACP,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACvC,IAAM,MAAM,GAAGI,cAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBACvD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;iBAC1D;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC;aAC7B;SACF;KACF;IAED,sCAAK,GAAL,eAAU;IACV,oCAAG,GAAH,eAAQ;IAxCG,sBAAsB;QADlC,UAAU,EAAE;QAQNJ,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;yCADK,YAAY,EAAkB,MAAM,UACSK,iBAAgB;OAP5E,sBAAsB,CAyClC;IAAD,6BAAC;CAzCD,IAyCC;AAED;IAGE,gCACY,YAA0B,EAAY,QAAa,EAAU,MAAc,EAC3E,MAAgC;QADhC,iBAAY,GAAZ,YAAY,CAAc;QAAY,aAAQ,GAAR,QAAQ,CAAK;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC3E,WAAM,GAAN,MAAM,CAA0B;QAJ5C,SAAI,GAAyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAID;IAEhD,wCAAO,GAAP,eAAkB;IAIlB,8CAAa,GAAb,UAAc,IAAY,EAAE,SAAkB,EAAE,SAAe;QAC7D,IAAI,SAAS,EAAE;YACb,OAAOF,OAAM,EAAE,CAAC,eAAe,CAACG,eAAc,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjF;QAED,OAAOH,OAAM,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpD;IAED,8CAAa,GAAb,UAAc,KAAa,EAAE,SAAe,IAAS,OAAOA,OAAM,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5F,2CAAU,GAAV,UAAW,KAAa,EAAE,SAAe,IAAS,OAAOA,OAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1F,4CAAW,GAAX,UAAY,MAAW,EAAE,QAAa,IAAUA,OAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE;IAEzF,6CAAY,GAAZ,UAAa,MAAW,EAAE,QAAa,EAAE,QAAa;QACpD,IAAI,MAAM,EAAE;YACVA,OAAM,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACnD;KACF;IAED,4CAAW,GAAX,UAAY,MAAW,EAAE,QAAa;QACpC,IAAI,MAAM,EAAE;YACVA,OAAM,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SACxC;KACF;IAED,kDAAiB,GAAjB,UAAkB,cAA0B,EAAE,SAAe;QAC3D,IAAI,EAAO,CAAC;QACZ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;YACtC,EAAE,GAAGA,OAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,EAAE,EAAE;gBACP,MAAM,IAAI,KAAK,CAAC,oBAAiB,cAAc,kCAA8B,CAAC,CAAC;aAChF;SACF;aAAM;YACL,EAAE,GAAG,cAAc,CAAC;SACrB;QACDA,OAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,EAAE,CAAC;KACX;IAED,2CAAU,GAAV,UAAW,IAAS,IAAS,OAAOA,OAAM,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE;IAEnE,4CAAW,GAAX,UAAY,IAAS,IAAS,OAAOA,OAAM,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;IAElE,6CAAY,GAAZ,UAAa,EAAO,EAAE,IAAY,EAAE,KAAa,EAAE,SAAkB;QACnE,IAAI,SAAS,EAAE;YACbA,OAAM,EAAE,CAAC,cAAc,CAAC,EAAE,EAAEG,eAAc,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;SACvF;aAAM;YACLH,OAAM,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACxC;KACF;IAED,gDAAe,GAAf,UAAgB,EAAO,EAAE,IAAY,EAAE,SAAkB;QACvD,IAAI,SAAS,EAAE;YACbA,OAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAEG,eAAc,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;SACjE;aAAM;YACLH,OAAM,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACpC;KACF;IAED,yCAAQ,GAAR,UAAS,EAAO,EAAE,IAAY,IAAUA,OAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE;IAEtE,4CAAW,GAAX,UAAY,EAAO,EAAE,IAAY,IAAUA,OAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE;IAE5E,yCAAQ,GAAR,UAAS,EAAO,EAAE,KAAa,EAAE,KAAU,EAAE,KAA0B;QACrEA,OAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACrC;IAED,4CAAW,GAAX,UAAY,EAAO,EAAE,KAAa,EAAE,KAA0B;QAC5DA,OAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KACjC;;;;;IAMO,yDAAwB,GAAhC,UAAiC,OAAe,EAAE,YAAoB;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;KAC/D;IAED,4CAAW,GAAX,UAAY,EAAO,EAAE,IAAY,EAAE,KAAU;QAC3C,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvCA,OAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;;;;QAItC,IAAM,OAAO,GAAI,EAAE,CAAC,OAAkB,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,KAAK,IAAI,IAAI,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,QAAQ,CAAC;YACxE,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC;YACnD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YAChD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/C;KACF;IAED,yCAAQ,GAAR,UAAS,IAAS,EAAE,KAAa,IAAUA,OAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;IAE3E,uCAAM,GAAN,UACI,MAAsC,EAAE,SAAiB,EACzD,QAAiC;QACnC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,OAAmB,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvD,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/D;QACD,OAAmB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAC1C,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAc,CAAC;KACnF;IAEO,uDAAsB,GAA9B,UAA+B,YAAsB;QAArD,iBAUC;QATC,OAAO,UAAC,KAAU;;;YAGhB,IAAM,oBAAoB,GAAG,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;YAC/E,IAAI,oBAAoB,KAAK,KAAK,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;aAC3B;SACF,CAAC;KACH;IACH,6BAAC;CAAA,IAAA;AAED,IAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,SAAS,oBAAoB,CAAC,IAAY,EAAE,QAAgB;IAC1D,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;QACtC,MAAM,IAAI,KAAK,CACX,yBAAuB,QAAQ,SAAI,IAAI,yGAAkG,CAAC,CAAC;KAChJ;CACF;AAED;IAAmDN,wDAAsB;IAIvE,8CACI,YAA0B,EAAE,QAAa,EAAE,MAAc,EAAE,gBAAkC,EAC7F,MAAgC,EAAU,SAAwB;QAFtE,YAGE,kBAAM,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,SAQ9C;QAT6C,eAAS,GAAT,SAAS,CAAe;;QAGpE,IAAM,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,IAAM,MAAM,GAAGO,cAAa,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChE,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEnC,KAAI,CAAC,WAAW,GAAGG,qBAAoB,CAAC,WAAW,CAAC,CAAC;QACrD,KAAI,CAAC,QAAQ,GAAGC,kBAAiB,CAAC,WAAW,CAAC,CAAC;;KAChD;IAED,0DAAW,GAAX,UAAY,OAAY,IAAI,iBAAM,YAAY,YAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE;IAE7E,4DAAa,GAAb,UAAc,MAAW,EAAE,IAAY;QACrC,IAAM,EAAE,GAAG,iBAAM,aAAa,YAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,iBAAM,YAAY,YAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC;KACX;IACH,2CAAC;CAxBD,CAAmD,sBAAsB,GAwBxE;;AClOD;;;;;;;;IAYsCX,oCAAgB;IAGpD,0BAC8B,GAAQ,EACU,YAAoB;QAFpE,YAGE,iBAAO,SAER;QAJ6B,SAAG,GAAH,GAAG,CAAK;QACU,kBAAY,GAAZ,YAAY,CAAQ;QAJ5D,UAAI,GAAQ,IAAI,CAAC;QAMvB,KAAI,CAAC,IAAI,GAAGM,OAAM,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;KAC3D;IAEO,oCAAS,GAAjB,UAAkB,KAAa;QAC7B,IAAI,OAAO,GAAGA,OAAM,EAAE,CAAC;QACvB,IAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACpC;IAED,wCAAa,GAAb,UAAc,SAAsB;QAApC,iBAA4F;QAApD,SAAS,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;KAAE;IApBjF,gBAAgB;QAD5B,UAAU,EAAE;QAKNH,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChBA,WAAA,QAAQ,EAAE,CAAA,EAAEA,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;;OAL5B,gBAAgB,CAqB5B;IAAD,uBAAC;CAAA,CArBqCK,iBAAgB;;ACZtD;;;;;;;IA8Ba,kCAAkC,GAAqB;IAClE,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAC;IAC5D,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAEI,mBAAkB,EAAC;IACpD,EAAC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE;QAC7F,OAAO,EAAE,gBAAgB;QACzB,QAAQ,EAAE,sBAAsB;QAChC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KAC7C;IACD,EAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAC;;IAE1C,EAAC,OAAO,EAAEC,yBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAC;CACpD,CAAC;AAEF,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,OAAO,cAAQ,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;CAC/C;AAED,SAAgB,gCAAgC,CAC5C,QAA0B,EAAE,MAAwB,EAAE,IAAY;IACpE,OAAO,IAAI,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;CAC9D;AAED,IAAa,uBAAuB,GAAe;IACjD,sBAAsB;IACtB;QACE,OAAO,EAAE,gBAAgB;QACzB,UAAU,EAAE,gCAAgC;QAC5C,IAAI,EAAE,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,CAAC;KACzD;IACD,gBAAgB;IAChB,EAAC,OAAO,EAAEL,iBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAC;IAC1D,EAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAC;CAClF,CAAC;;;;;;AAiBF;IAAA;KACC;IADY,YAAY;QAVxB,QAAQ,CAAC;YACR,OAAO,EAAE,CAAC,aAAa,CAAC;YACxB,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,CAAC;YAC7D,SAAS,EAAE;gBACT,uBAAuB;gBACvB,qBAAqB;gBACrB,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAC;gBACtC,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAEM,qBAAoB,EAAC;aAC5D;SACF,CAAC;OACW,YAAY,CACxB;IAAD,mBAAC;CADD,IACC;AAED,SAAS,SAAS,CAAC,QAAkB;IACnC,IAAI,MAAM,GAAwB,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;QAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;KACnD;SAAM;QACL,OAAOR,OAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;KACtC;CACF;;;;AAKD,IAAa,cAAc,GACvB,qBAAqB,CAAC,YAAY,EAAE,QAAQ,EAAE,kCAAkC,CAAC,CAAC;;;;;;AAOtF,IAAa,qBAAqB,GAC9B,qBAAqB,CAACS,oBAAmB,EAAE,eAAe,EAAE,kCAAkC,CAAC;;ACvGnG;;;;;;;SAagB,6BAA6B,CACzC,GAAa,EAAE,KAAa,EAAE,aAA4B;IAC5D,OAAO;QACL,IAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC7B,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,GAAGC,WAAU,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;KAC9B,CAAC;CACH;;;;;;;AAkBD;IAAA;KACC;IADY,yBAAyB;QAVrC,QAAQ,CAAC;YACR,SAAS,EAAE;gBACT,aAAa,EAAE;oBACb,OAAO,EAAE,qBAAqB;oBAC9B,UAAU,EAAE,6BAA6B;oBACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC;oBACvC,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC;OACW,yBAAyB,CACrC;IAAD,gCAAC;CADD;;ACxCA;;;;;;;AAsBA,SAAS,YAAY,CACjB,eAAkE,EAClE,OAAwB;IAC1B,IAAM,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;IAC5E,OAAO,eAAe,CAAC;QACrB,EAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAC,EAAC;QACnF,cAAc;KACf,CAAC,CAAC;CACJ;AAED,SAAS,OAAO,CACZ,QAAqB,EAAE,gBAAyC;IAClE,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAC,SAAS;QACrC,IAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CACX,qKAC8D,CAAC,CAAC;SACrE;QACD,IAAM,cAAc,GAAmB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9E,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,UAAC,QAAiB,IAAK,OAAA,QAAQ,GAAA,CAAC,EAAE;aACxE,SAAS,EAAE;aACX,IAAI,CAAC;;YACJ,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;YAG3D,IAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,SAAS,EAAE;;oBACb,KAAuB,IAAA,cAAAC,SAAA,SAAS,CAAA,oCAAA,2DAAE;wBAA7B,IAAM,QAAQ,sBAAA;wBACjB,IAAI;4BACF,QAAQ,EAAE,CAAC;yBACZ;wBAAC,OAAO,CAAC,EAAE;;4BAEV,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;yBAC/D;qBACF;;;;;;;;;aACF;YAED,IAAM,MAAM,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;YAC9C,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC;SACf,CAAC,CAAC;KACR,CAAC,CAAC;CACJ;;;;;;;;;;;;;AAcD,SAAgB,YAAY,CACxB,MAAe,EAAE,OAA6E;IAEhG,IAAM,QAAQ,GAAG,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;CAC5D;;;;;;;;;;AAWD,SAAgB,mBAAmB,CAC/B,aAAiC,EACjC,OAA6E;IAE/E,IAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC;CAC1E;;ACrGD;;;;;;GAMG;;ACNH;;;;;;;AAQA,AAQA;;;AAGA,IAAa,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC;;ACnBvD;;;;;;GAMG;;ACNH;;;;;;;AAQA,AASA,0EAA0E;;ACjB1E;;;;;;GAMG;;ACNH;;GAEG;;;;"}
package/fesm5/testing.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v7.2.12
2
+ * @license Angular v7.2.16
3
3
  * (c) 2010-2019 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/platform-server",
3
- "version": "7.2.12",
3
+ "version": "7.2.16",
4
4
  "description": "Angular - library for using Angular in Node.js",
5
5
  "main": "./bundles/platform-server.umd.js",
6
6
  "module": "./fesm5/platform-server.js",
@@ -13,13 +13,13 @@
13
13
  "author": "angular",
14
14
  "license": "MIT",
15
15
  "peerDependencies": {
16
- "@angular/animations": "7.2.12",
17
- "@angular/common": "7.2.12",
18
- "@angular/compiler": "7.2.12",
19
- "@angular/core": "7.2.12",
20
- "@angular/http": "7.2.12",
21
- "@angular/platform-browser": "7.2.12",
22
- "@angular/platform-browser-dynamic": "7.2.12"
16
+ "@angular/animations": "7.2.16",
17
+ "@angular/common": "7.2.16",
18
+ "@angular/compiler": "7.2.16",
19
+ "@angular/core": "7.2.16",
20
+ "@angular/http": "7.2.16",
21
+ "@angular/platform-browser": "7.2.16",
22
+ "@angular/platform-browser-dynamic": "7.2.16"
23
23
  },
24
24
  "dependencies": {
25
25
  "domino": "^2.1.0",
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_platform_server_platform_server_a":{"__symbolic":"function","parameters":["renderer","engine","zone"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ɵAnimationRendererFactory","line":49,"character":13},"arguments":[{"__symbolic":"reference","name":"renderer"},{"__symbolic":"reference","name":"engine"},{"__symbolic":"reference","name":"zone"}]}},"ɵangular_packages_platform_server_platform_server_b":{"__symbolic":"function","parameters":["doc","appId","transferStore"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":9,"module":"./src/transfer_state"}},"PlatformState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":20,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"renderToString":[{"__symbolic":"method"}],"getDocument":[{"__symbolic":"method"}]}},"ServerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":69,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":70,"character":12}],"imports":[{"__symbolic":"reference","module":"@angular/http","name":"HttpModule","line":71,"character":12},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":71,"character":24},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"NoopAnimationsModule","line":71,"character":42}],"providers":[{"__symbolic":"reference","name":"ɵSERVER_RENDER_PROVIDERS"},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_i"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Testability","line":75,"character":14},"useValue":null},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"ViewportScroller","line":76,"character":14},"useClass":{"__symbolic":"reference","module":"@angular/common","name":"ɵNullViewportScroller","line":76,"character":42}}]}]}],"members":{}},"platformDynamicServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":103,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser-dynamic","name":"ɵplatformCoreDynamic","line":103,"character":26},"serverDynamic",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"platformServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":95,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore","line":95,"character":26},"server",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"BEFORE_APP_SERIALIZED":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":34,"character":8},"arguments":["Server.RENDER_MODULE_HOOK"]},"INITIAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":34},"arguments":["Server.INITIAL_CONFIG"]},"PlatformConfig":{"__symbolic":"interface"},"ServerTransferStateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":32,"character":4},{"provide":{"__symbolic":"reference","name":"BEFORE_APP_SERIALIZED"},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_b"},"deps":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":35,"character":13},{"__symbolic":"reference","module":"@angular/core","name":"APP_ID","line":35,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":35,"character":31}],"multi":true}]}]}],"members":{}},"renderModule":{"__symbolic":"function"},"renderModuleFactory":{"__symbolic":"function"},"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":{"__symbolic":"error","message":"Reference to a non-exported function","line":82,"character":9,"context":{"name":"_document"},"module":"./src/server"},"ɵSERVER_RENDER_PROVIDERS":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":55,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_a"},"deps":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"__symbolic":"reference","module":"@angular/animations/browser","name":"ɵAnimationEngine","line":57,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":57,"character":53}]},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":60,"character":12},"useExisting":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"}},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"EVENT_MANAGER_PLUGINS","line":61,"character":12},"multi":true,"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}}],"ɵServerRendererFactory2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":24,"character":14}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"EventManager","line":23,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":23,"character":58},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":24,"character":73}]}],"createRenderer":[{"__symbolic":"method"}],"begin":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":19,"character":27},"arguments":["7.2.12"]},"ɵangular_packages_platform_server_platform_server_c":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":16,"character":14}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":17,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵTRANSITION_ID","line":17,"character":26}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"_addStyle":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_d":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":13,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_e":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"build":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_f":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"configureRequest":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_g":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_h":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_i":[{"provide":{"__symbolic":"reference","module":"@angular/http","name":"Http","line":165,"character":12},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_g"},"deps":[{"__symbolic":"reference","module":"@angular/http","name":"XHRBackend","line":119,"character":56},{"__symbolic":"reference","module":"@angular/http","name":"RequestOptions","line":165,"character":62}]},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"BrowserXhr","line":166,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"XSRFStrategy","line":166,"character":56},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_f"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"XhrFactory","line":167,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHandler","line":168,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_h"},"deps":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpBackend","line":145,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":170,"character":24}]}]},"origins":{"ɵangular_packages_platform_server_platform_server_a":"./src/server","ɵangular_packages_platform_server_platform_server_b":"./src/transfer_state","PlatformState":"./src/platform_state","ServerModule":"./src/server","platformDynamicServer":"./src/server","platformServer":"./src/server","BEFORE_APP_SERIALIZED":"./src/tokens","INITIAL_CONFIG":"./src/tokens","PlatformConfig":"./src/tokens","ServerTransferStateModule":"./src/transfer_state","renderModule":"./src/utils","renderModuleFactory":"./src/utils","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":"./src/server","ɵSERVER_RENDER_PROVIDERS":"./src/server","ɵServerRendererFactory2":"./src/server_renderer","VERSION":"./src/version","ɵangular_packages_platform_server_platform_server_c":"./src/styles_host","ɵangular_packages_platform_server_platform_server_d":"./src/server_events","ɵangular_packages_platform_server_platform_server_e":"./src/http","ɵangular_packages_platform_server_platform_server_f":"./src/http","ɵangular_packages_platform_server_platform_server_g":"./src/http","ɵangular_packages_platform_server_platform_server_h":"./src/http","ɵangular_packages_platform_server_platform_server_i":"./src/http"},"importAs":"@angular/platform-server"}
1
+ {"__symbolic":"module","version":4,"metadata":{"ɵangular_packages_platform_server_platform_server_a":{"__symbolic":"function","parameters":["renderer","engine","zone"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"ɵAnimationRendererFactory","line":49,"character":13},"arguments":[{"__symbolic":"reference","name":"renderer"},{"__symbolic":"reference","name":"engine"},{"__symbolic":"reference","name":"zone"}]}},"ɵangular_packages_platform_server_platform_server_b":{"__symbolic":"function","parameters":["doc","appId","transferStore"],"value":{"__symbolic":"error","message":"Lambda not supported","line":15,"character":9,"module":"./src/transfer_state"}},"PlatformState":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":18,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":20,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"renderToString":[{"__symbolic":"method"}],"getDocument":[{"__symbolic":"method"}]}},"ServerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":69,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":70,"character":12}],"imports":[{"__symbolic":"reference","module":"@angular/http","name":"HttpModule","line":71,"character":12},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":71,"character":24},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"NoopAnimationsModule","line":71,"character":42}],"providers":[{"__symbolic":"reference","name":"ɵSERVER_RENDER_PROVIDERS"},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_i"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"Testability","line":75,"character":14},"useValue":null},{"provide":{"__symbolic":"reference","module":"@angular/common","name":"ViewportScroller","line":76,"character":14},"useClass":{"__symbolic":"reference","module":"@angular/common","name":"ɵNullViewportScroller","line":76,"character":42}}]}]}],"members":{}},"platformDynamicServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":103,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser-dynamic","name":"ɵplatformCoreDynamic","line":103,"character":26},"serverDynamic",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"platformServer":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"createPlatformFactory","line":95,"character":4},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"platformCore","line":95,"character":26},"server",{"__symbolic":"reference","name":"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS"}]},"BEFORE_APP_SERIALIZED":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":34,"character":8},"arguments":["Server.RENDER_MODULE_HOOK"]},"INITIAL_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":34},"arguments":["Server.INITIAL_CONFIG"]},"PlatformConfig":{"__symbolic":"interface"},"ServerTransferStateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":30,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":32,"character":4},{"provide":{"__symbolic":"reference","name":"BEFORE_APP_SERIALIZED"},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_b"},"deps":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":35,"character":13},{"__symbolic":"reference","module":"@angular/core","name":"APP_ID","line":35,"character":23},{"__symbolic":"reference","module":"@angular/platform-browser","name":"TransferState","line":35,"character":31}],"multi":true}]}]}],"members":{}},"renderModule":{"__symbolic":"function"},"renderModuleFactory":{"__symbolic":"function"},"ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":{"__symbolic":"error","message":"Reference to a non-exported function","line":82,"character":9,"context":{"name":"_document"},"module":"./src/server"},"ɵSERVER_RENDER_PROVIDERS":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":55,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_a"},"deps":[{"__symbolic":"reference","name":"ɵServerRendererFactory2"},{"__symbolic":"reference","module":"@angular/animations/browser","name":"ɵAnimationEngine","line":57,"character":35},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":57,"character":53}]},{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":60,"character":12},"useExisting":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_c"}},{"provide":{"__symbolic":"reference","module":"@angular/platform-browser","name":"EVENT_MANAGER_PLUGINS","line":61,"character":12},"multi":true,"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_d"}}],"ɵServerRendererFactory2":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":24,"character":14}]}],null],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"EventManager","line":23,"character":28},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":23,"character":58},{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":24,"character":73}]}],"createRenderer":[{"__symbolic":"method"}],"begin":[{"__symbolic":"method"}],"end":[{"__symbolic":"method"}]}},"VERSION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Version","line":19,"character":27},"arguments":["7.2.16"]},"ɵangular_packages_platform_server_platform_server_c":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵSharedStylesHost","line":12,"character":38},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":16,"character":14}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":17,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":19},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"ɵTRANSITION_ID","line":17,"character":26}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"string"}]}],"_addStyle":[{"__symbolic":"method"}],"onStylesAdded":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_d":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DOCUMENT","line":13,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"supports":[{"__symbolic":"method"}],"addEventListener":[{"__symbolic":"method"}],"addGlobalEventListener":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_e":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":25,"character":1}}],"members":{"build":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_f":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":30,"character":1}}],"members":{"configureRequest":[{"__symbolic":"method"}]}},"ɵangular_packages_platform_server_platform_server_g":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_h":{"__symbolic":"function"},"ɵangular_packages_platform_server_platform_server_i":[{"provide":{"__symbolic":"reference","module":"@angular/http","name":"Http","line":165,"character":12},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_g"},"deps":[{"__symbolic":"reference","module":"@angular/http","name":"XHRBackend","line":119,"character":56},{"__symbolic":"reference","module":"@angular/http","name":"RequestOptions","line":165,"character":62}]},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"BrowserXhr","line":166,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/http","name":"XSRFStrategy","line":166,"character":56},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_f"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"XhrFactory","line":167,"character":12},"useClass":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_e"}},{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HttpHandler","line":168,"character":13},"useFactory":{"__symbolic":"reference","name":"ɵangular_packages_platform_server_platform_server_h"},"deps":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpBackend","line":145,"character":31},{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":170,"character":24}]}]},"origins":{"ɵangular_packages_platform_server_platform_server_a":"./src/server","ɵangular_packages_platform_server_platform_server_b":"./src/transfer_state","PlatformState":"./src/platform_state","ServerModule":"./src/server","platformDynamicServer":"./src/server","platformServer":"./src/server","BEFORE_APP_SERIALIZED":"./src/tokens","INITIAL_CONFIG":"./src/tokens","PlatformConfig":"./src/tokens","ServerTransferStateModule":"./src/transfer_state","renderModule":"./src/utils","renderModuleFactory":"./src/utils","ɵINTERNAL_SERVER_PLATFORM_PROVIDERS":"./src/server","ɵSERVER_RENDER_PROVIDERS":"./src/server","ɵServerRendererFactory2":"./src/server_renderer","VERSION":"./src/version","ɵangular_packages_platform_server_platform_server_c":"./src/styles_host","ɵangular_packages_platform_server_platform_server_d":"./src/server_events","ɵangular_packages_platform_server_platform_server_e":"./src/http","ɵangular_packages_platform_server_platform_server_f":"./src/http","ɵangular_packages_platform_server_platform_server_g":"./src/http","ɵangular_packages_platform_server_platform_server_h":"./src/http","ɵangular_packages_platform_server_platform_server_i":"./src/http"},"importAs":"@angular/platform-server"}
package/testing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v7.2.12
2
+ * @license Angular v7.2.16
3
3
  * (c) 2010-2019 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */