@fluidframework/aqueduct 1.1.0 → 1.2.0-77818

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.
@@ -24,21 +24,21 @@ async function createDataObject(ctor, context, sharedObjectRegistry, optionalPro
24
24
  // Create object right away.
25
25
  // This allows object to register various callbacks with runtime before runtime
26
26
  // becomes globally available. But it's not full initialization - constructor can't
27
- // access DDSs or other services of runtime as objects are not fully initialized.
27
+ // access DDSes or other services of runtime as objects are not fully initialized.
28
28
  // In order to use object, we need to go through full initialization by calling finishInitialization().
29
29
  const scope = context.scope;
30
30
  const dependencyContainer = new synthesize_1.DependencyContainer(scope.IFluidDependencySynthesizer);
31
31
  const providers = dependencyContainer.synthesize(optionalProviders, {});
32
32
  const instance = new ctor({ runtime, context, providers, initProps });
33
33
  // if it's a newly created object, we need to wait for it to finish initialization
34
- // as that results in creation of DDSs, before it gets attached, providing atomic
34
+ // as that results in creation of DDSes, before it gets attached, providing atomic
35
35
  // guarantee of creation.
36
36
  // WARNING: we can't do the same (yet) for already existing PureDataObject!
37
37
  // This will result in deadlock, as it tries to resolve internal handles, but any
38
38
  // handle resolution goes through root (container runtime), which can't route it back
39
39
  // to this data store, as it's still not initialized and not known to container runtime yet.
40
40
  // In the future, we should address it by using relative paths for handles and be able to resolve
41
- // local DDSs while data store is not fully initialized.
41
+ // local DDSes while data store is not fully initialized.
42
42
  if (!existing) {
43
43
  await instance.finishInitialization(existing);
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pureDataObjectFactory.js","sourceRoot":"","sources":["../../src/data-object-factories/pureDataObjectFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest, IFluidRouter, FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n FluidDataStoreRuntime,\n ISharedObjectRegistry,\n mixinRequestHandler,\n } from \"@fluidframework/datastore\";\nimport { FluidDataStoreRegistry } from \"@fluidframework/container-runtime\";\nimport {\n IFluidDataStoreContext,\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n IFluidDataStoreRegistry,\n IProvideFluidDataStoreRegistry,\n NamedFluidDataStoreRegistryEntries,\n NamedFluidDataStoreRegistryEntry,\n IFluidDataStoreContextDetached,\n} from \"@fluidframework/runtime-definitions\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions\";\nimport { IChannelFactory } from \"@fluidframework/datastore-definitions\";\nimport {\n FluidObjectSymbolProvider,\n DependencyContainer,\n IFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize\";\n\nimport {\n IDataObjectProps,\n PureDataObject,\n DataObjectTypes,\n} from \"../data-objects\";\n/*\n * Useful interface in places where it's useful to do type erasure for PureDataObject generic\n */\nexport interface IRootDataObjectFactory extends IFluidDataStoreFactory {\n createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime): Promise<IFluidRouter>;\n}\n\n/**\n * Proxy over PureDataObject\n * Does delayed creation & initialization of PureDataObject\n*/\nasync function createDataObject<TObj extends PureDataObject, I extends DataObjectTypes = DataObjectTypes>(\n ctor: new (props: IDataObjectProps<I>) => TObj,\n context: IFluidDataStoreContext,\n sharedObjectRegistry: ISharedObjectRegistry,\n optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n runtimeClassArg: typeof FluidDataStoreRuntime,\n existing: boolean,\n initProps?: I[\"InitialState\"]) {\n // base\n let runtimeClass = runtimeClassArg;\n\n // request mixin in\n runtimeClass = mixinRequestHandler(\n async (request: IRequest, runtimeArg: FluidDataStoreRuntime) =>\n (await PureDataObject.getDataObject(runtimeArg)).request(request),\n runtimeClass);\n\n // Create a new runtime for our data store\n // The runtime is what Fluid uses to create DDS' and route to your data store\n const runtime = new runtimeClass(\n context,\n sharedObjectRegistry,\n existing,\n );\n\n // Create object right away.\n // This allows object to register various callbacks with runtime before runtime\n // becomes globally available. But it's not full initialization - constructor can't\n // access DDSs or other services of runtime as objects are not fully initialized.\n // In order to use object, we need to go through full initialization by calling finishInitialization().\n const scope: FluidObject<IFluidDependencySynthesizer> = context.scope;\n const dependencyContainer = new DependencyContainer(scope.IFluidDependencySynthesizer);\n const providers = dependencyContainer.synthesize<I[\"OptionalProviders\"]>(optionalProviders, {});\n const instance = new ctor({ runtime, context, providers, initProps });\n\n // if it's a newly created object, we need to wait for it to finish initialization\n // as that results in creation of DDSs, before it gets attached, providing atomic\n // guarantee of creation.\n // WARNING: we can't do the same (yet) for already existing PureDataObject!\n // This will result in deadlock, as it tries to resolve internal handles, but any\n // handle resolution goes through root (container runtime), which can't route it back\n // to this data store, as it's still not initialized and not known to container runtime yet.\n // In the future, we should address it by using relative paths for handles and be able to resolve\n // local DDSs while data store is not fully initialized.\n if (!existing) {\n await instance.finishInitialization(existing);\n }\n\n return { instance, runtime };\n}\n\n/**\n * PureDataObjectFactory is a barebones IFluidDataStoreFactory for use with PureDataObject.\n * Consumers should typically use DataObjectFactory instead unless creating\n * another base data store factory.\n *\n * @typeParam TObj - DataObject (concrete type)\n * @typeParam I - The input types for the DataObject\n */\nexport class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes>\n implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry>, IRootDataObjectFactory {\n private readonly sharedObjectRegistry: ISharedObjectRegistry;\n private readonly registry: IFluidDataStoreRegistry | undefined;\n\n constructor(\n public readonly type: string,\n private readonly ctor: new (props: IDataObjectProps<I>) => TObj,\n sharedObjects: readonly IChannelFactory[],\n private readonly optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n private readonly runtimeClass: typeof FluidDataStoreRuntime = FluidDataStoreRuntime,\n ) {\n if (this.type === \"\") {\n throw new Error(\"undefined type member\");\n }\n if (registryEntries !== undefined) {\n this.registry = new FluidDataStoreRegistry(registryEntries);\n }\n this.sharedObjectRegistry = new Map(sharedObjects.map((ext) => [ext.type, ext]));\n }\n\n public get IFluidDataStoreFactory() { return this; }\n\n public get IFluidDataStoreRegistry() {\n return this.registry;\n }\n\n /**\n * Convenience helper to get the data store's/factory's data store registry entry.\n * The return type hides the factory's generics, easing grouping of registry\n * entries that differ only in this way into the same array.\n * @returns The NamedFluidDataStoreRegistryEntry\n */\n public get registryEntry(): NamedFluidDataStoreRegistryEntry {\n return [this.type, Promise.resolve(this)];\n }\n\n /**\n * This is where we do data store setup.\n *\n * @param context - data store context used to load a data store runtime\n */\n public async instantiateDataStore(context: IFluidDataStoreContext, existing: boolean) {\n const { runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n existing);\n\n return runtime;\n }\n\n /**\n * Creates a new instance of the object. Uses parent context's registry to build package path to this factory.\n * In other words, registry of context passed in has to contain this factory, with the name that matches\n * this factory's type.\n * It is intended to be used by data store objects that create sub-objects.\n * @param context - The context being used to create the runtime\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created data store.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createChildInstance(\n parentContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n parentContext.containerRuntime,\n [...parentContext.packagePath, this.type],\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses peer context's registry and its package path to identify this factory.\n * In other words, registry of context passed in has to have this factory.\n * Intended to be used by data store objects that need to create peers (similar) instances of existing objects.\n * @param context - The component context being used to create the object\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createPeerInstance(\n peerContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n peerContext.containerRuntime,\n peerContext.packagePath,\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createInstance(\n runtime: IContainerRuntimeBase,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n runtime,\n [this.type],\n initialState);\n }\n\n /**\n * Creates a new root instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = runtime.createDetachedRootDataStore([this.type], rootDataStoreId);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createNonRootInstanceCore(\n containerRuntime: IContainerRuntimeBase,\n packagePath: Readonly<string[]>,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = containerRuntime.createDetachedDataStore(packagePath);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createInstanceCore(\n context: IFluidDataStoreContextDetached,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const { instance, runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n false, // existing\n initialState);\n\n await context.attachRuntime(this, runtime);\n\n return instance;\n }\n}\n"]}
1
+ {"version":3,"file":"pureDataObjectFactory.js","sourceRoot":"","sources":["../../src/data-object-factories/pureDataObjectFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest, IFluidRouter, FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n FluidDataStoreRuntime,\n ISharedObjectRegistry,\n mixinRequestHandler,\n } from \"@fluidframework/datastore\";\nimport { FluidDataStoreRegistry } from \"@fluidframework/container-runtime\";\nimport {\n IFluidDataStoreContext,\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n IFluidDataStoreRegistry,\n IProvideFluidDataStoreRegistry,\n NamedFluidDataStoreRegistryEntries,\n NamedFluidDataStoreRegistryEntry,\n IFluidDataStoreContextDetached,\n} from \"@fluidframework/runtime-definitions\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions\";\nimport { IChannelFactory } from \"@fluidframework/datastore-definitions\";\nimport {\n FluidObjectSymbolProvider,\n DependencyContainer,\n IFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize\";\n\nimport {\n IDataObjectProps,\n PureDataObject,\n DataObjectTypes,\n} from \"../data-objects\";\n/*\n * Useful interface in places where it's useful to do type erasure for PureDataObject generic\n */\nexport interface IRootDataObjectFactory extends IFluidDataStoreFactory {\n createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime): Promise<IFluidRouter>;\n}\n\n/**\n * Proxy over PureDataObject\n * Does delayed creation & initialization of PureDataObject\n*/\nasync function createDataObject<TObj extends PureDataObject, I extends DataObjectTypes = DataObjectTypes>(\n ctor: new (props: IDataObjectProps<I>) => TObj,\n context: IFluidDataStoreContext,\n sharedObjectRegistry: ISharedObjectRegistry,\n optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n runtimeClassArg: typeof FluidDataStoreRuntime,\n existing: boolean,\n initProps?: I[\"InitialState\"]) {\n // base\n let runtimeClass = runtimeClassArg;\n\n // request mixin in\n runtimeClass = mixinRequestHandler(\n async (request: IRequest, runtimeArg: FluidDataStoreRuntime) =>\n (await PureDataObject.getDataObject(runtimeArg)).request(request),\n runtimeClass);\n\n // Create a new runtime for our data store\n // The runtime is what Fluid uses to create DDS' and route to your data store\n const runtime = new runtimeClass(\n context,\n sharedObjectRegistry,\n existing,\n );\n\n // Create object right away.\n // This allows object to register various callbacks with runtime before runtime\n // becomes globally available. But it's not full initialization - constructor can't\n // access DDSes or other services of runtime as objects are not fully initialized.\n // In order to use object, we need to go through full initialization by calling finishInitialization().\n const scope: FluidObject<IFluidDependencySynthesizer> = context.scope;\n const dependencyContainer = new DependencyContainer(scope.IFluidDependencySynthesizer);\n const providers = dependencyContainer.synthesize<I[\"OptionalProviders\"]>(optionalProviders, {});\n const instance = new ctor({ runtime, context, providers, initProps });\n\n // if it's a newly created object, we need to wait for it to finish initialization\n // as that results in creation of DDSes, before it gets attached, providing atomic\n // guarantee of creation.\n // WARNING: we can't do the same (yet) for already existing PureDataObject!\n // This will result in deadlock, as it tries to resolve internal handles, but any\n // handle resolution goes through root (container runtime), which can't route it back\n // to this data store, as it's still not initialized and not known to container runtime yet.\n // In the future, we should address it by using relative paths for handles and be able to resolve\n // local DDSes while data store is not fully initialized.\n if (!existing) {\n await instance.finishInitialization(existing);\n }\n\n return { instance, runtime };\n}\n\n/**\n * PureDataObjectFactory is a barebones IFluidDataStoreFactory for use with PureDataObject.\n * Consumers should typically use DataObjectFactory instead unless creating\n * another base data store factory.\n *\n * @typeParam TObj - DataObject (concrete type)\n * @typeParam I - The input types for the DataObject\n */\nexport class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes>\n implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry>, IRootDataObjectFactory {\n private readonly sharedObjectRegistry: ISharedObjectRegistry;\n private readonly registry: IFluidDataStoreRegistry | undefined;\n\n constructor(\n public readonly type: string,\n private readonly ctor: new (props: IDataObjectProps<I>) => TObj,\n sharedObjects: readonly IChannelFactory[],\n private readonly optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n private readonly runtimeClass: typeof FluidDataStoreRuntime = FluidDataStoreRuntime,\n ) {\n if (this.type === \"\") {\n throw new Error(\"undefined type member\");\n }\n if (registryEntries !== undefined) {\n this.registry = new FluidDataStoreRegistry(registryEntries);\n }\n this.sharedObjectRegistry = new Map(sharedObjects.map((ext) => [ext.type, ext]));\n }\n\n public get IFluidDataStoreFactory() { return this; }\n\n public get IFluidDataStoreRegistry() {\n return this.registry;\n }\n\n /**\n * Convenience helper to get the data store's/factory's data store registry entry.\n * The return type hides the factory's generics, easing grouping of registry\n * entries that differ only in this way into the same array.\n * @returns The NamedFluidDataStoreRegistryEntry\n */\n public get registryEntry(): NamedFluidDataStoreRegistryEntry {\n return [this.type, Promise.resolve(this)];\n }\n\n /**\n * This is where we do data store setup.\n *\n * @param context - data store context used to load a data store runtime\n */\n public async instantiateDataStore(context: IFluidDataStoreContext, existing: boolean) {\n const { runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n existing);\n\n return runtime;\n }\n\n /**\n * Creates a new instance of the object. Uses parent context's registry to build package path to this factory.\n * In other words, registry of context passed in has to contain this factory, with the name that matches\n * this factory's type.\n * It is intended to be used by data store objects that create sub-objects.\n * @param context - The context being used to create the runtime\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created data store.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createChildInstance(\n parentContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n parentContext.containerRuntime,\n [...parentContext.packagePath, this.type],\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses peer context's registry and its package path to identify this factory.\n * In other words, registry of context passed in has to have this factory.\n * Intended to be used by data store objects that need to create peers (similar) instances of existing objects.\n * @param context - The component context being used to create the object\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createPeerInstance(\n peerContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n peerContext.containerRuntime,\n peerContext.packagePath,\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createInstance(\n runtime: IContainerRuntimeBase,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n runtime,\n [this.type],\n initialState);\n }\n\n /**\n * Creates a new root instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = runtime.createDetachedRootDataStore([this.type], rootDataStoreId);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createNonRootInstanceCore(\n containerRuntime: IContainerRuntimeBase,\n packagePath: Readonly<string[]>,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = containerRuntime.createDetachedDataStore(packagePath);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createInstanceCore(\n context: IFluidDataStoreContextDetached,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const { instance, runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n false, // existing\n initialState);\n\n await context.attachRuntime(this, runtime);\n\n return instance;\n }\n}\n"]}
@@ -19,6 +19,9 @@ import { DataObjectTypes } from "./types";
19
19
  export declare abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {
20
20
  private internalRoot;
21
21
  private readonly rootDirectoryId;
22
+ /**
23
+ * {@inheritDoc PureDataObject.request}
24
+ */
22
25
  request(request: IRequest): Promise<IResponse>;
23
26
  /**
24
27
  * The root directory will either be ready or will return an error. If an error is thrown
@@ -30,6 +33,10 @@ export declare abstract class DataObject<I extends DataObjectTypes = DataObjectT
30
33
  * Caller is responsible for ensuring this is only invoked once.
31
34
  */
32
35
  initializeInternal(existing: boolean): Promise<void>;
36
+ /**
37
+ * Generates an error string indicating an item is uninitialized.
38
+ * @param item - The name of the item that was uninitialized.
39
+ */
33
40
  protected getUninitializedErrorString(item: string): string;
34
41
  }
35
42
  //# sourceMappingURL=dataObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,QAAQ,EACR,SAAS,EACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;GASG;AACH,8BAAsB,UAAU,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE7B,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAc3D;;;OAGG;IACH,SAAS,KAAK,IAAI,IAAI,gBAAgB,CAMrC;IAED;;;OAGG;IACU,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjE,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM;CAGrD"}
1
+ {"version":3,"file":"dataObject.d.ts","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,QAAQ,EACR,SAAS,EACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;GASG;AACH,8BAAsB,UAAU,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAE1C;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAc3D;;;OAGG;IACH,SAAS,KAAK,IAAI,IAAI,gBAAgB,CAMrC;IAED;;;OAGG;IACU,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjE;;;OAGG;IACH,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAG9D"}
@@ -23,6 +23,9 @@ class DataObject extends pureDataObject_1.PureDataObject {
23
23
  super(...arguments);
24
24
  this.rootDirectoryId = "root";
25
25
  }
26
+ /**
27
+ * {@inheritDoc PureDataObject.request}
28
+ */
26
29
  async request(request) {
27
30
  const requestParser = runtime_utils_1.RequestParser.create(request);
28
31
  const itemId = requestParser.pathParts[0];
@@ -73,6 +76,10 @@ class DataObject extends pureDataObject_1.PureDataObject {
73
76
  }
74
77
  await super.initializeInternal(existing);
75
78
  }
79
+ /**
80
+ * Generates an error string indicating an item is uninitialized.
81
+ * @param item - The name of the item that was uninitialized.
82
+ */
76
83
  getUninitializedErrorString(item) {
77
84
  return `${item} must be initialized before being accessed.`;
78
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,6CAAoF;AACpF,iEAAiF;AACjF,qDAAkD;AAGlD;;;;;;;;;GASG;AACH,MAAsB,UAAwD,SAAQ,+BAAiB;IAAvG;;QAEqB,oBAAe,GAAG,MAAM,CAAC;IA2D9C,CAAC;IAzDU,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,MAAM,aAAa,GAAG,6BAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,OAAO,IAAA,iCAAiB,EAAC,aAAa,CAAC,CAAC;aAC3C;YACD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC3D;aAAM;YACH,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACH,IAAc,IAAI;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,QAAiB;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACX,+EAA+E;YAC/E,IAAI,CAAC,YAAY,GAAG,qBAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM;YACH,oGAAoG;YACpG,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAqB,CAAC;YAE5F,oGAAoG;YACpG,gGAAgG;YAChG,qGAAqG;YACrG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAU,CAAC,IAAI,EAAE;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6EAA6E;iBACzF,CAAC,CAAC;aACN;SACJ;QAED,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAES,2BAA2B,CAAC,IAAY;QAC9C,OAAO,GAAG,IAAI,6CAA6C,CAAC;IAChE,CAAC;CACJ;AA7DD,gCA6DC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n} from \"@fluidframework/core-interfaces\";\nimport { ISharedDirectory, MapFactory, SharedDirectory } from \"@fluidframework/map\";\nimport { RequestParser, create404Response } from \"@fluidframework/runtime-utils\";\nimport { PureDataObject } from \"./pureDataObject\";\nimport { DataObjectTypes } from \"./types\";\n\n/**\n * DataObject is a base data store that is primed with a root directory. It\n * ensures that it is created and ready before you can access it.\n *\n * Having a single root directory allows for easier development. Instead of creating\n * and registering channels with the runtime any new DDS that is set on the root\n * will automatically be registered.\n *\n * @typeParam I - The optional input types used to strongly type the data object\n */\nexport abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {\n private internalRoot: ISharedDirectory | undefined;\n private readonly rootDirectoryId = \"root\";\n\n public async request(request: IRequest): Promise<IResponse> {\n const requestParser = RequestParser.create(request);\n const itemId = requestParser.pathParts[0];\n if (itemId === \"bigBlobs\") {\n const value = this.root.get<string>(requestParser.pathParts.join(\"/\"));\n if (value === undefined) {\n return create404Response(requestParser);\n }\n return { mimeType: \"fluid/object\", status: 200, value };\n } else {\n return super.request(requestParser);\n }\n }\n\n /**\n * The root directory will either be ready or will return an error. If an error is thrown\n * the root has not been correctly created/set.\n */\n protected get root(): ISharedDirectory {\n if (!this.internalRoot) {\n throw new Error(this.getUninitializedErrorString(`root`));\n }\n\n return this.internalRoot;\n }\n\n /**\n * Initializes internal objects and calls initialization overrides.\n * Caller is responsible for ensuring this is only invoked once.\n */\n public async initializeInternal(existing: boolean): Promise<void> {\n if (!existing) {\n // Create a root directory and register it before calling initializingFirstTime\n this.internalRoot = SharedDirectory.create(this.runtime, this.rootDirectoryId);\n this.internalRoot.bindToContext();\n } else {\n // data store has a root directory so we just need to set it before calling initializingFromExisting\n this.internalRoot = await this.runtime.getChannel(this.rootDirectoryId) as ISharedDirectory;\n\n // This will actually be an ISharedMap if the channel was previously created by the older version of\n // DataObject which used a SharedMap. Since SharedMap and SharedDirectory are compatible unless\n // SharedDirectory-only commands are used on SharedMap, this will mostly just work for compatibility.\n if (this.internalRoot.attributes.type === MapFactory.Type) {\n this.runtime.logger.send({\n category: \"generic\",\n eventName: \"MapDataObject\",\n message: \"Legacy document, SharedMap is masquerading as SharedDirectory in DataObject\",\n });\n }\n }\n\n await super.initializeInternal(existing);\n }\n\n protected getUninitializedErrorString(item: string) {\n return `${item} must be initialized before being accessed.`;\n }\n}\n"]}
1
+ {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,6CAAoF;AACpF,iEAAiF;AACjF,qDAAkD;AAGlD;;;;;;;;;GASG;AACH,MAAsB,UAAwD,SAAQ,+BAAiB;IAAvG;;QAEqB,oBAAe,GAAG,MAAM,CAAC;IAkE9C,CAAC;IAhEG;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,MAAM,aAAa,GAAG,6BAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,OAAO,IAAA,iCAAiB,EAAC,aAAa,CAAC,CAAC;aAC3C;YACD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC3D;aAAM;YACH,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACH,IAAc,IAAI;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,QAAiB;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACX,+EAA+E;YAC/E,IAAI,CAAC,YAAY,GAAG,qBAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM;YACH,oGAAoG;YACpG,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAqB,CAAC;YAE5F,oGAAoG;YACpG,gGAAgG;YAChG,qGAAqG;YACrG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,gBAAU,CAAC,IAAI,EAAE;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6EAA6E;iBACzF,CAAC,CAAC;aACN;SACJ;QAED,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACO,2BAA2B,CAAC,IAAY;QAC9C,OAAO,GAAG,IAAI,6CAA6C,CAAC;IAChE,CAAC;CACJ;AApED,gCAoEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n} from \"@fluidframework/core-interfaces\";\nimport { ISharedDirectory, MapFactory, SharedDirectory } from \"@fluidframework/map\";\nimport { RequestParser, create404Response } from \"@fluidframework/runtime-utils\";\nimport { PureDataObject } from \"./pureDataObject\";\nimport { DataObjectTypes } from \"./types\";\n\n/**\n * DataObject is a base data store that is primed with a root directory. It\n * ensures that it is created and ready before you can access it.\n *\n * Having a single root directory allows for easier development. Instead of creating\n * and registering channels with the runtime any new DDS that is set on the root\n * will automatically be registered.\n *\n * @typeParam I - The optional input types used to strongly type the data object\n */\nexport abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {\n private internalRoot: ISharedDirectory | undefined;\n private readonly rootDirectoryId = \"root\";\n\n /**\n * {@inheritDoc PureDataObject.request}\n */\n public async request(request: IRequest): Promise<IResponse> {\n const requestParser = RequestParser.create(request);\n const itemId = requestParser.pathParts[0];\n if (itemId === \"bigBlobs\") {\n const value = this.root.get<string>(requestParser.pathParts.join(\"/\"));\n if (value === undefined) {\n return create404Response(requestParser);\n }\n return { mimeType: \"fluid/object\", status: 200, value };\n } else {\n return super.request(requestParser);\n }\n }\n\n /**\n * The root directory will either be ready or will return an error. If an error is thrown\n * the root has not been correctly created/set.\n */\n protected get root(): ISharedDirectory {\n if (!this.internalRoot) {\n throw new Error(this.getUninitializedErrorString(`root`));\n }\n\n return this.internalRoot;\n }\n\n /**\n * Initializes internal objects and calls initialization overrides.\n * Caller is responsible for ensuring this is only invoked once.\n */\n public async initializeInternal(existing: boolean): Promise<void> {\n if (!existing) {\n // Create a root directory and register it before calling initializingFirstTime\n this.internalRoot = SharedDirectory.create(this.runtime, this.rootDirectoryId);\n this.internalRoot.bindToContext();\n } else {\n // data store has a root directory so we just need to set it before calling initializingFromExisting\n this.internalRoot = await this.runtime.getChannel(this.rootDirectoryId) as ISharedDirectory;\n\n // This will actually be an ISharedMap if the channel was previously created by the older version of\n // DataObject which used a SharedMap. Since SharedMap and SharedDirectory are compatible unless\n // SharedDirectory-only commands are used on SharedMap, this will mostly just work for compatibility.\n if (this.internalRoot.attributes.type === MapFactory.Type) {\n this.runtime.logger.send({\n category: \"generic\",\n eventName: \"MapDataObject\",\n message: \"Legacy document, SharedMap is masquerading as SharedDirectory in DataObject\",\n });\n }\n }\n\n await super.initializeInternal(existing);\n }\n\n /**\n * Generates an error string indicating an item is uninitialized.\n * @param item - The name of the item that was uninitialized.\n */\n protected getUninitializedErrorString(item: string): string {\n return `${item} must be initialized before being accessed.`;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../common/core-interfaces/dist/fluidObject.d.ts","../../../../common/core-interfaces/dist/fluidRouter.d.ts","../../../../common/core-interfaces/dist/provider.d.ts","../../../../common/core-interfaces/dist/handles.d.ts","../../../../common/core-interfaces/dist/fluidLoadable.d.ts","../../../../common/core-interfaces/dist/fluidPackage.d.ts","../../../../common/core-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/disposable.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/events.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/logger.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts","../../../../../node_modules/@types/node/assert.d.ts","../../../../../node_modules/@types/node/globals.d.ts","../../../../../node_modules/@types/node/async_hooks.d.ts","../../../../../node_modules/@types/node/buffer.d.ts","../../../../../node_modules/@types/events/index.d.ts","../../../../../node_modules/@types/node/child_process.d.ts","../../../../../node_modules/@types/node/cluster.d.ts","../../../../../node_modules/@types/node/console.d.ts","../../../../../node_modules/@types/node/constants.d.ts","../../../../../node_modules/@types/node/crypto.d.ts","../../../../../node_modules/@types/node/dgram.d.ts","../../../../../node_modules/@types/node/dns.d.ts","../../../../../node_modules/@types/node/domain.d.ts","../../../../../node_modules/@types/node/events.d.ts","../../../../../node_modules/@types/node/fs.d.ts","../../../../../node_modules/@types/node/fs/promises.d.ts","../../../../../node_modules/@types/node/http.d.ts","../../../../../node_modules/@types/node/http2.d.ts","../../../../../node_modules/@types/node/https.d.ts","../../../../../node_modules/@types/node/inspector.d.ts","../../../../../node_modules/@types/node/module.d.ts","../../../../../node_modules/@types/node/net.d.ts","../../../../../node_modules/@types/node/os.d.ts","../../../../../node_modules/@types/node/path.d.ts","../../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../../node_modules/@types/node/process.d.ts","../../../../../node_modules/@types/node/punycode.d.ts","../../../../../node_modules/@types/node/querystring.d.ts","../../../../../node_modules/@types/node/readline.d.ts","../../../../../node_modules/@types/node/repl.d.ts","../../../../../node_modules/@types/node/stream.d.ts","../../../../../node_modules/@types/node/string_decoder.d.ts","../../../../../node_modules/@types/node/timers.d.ts","../../../../../node_modules/@types/node/tls.d.ts","../../../../../node_modules/@types/node/trace_events.d.ts","../../../../../node_modules/@types/node/tty.d.ts","../../../../../node_modules/querystring/decode.d.ts","../../../../../node_modules/querystring/encode.d.ts","../../../../../node_modules/querystring/index.d.ts","../../../../../node_modules/@types/node/url.d.ts","../../../../../node_modules/@types/node/util.d.ts","../../../../../node_modules/@types/node/v8.d.ts","../../../../../node_modules/@types/node/vm.d.ts","../../../../../node_modules/@types/node/wasi.d.ts","../../../../../node_modules/@types/node/worker_threads.d.ts","../../../../../node_modules/@types/node/zlib.d.ts","../../../../../node_modules/@types/node/globals.global.d.ts","../../../../../node_modules/@types/node/index.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/users.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/consensus.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/config.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/protocol.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/summary.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/tokens.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/scopes.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/sockets.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts","../../../../common/container-definitions/dist/audience.d.ts","../../../../common/container-definitions/dist/fluidPackage.d.ts","../../../../common/container-definitions/dist/browserPackage.d.ts","../../../../common/container-definitions/dist/deltas.d.ts","../../../../common/container-definitions/dist/error.d.ts","../../../../common/driver-definitions/dist/driverError.d.ts","../../../../common/driver-definitions/dist/urlResolver.d.ts","../../../../common/driver-definitions/dist/storage.d.ts","../../../../common/driver-definitions/dist/index.d.ts","../../../../common/container-definitions/dist/runtime.d.ts","../../../../common/container-definitions/dist/fluidModule.d.ts","../../../../common/container-definitions/dist/loader.d.ts","../../../../common/container-definitions/dist/tokenProvider.d.ts","../../../../common/container-definitions/dist/index.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreRegistry.d.ts","../../../../runtime/runtime-definitions/dist/garbageCollection.d.ts","../../../../runtime/runtime-definitions/dist/protocol.d.ts","../../../../runtime/runtime-definitions/dist/summary.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreContext.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreFactory.d.ts","../../../../runtime/runtime-definitions/dist/index.d.ts","../../../../runtime/container-runtime-definitions/dist/containerRuntime.d.ts","../../../../runtime/container-runtime-definitions/dist/index.d.ts","../../../../runtime/runtime-utils/dist/dataStoreHandleContextUtils.d.ts","../../../../runtime/runtime-utils/dist/dataStoreHelpers.d.ts","../../../../runtime/datastore-definitions/dist/storage.d.ts","../../../../runtime/datastore-definitions/dist/dataStoreRuntime.d.ts","../../../../runtime/datastore-definitions/dist/channel.d.ts","../../../../runtime/datastore-definitions/dist/jsonable.d.ts","../../../../runtime/datastore-definitions/dist/serializable.d.ts","../../../../runtime/datastore-definitions/dist/index.d.ts","../../../../runtime/runtime-utils/dist/objectstoragepartition.d.ts","../../../../runtime/runtime-utils/dist/objectstorageutils.d.ts","../../../../runtime/runtime-utils/dist/requestParser.d.ts","../../../../runtime/runtime-utils/dist/runtimeFactoryHelper.d.ts","../../../../runtime/runtime-utils/dist/utils.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNodeUtils.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNode.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNodeWithGc.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/index.d.ts","../../../../runtime/runtime-utils/dist/summaryUtils.d.ts","../../../../runtime/runtime-utils/dist/index.d.ts","../../../request-handler/dist/requestHandlers.d.ts","../../../request-handler/dist/runtimeRequestHandlerBuilder.d.ts","../../../request-handler/dist/index.d.ts","../container-services/containerServices.d.ts","../container-services/index.d.ts","../../src/test/containerServices.spec.ts","../../../view-interfaces/dist/htmlView.d.ts","../../../view-interfaces/dist/mountableView.d.ts","../../../view-interfaces/dist/index.d.ts","../request-handlers/requestHandlers.d.ts","../request-handlers/index.d.ts","../../src/test/defaultRoute.spec.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/audience.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/browserPackage.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/tokenProvider.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreRegistry.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/garbageCollection.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/protocol.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/summary.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreContext.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreFactory.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/dataStoreRuntime.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/channel.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/jsonable.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/serializable.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/types.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/IFluidDependencySynthesizer.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/dependencyContainer.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/index.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/assert.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/bufferNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/hashFileNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/performanceIsomorphic.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/performanceNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/indexNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/base64Encoding.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/batchManager.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/disposal.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/typedEventEmitter.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/eventForwarder.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/heap.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/logger.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/promiseCache.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/promises.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/rangeTracker.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/rateLimiter.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/safeParser.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/timer.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/trace.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/unreachable.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/lazy.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/delay.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/bufferShared.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/dataStoreRuntime.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/fluidHandle.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/index.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/serializer.d.ts","../../../../../node_modules/@types/ms/index.d.ts","../../../../../node_modules/@types/debug/index.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/logger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/debugLogger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/fluidErrorBase.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/errorLogging.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/eventEmitterWithErrorHandling.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/events.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/mockLogger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/thresholdCounter.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/utils.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/config.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/summarySerializer.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/types.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/sharedObject.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/utils.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/valueType.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/index.d.ts","../../../../../node_modules/@fluidframework/map/dist/interfaces.d.ts","../../../../../node_modules/@fluidframework/map/dist/map.d.ts","../../../../../node_modules/@fluidframework/map/dist/localValues.d.ts","../../../../../node_modules/@fluidframework/map/dist/directory.d.ts","../../../../../node_modules/@fluidframework/map/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/types.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/pureDataObject.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/dataObject.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime-definitions/dist/containerRuntime.d.ts","../../../../../node_modules/@fluidframework/container-runtime-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/pureDataObjectFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/dataObjectFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/pendingStateManager.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summaryCollection.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summarizerTypes.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/dataStoreHandleContextUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/dataStoreHelpers.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/objectstoragepartition.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/objectstorageutils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/requestParser.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/runtimeFactoryHelper.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/utils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNodeUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNode.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNodeWithGc.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/index.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summaryUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summaryFormat.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/garbageCollection.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/serializedSnapshotStorage.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/containerRuntime.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/deltaScheduler.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/dataStoreRegistry.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/runWhileConnectedCoordinator.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summarizer.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/index.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/requestHandlers.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/runtimeRequestHandlerBuilder.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-services/containerServices.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-services/index.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/htmlView.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/mountableView.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/request-handlers/requestHandlers.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/request-handlers/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/attachUtils.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/containerInteractions.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/index.d.ts","../../../synthesize/dist/types.d.ts","../../../synthesize/dist/IFluidDependencySynthesizer.d.ts","../../../synthesize/dist/dependencyContainer.d.ts","../../../synthesize/dist/index.d.ts","../../../../runtime/datastore/dist/dataStoreRuntime.d.ts","../../../../runtime/datastore/dist/fluidHandle.d.ts","../../../../runtime/datastore/dist/index.d.ts","../../../../dds/shared-object-base/dist/serializer.d.ts","../../../../utils/telemetry-utils/dist/logger.d.ts","../../../../utils/telemetry-utils/dist/debugLogger.d.ts","../../../../utils/telemetry-utils/dist/fluidErrorBase.d.ts","../../../../utils/telemetry-utils/dist/errorLogging.d.ts","../../../../utils/telemetry-utils/dist/eventEmitterWithErrorHandling.d.ts","../../../../utils/telemetry-utils/dist/events.d.ts","../../../../utils/telemetry-utils/dist/mockLogger.d.ts","../../../../utils/telemetry-utils/dist/thresholdCounter.d.ts","../../../../utils/telemetry-utils/dist/utils.d.ts","../../../../utils/telemetry-utils/dist/config.d.ts","../../../../utils/telemetry-utils/dist/index.d.ts","../../../../dds/shared-object-base/dist/summarySerializer.d.ts","../../../../dds/shared-object-base/dist/types.d.ts","../../../../dds/shared-object-base/dist/sharedObject.d.ts","../../../../dds/shared-object-base/dist/utils.d.ts","../../../../dds/shared-object-base/dist/valueType.d.ts","../../../../dds/shared-object-base/dist/index.d.ts","../../../../dds/map/dist/interfaces.d.ts","../../../../dds/map/dist/map.d.ts","../../../../dds/map/dist/localValues.d.ts","../../../../dds/map/dist/directory.d.ts","../../../../dds/map/dist/index.d.ts","../data-objects/types.d.ts","../data-objects/pureDataObject.d.ts","../data-objects/dataObject.d.ts","../data-objects/index.d.ts","../data-object-factories/pureDataObjectFactory.d.ts","../data-object-factories/dataObjectFactory.d.ts","../data-object-factories/index.d.ts","../../../../runtime/container-runtime/dist/pendingStateManager.d.ts","../../../../runtime/container-runtime/dist/summaryCollection.d.ts","../../../../runtime/container-runtime/dist/summarizerTypes.d.ts","../../../../runtime/container-runtime/dist/summaryFormat.d.ts","../../../../runtime/container-runtime/dist/garbageCollection.d.ts","../../../../runtime/container-runtime/dist/serializedSnapshotStorage.d.ts","../../../../runtime/container-runtime/dist/containerRuntime.d.ts","../../../../runtime/container-runtime/dist/deltaScheduler.d.ts","../../../../runtime/container-runtime/dist/dataStoreRegistry.d.ts","../../../../runtime/container-runtime/dist/runWhileConnectedCoordinator.d.ts","../../../../runtime/container-runtime/dist/summarizer.d.ts","../../../../runtime/container-runtime/dist/index.d.ts","../container-runtime-factories/baseContainerRuntimeFactory.d.ts","../container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts","../container-runtime-factories/index.d.ts","../utils/attachUtils.d.ts","../utils/containerInteractions.d.ts","../utils/index.d.ts","../index.d.ts","../../src/test/types/validateAqueductPrevious.ts","../../../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"c0c5dc0360cc745a411de41c30c8a8fe7a145cbc25f1a34e02476b73ecb2f4c5","766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0","ffe2fe2824ad18643c67bdea603c0b13ce0b8e03fcedd7e830c3621e7495b8e4","008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df","8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80","970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8","730e91b2e5a938b59fc604ea092b379cb77dc9103f6eb6062fe95c64fe2b7ea5","739e7da9825029dead52b83a8e58525f8ecc5881ed25eb09744c9cad3ad90233","471510298742cdd3a5613a7eb84efd472abc2ef8bae510a767ac0bff05d3ae9d","d2de12ae0f86d9dae881b4c1534063fce79b19035c1b507954b11b062ece6dc7","910acae3ceaba3aba35fb52656476aca547b1585f4a10cc272acb50bb08692a6","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"dc5f6951bbf5b544349cbdef895c08dee6929818abd27d7d53c38cf1209091b3","affectsGlobalScope":true},"64e2803203b14d7f104f570f2152fde13abb6edc17b2ddb33d81ad86cf43d494","2c8d9e3331aec52d9a6d4040352c00282c3abaf48053ed0944528a4845c9caa3","400db42c3a46984118bff14260d60cec580057dc1ab4c2d7310beb643e4f5935","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","64576aba4ff801004122056ccd049f0597aa471dcfd7670a6a0b877ee8dd97c0","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","05d7d95e24bc2897bf20ce041c3dc3cca814e07148a93999145b1a0ad491094c","d1080e49778c0b2ce656042ebfa43f89dffb96ac00f86a34762188a21857ffd4","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","f0c33a0b325d3499cc9aded7d32886f998c9a27b465097c6cc136944d0aafdaa","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","03c91e8833eef54dc44db99d7deb469b5e3cec82f23054b4286a2380e0e00996","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"bf89ceb26132596b859cd4d129ce3f447134b444dec87966ba65cd7e8e9e0cb0","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","a11d4ba43bf0825d7285d54dec6cb951685cd458a4de3c5c1800f7cbf7799009","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","82e1723b20fa0b15a7da0d1a03fec88348f82f640f7a2f308d6c0fac780cfc7c","e0202c3e09775b86b902f21623e55896cea98750efbdf0691ca7473af06fe551","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce","ad7e61eca7f2f8bf47e72695f9f6663b75e41d87ef49abdb17c0cb843862f8aa","ecba2e44af95b0599c269a92628cec22e752868bce37396740deb51a5c547a26","46a9fb41a8f3bc7539eeebc15a6e04b9e55d7537a081615ad3614220d34c3e0f","a2666b43d889b4882ac6ede1c48128bac351886854e94f832b20d3730e5062c5","7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"2a7d39ea70e483d3ebcde44031b6552940f295349bee8d486e8bdf6380162302","23f4fb12c4c9562f93b2e1179b8318680fd0a4926668e4dd67e4d9e612d967f1","c21365787186bd17f0ed204809bdfd0b50130494593fd1c0657b5b1a2d87afcc","486e1128ffae98c512912ff444e45f17ea4d2bdefb5654372bdfebd0e7b181ea","295aebfd98602f95f4c41e7668309c64c7d469e02fa76f78aaac1a887031b69a","77449f243a7586f175c3b5589d9447e442c8e904d8ba3bb7fc5f22ca7d3b8a9f","400b71c3fd22577b532c14206b3e39f1cd13d7222e12a23f18253b1a8a573efc","822c3889675ada4c5e7869954cca7f1b9c17262af786a356db9d0ec78d5d3c1a","c4dbbb9e785092d70b85188942e7ebbf5382d52cd115b98265c2da6359bc64f9","1e55e1afdeca5d4c7dbb9c19f481cb2bb4b48ead954a64dbd2aa5b97e29b7c3a","2ed7a0b9c5e8eca005f9564dda5333d262a23851ac7f109886bb54d47b8cdbe9","b7bae7502647b504fe857c616093ccb6ca9723da878ea88cf658013d30b8c3d3","383dced3ebba2967eeab64d0b7facd4529fe3ed2c352744f3f6c1988482206d4","741a596519b5efb677cc27e0b3dc97a7053a5f08e0e388b54f6e93b7bbf5e9f4","5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239","bfe67b97724e26cc7f50518c6cd51419e076b80d3dc6112999c919c43da002a8","9217b29cd8c092fd796ab5309d0dc3cb4e63c9d32aff49e3137ab74e20d6caa2","75e5d70d8c37696098c9f40350175b347f76a1a6c85e2bd0f87a0eb1a6b1d599","f46c512d895fa0c08acafd325c94189005255d382e4375b15d0274a107526b7f","e2b759a9d1dffa73c37689226f9f230745633b477bbdf8d2bd6106a6facabedc","db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1","c3a3e578da68c255f2f2e1496e5dbcf9799ce7ec69e7276d5ac84b0eef7ded5f","8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737","87b316eb986875e7229c1ea959b6ae2a2bb2182e76467a5a9f234ed23db0c16a","f9d3eab09c70e0814795277ab9c3f22625cd9dd09c3ab486f6e63974d6795a3d","6899568e38a0c9efbf74caea7480d0c929ca7d3b7e4861f14a74efce94b191cf","eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44","b7bf39e391d0749e0e6620c6a04df5eaae0ebafab81a75723981fd5df0cc5bcb","77ba40eacbb53542ece9394583ad424c8ee677543b0f85948d2387da8483afc9","5e4966caa7216db9cd10a26c64f356ff7512f4fe99c34feea09e8bb4a6284f01","76d22d2610269b2c21ad6c3750c2c7b07c470e219cf80f4455da7be7abc1d15e","bcb2b5ec9bb438a4a2ec0b66e7c623ed32784dedc3ef49b6ef48c700085dd803","b1264b0d302e579b79afdad01d2999289bfd86e4baa457b921f84ac0d4572c1f","3e3e3d6732d74c694c9e090e98b95d20c2c9ea0cfa0acfc155beeef6b9166e19","41092c2f21154d134c6b180e1bb54c752fb56970fba9fbe2fcfc10d81e13732d","364a664124450723d4003b59212e6291445df626c9935ed2c1b25ccc98e5eec1","cc653803be018c2a3c50e808670718dfcd2a660d5a97c5b874f10f4d951b368b","f2f75931453414c93a462e16d1c8705792402836c8337616de10260a7740606e","e90ee5b5e82a17db7d3d39a6ea4c8bfaf519477808367920f0514a9323177787","a4a8dbf7530d8e3969e17c8da06b2cbacb07e0d5593f454684f84d9b78af20b1","debe25164867bd40bf1dd2e5beb077aa0bae05e4be4f6b6b5e6813a835d3fb4b","3ce9b73b373898756adc78c6fc0f7c33db26720429fdfee6071488f19e49c1f1","5137910b77945f21aecf56f24785337c2038eca7b5c144731ca0927ae7048517","cd4133865bd32a8dc56c8359e213449a6b6191fdd43d9df3359cb828a67732f0","056ef2d280a5c3c35f50743817bcb7ecf6b20dc66e68f5c8498a4b50851289ec","8915668a1856ed2d31f2e798ddd16d784c0eb614cb305fd61bece54ca856bc83","870d70891a4eee5d29dd4dd408d41dd260335f2eaa84fb3b7f3a2979b3ec078a","1d7ed6fd0c261ed3928aa9e1c02844e3032829d41529d7c153440de945eb693a","aca0343780b8484fc8ab49ec1cd7ed4455d8a72fb6d37c4845f072fae2ddc94a","b3a96dee2e8e6aed3d881c17d967d64a06d2d7633eaed2dc08136c9d72fdc613","978659d568658271f4ec8028badcee98fb7631a8c5f6984afba917e8a18f2994","49d1f2798732bd4e51303485ec47ab3afabe4975da61dd22ad1e638b0b633aed","1fceef35b85bf1c2eb88d7ff87041bba70454b6fb3275cd3c0683683e87377e7","4d72a2f2b131fcad932178746692cdc6102206fa6b95541569ce44a8330ee89f","3356e68d90afbb1ff2e837c04b3d58f597a04b28379036e96719d2bb05cd211c","052fb3c9d96792bd5c8c5dae94747ee615f091663c457a01bf807a5e4747267a","f920b8e3c4abf4bc47ee138d467e5a009df70dc5b260ed6ddcb2746dc8cd48d1","ba92aeb236b7772678af8fb07bb94c60f4a80b0cfbca187b782cdbb3da865951","4fa52da408b0aa60d5f0fd24b8d1425cbe0d374ce905dc49c6e911b600d1697e","87365582535483059cf1b026f61c55ce0f1fbf19271966f13484ad2b1212a12f","55abdc0a2fd184a57c8ead3096ff97cf03d186941e9a2c1dbeccff5c1477aa05","d222657ed86e3666f87d8dfea01469fd3bb844672c2e1325b0eb72abd4d44ec4","7f4a7aa7d1a20e09abcf6694eb47052e2b66aef00c5ceffacef8987a672da0bb","6b44b38d58e357998bfde5d01074dfdcd367d4ff2fdd9037acfaad6b652d3bd5","32c58de3ca76283b45268fc4aaeff14b7f8b5badc9a98fd6e3e6ba1a1bf7b594","d9afb629da4262e636f81d9e190cb0b10109dc2ef33d47f43700b97341bc94f3","c0c5dc0360cc745a411de41c30c8a8fe7a145cbc25f1a34e02476b73ecb2f4c5","766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0","ffe2fe2824ad18643c67bdea603c0b13ce0b8e03fcedd7e830c3621e7495b8e4","008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df","8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80","970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8","730e91b2e5a938b59fc604ea092b379cb77dc9103f6eb6062fe95c64fe2b7ea5","383dced3ebba2967eeab64d0b7facd4529fe3ed2c352744f3f6c1988482206d4","29af84fd868f666a8d2b0766b188faed869babeb3da5c556fc1151cc4e1e5153","5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239","bfe67b97724e26cc7f50518c6cd51419e076b80d3dc6112999c919c43da002a8","9217b29cd8c092fd796ab5309d0dc3cb4e63c9d32aff49e3137ab74e20d6caa2","75e5d70d8c37696098c9f40350175b347f76a1a6c85e2bd0f87a0eb1a6b1d599","f46c512d895fa0c08acafd325c94189005255d382e4375b15d0274a107526b7f","786e769a3ed9116bd8634a0fd7f0849129986399648019fa1c1fd36ff359c226","db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1","c3a3e578da68c255f2f2e1496e5dbcf9799ce7ec69e7276d5ac84b0eef7ded5f","8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737","7d928ea8367d8a6da904a6591183c2b343954c07b4e847256245d1405caad083","f9d3eab09c70e0814795277ab9c3f22625cd9dd09c3ab486f6e63974d6795a3d","6899568e38a0c9efbf74caea7480d0c929ca7d3b7e4861f14a74efce94b191cf","eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44","3a46909d243fe341ce2d71ad0c33977910196461e2f37d1c6ecd8d74abb7c82d","b695709cf1f6027105399929d15d21f0a9bb65f05ba92960f98a131491aa908d","5e4966caa7216db9cd10a26c64f356ff7512f4fe99c34feea09e8bb4a6284f01","5877cd87949c7c4b2e14a373e2e2d1dd4330467e9880d007578603e051eac7cc","bcb2b5ec9bb438a4a2ec0b66e7c623ed32784dedc3ef49b6ef48c700085dd803","b1264b0d302e579b79afdad01d2999289bfd86e4baa457b921f84ac0d4572c1f","f2f75931453414c93a462e16d1c8705792402836c8337616de10260a7740606e","e90ee5b5e82a17db7d3d39a6ea4c8bfaf519477808367920f0514a9323177787","a4a8dbf7530d8e3969e17c8da06b2cbacb07e0d5593f454684f84d9b78af20b1","debe25164867bd40bf1dd2e5beb077aa0bae05e4be4f6b6b5e6813a835d3fb4b","3ce9b73b373898756adc78c6fc0f7c33db26720429fdfee6071488f19e49c1f1","5137910b77945f21aecf56f24785337c2038eca7b5c144731ca0927ae7048517","0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e","a15809b8be1e3dd5a4f89df2886c9609eff56afa7b5e262adae346dc81d80a19","abbf5a289e8fbe488cf30a8024ebb89cafa6ab47277ffe735ce2dd18fe1ca107","48010a1e04aff055895b4d95949566d9cd43f356bf1d989548dcbe34b07e0702","ad8ee776fa8afb97e4d373dddf5b81661e5b3eb321f4a9100c0707fec3fd081b","a2a41e5857cc06435104367b7d1f48b409bfe93a4ac77748fb98baa1478f29cf","a4b157d47e5c25e8bf0685577c960c41a112c7f0b340980e2515a43ef1887c54","38af778857e4f07da8ddf6d1dcda7bf4b501455252a2c98006f7c3344fd7f526","a10937d6dfa554517552385abaedbd1bc6fdcb9701aee152e102aac5a2c82746","a61f941a5856cf50ccfdf50137c6d295ed6704b12fb91372dd959809db54b319","2797c6273b83a6e4585358632830327d8cddb076e400e7c65668783bba0821a2","3027a5a197cd766abc3f7cd3f9e63595e23d68e5d315e1f50a9e6265ae1d0594","d1542935eb36a8cfa29aebb073bef35f1f8d2d30e25e3cdfb77622678cb9ff4a","21646c2943690d7bad80462d66dd98cbb690839778fed7d18deaf056c0171067","6d75c7a3b4ebb715532f62a9ee606acab62d6fa878b48261e3b27e30b4988142","4dd73804e37bcc88bbd9a770e7f2a3cc440e50abfb3357c6b91075435639b61c","6cee92d9fcc9773919629221c7c96dde70aeac9eacc6c15d16e7ea0507ded671","31a28937aafb9d3ae686144962a105289c6a8ae32d9129b99a6b57eb32c69bab","3e83be6adc13f0ba2b0bb5ef2fef29516877660f158ed6fdd777de2c27f7bbad","ec204da912c3b4b228626e8a5310207ae7a398c3f745ed8b5dc043033f2419f7","bf888e7b557ad080706efcd90f51fa17aae3e218974a7fd3d0592cc1ba878206","1a2a2f3641aab2918487d4a5995c29ea6e6134cb5f4d17bdd758691b9cbb6164","4d933ebf7027ed98555bfc3f98df6950f7718549ca1691bd73f9b314b4a5d9f1","df5f5ef444206c89f7f28b04ce9f4e0592cdeb7b3fb0534490487edb1654c4f4","504625fd2aff6b50298999996a66c6da9ffa84f8de390df20f4c53e6905c0ff3","f2d21e96218747c1f40f1881f3cf417d4913b43ca11e358ebbf4d3005ef82e2f","85923f9c86876e0b596ee67f48d6da91c95e61c891ab0a479b10f287811c5720","8362f95b9c16d0d7e1fdda110fa75ee386d5ee670f4885bf1f1e3e32419fb11d","f8eb054ed71a693219fa8c4ecd08272a72dadf73ab82ec9a73b365662f16775c","020cc6b4e69c386e1387194cc9233cca102cbce8bd8308ea3dec7054cb31f1a2","fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef","d4fec5db15ffd37b4c033e7f48e598a4d4cce990e9f15f3a4502c65def8d4525","016505d403d60f1e9b5c4ee269c8f225ac019dd267691687ec621338574227b1","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","9598917dffdcd37efa37ec9c994031ad10cefae76d95d69a0b08c394e651f37f","5cd349e6e0ec836061cb8cd1beacfb8e447e591ad737aae01ad17778798c92a3","47f5bf82c3e5e015ac824e0accde5831f27eee560ee5949493b8e1caf9324602","aa68d00125c4e23a377537980e558374609e0048dbc0c99feeb33da6118dc948","5bcb5b4554083521d963c22321c261d0586f5351c7d04638c3fdc230bc5f5619","8c83cea5939cf24f525ff2eaa501e80fb50ed42a899942a8f07c380c02b3631c","fb833fea3e43a78bb9024ae945c8ce5d7764b7ac3bea1eca4255167409e1293c","0a92a7160724928d53615d16c922eaafb6f1d25156c4829410e843e481aa315d","4d4c7912b3928a508b8fd31077974e9e47e432df13fa7876e62ae66f358b7efe","4ac3c3279a8bfdd6f66da4ad02363e69124c9b142be3d0116d66ee5af410d8dc","6702753f15c7e95bdb6a5286291f7d2b814a6813a620b7915bcfa90cf93e26c9","a9deea93b5e374ffb8d1949a9e9cfb5410da35ac897644b747c3180cf841db14","d843a8dcaadd65cf3fc76b8b14f8eee7b733da846abf21cac6b72491b9d0565c","0a2be416dac6e4d1c8bec4e7d7c24178f1e22584f94ad0f8f54b0a6dd56a18e3","6d8642db449bc452ba5865d54b82d73fd4f86a9fb6fb2c5aca8612d53b97d4b7","f6d85487a128842a4a52514a3cedbf9fbfe7e50736f69aa445147d603e3df161","4cf6ddb523f326ac47acb2b79bf56b64763b48b8faf37582f23e6a9d51212351","e142eff5e784d7a33fb808d8eaff1d8a6e51681a268113bde668f670218cc337","b1fe893c4c20cd55894b9bee436cd7a671ad59b4fba20148fceeef441142e61c","4df7ddafa7066d49483502abbe3397150b2609b6421c76f4bdd9074074edb1d2","9cf4e11ff974cce05a7822a7715ea94785611243dc5037a0e41a5c5eb95510f9","172da5d52ef7beb15ad1dd22d526d472c2052af2edc08a4900fe920fc4e18a8d","c68d89b632b1fa079e5ecfbea7773ff110df255fd7ed6696e48c9243f1d3241e","90d70719a9770dc332ffcde87865172bb98e2df08883949100a65305b026e82c","6aea120d3d001111459488aa3fe41cd7cb25474bc4b6a3a0d80b76bb93ba842c","b466c41299ef2e720425f2d0bb546fbb41baa9e5f7a280a35d18125457fc8a7f","3620732d594ef5f4490130082506188a5251389a16cfd921b3a6d899d7f7740d","41092c2f21154d134c6b180e1bb54c752fb56970fba9fbe2fcfc10d81e13732d","164099460637b07e28a46e2baf57bf7ef8b21e95bbe52cdcdd7b706c233b1637","2c426cf9def67c43e8ad4d4f1ddd8e561ec78437fe6b725573bb6016b2050704","1c98daf0f7a0183e0d2808ebe5ff8dc30ba97811ff45e52e1b26c98ae3c877fb","c962dfbf609283ad22a7c89cbd96d23670df9e408c56e967965e70485db55b4f","892c4eaca41613e57714982c4cf9b8d7a1ec4d1dec7610a6746e4e5b51c9238e","bec9ce5fb44d28ada103eb658c41e771a4c20456d4c880ce81ff5b7c30162179","364a664124450723d4003b59212e6291445df626c9935ed2c1b25ccc98e5eec1","cc653803be018c2a3c50e808670718dfcd2a660d5a97c5b874f10f4d951b368b","cd4133865bd32a8dc56c8359e213449a6b6191fdd43d9df3359cb828a67732f0","056ef2d280a5c3c35f50743817bcb7ecf6b20dc66e68f5c8498a4b50851289ec","8915668a1856ed2d31f2e798ddd16d784c0eb614cb305fd61bece54ca856bc83","870d70891a4eee5d29dd4dd408d41dd260335f2eaa84fb3b7f3a2979b3ec078a","1d7ed6fd0c261ed3928aa9e1c02844e3032829d41529d7c153440de945eb693a","aca0343780b8484fc8ab49ec1cd7ed4455d8a72fb6d37c4845f072fae2ddc94a","b3a96dee2e8e6aed3d881c17d967d64a06d2d7633eaed2dc08136c9d72fdc613","978659d568658271f4ec8028badcee98fb7631a8c5f6984afba917e8a18f2994","49d1f2798732bd4e51303485ec47ab3afabe4975da61dd22ad1e638b0b633aed","1fceef35b85bf1c2eb88d7ff87041bba70454b6fb3275cd3c0683683e87377e7","4d72a2f2b131fcad932178746692cdc6102206fa6b95541569ce44a8330ee89f","5a12a2468515e6196ef5ae6f103c4e8649bfb653e904e26cde5c21fb6f8da07e","960cfee8f717cfe3c967cd14cca91dfe359b2cfbd79d4dff7c9a2f4451289363","3626117c675125b61e4434a30b16fbb17072932e8757b0672d046cd41dbba43a","ec7b0b8dd0c51627873984f6fa97fe205399b426f33fd1db0513277c91d203f8","e62b7e89a9838b4eb00e69ba21da0524978a928da82d80a93c90dd3487bee5d8","bb59363d00691f221a15f058fc1e1190a383f11fc5d43aea0f2d024dd3074806","32cbce04b4e826453913bc4ec11fd60522a4d9d777bb7596c86f4f1e8d403e0a","cfa0ad632475dedce30e693430b7138af62bb1722518d7e96655f924a8b7330d","b2fbf5b0f157dbb55d06d6c41db39f700e72a3a3d5ef529b6b13aa41aebacb8e","3356e68d90afbb1ff2e837c04b3d58f597a04b28379036e96719d2bb05cd211c","052fb3c9d96792bd5c8c5dae94747ee615f091663c457a01bf807a5e4747267a","f920b8e3c4abf4bc47ee138d467e5a009df70dc5b260ed6ddcb2746dc8cd48d1","4a846d7a7c46d6bfadb93e3d82d7f635afa384bd1ecd8ab16331c63dd4363e7c","b2bbfd02443109f94b4c25a4fdb6d3229ba505f27da84878b58a36ba2e470e36","9ad3a17affdfdae0248e311cd4e184220cfdca60249923a848e1af05f2c77257","ba92aeb236b7772678af8fb07bb94c60f4a80b0cfbca187b782cdbb3da865951","4fa52da408b0aa60d5f0fd24b8d1425cbe0d374ce905dc49c6e911b600d1697e","55abdc0a2fd184a57c8ead3096ff97cf03d186941e9a2c1dbeccff5c1477aa05","d222657ed86e3666f87d8dfea01469fd3bb844672c2e1325b0eb72abd4d44ec4","7f4a7aa7d1a20e09abcf6694eb47052e2b66aef00c5ceffacef8987a672da0bb","6b44b38d58e357998bfde5d01074dfdcd367d4ff2fdd9037acfaad6b652d3bd5","32c58de3ca76283b45268fc4aaeff14b7f8b5badc9a98fd6e3e6ba1a1bf7b594","eba04c19cca475dd41c3bcd3880c6f5a03d711dc45b9faf83a99bf27308fa53f","0ca87d9a2458671841ffe178907feb67cf3c8713b2dc1f306e16743e98d5acf5","77c375cce608c31f81e0fac17835e38010c8fb21fff3d8cd9b99edf153db6fdf","2054cf6461640ec78bab12a93fbf32d985a871ac2082824fe4f9b0ffb0418b4f","0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e","a15809b8be1e3dd5a4f89df2886c9609eff56afa7b5e262adae346dc81d80a19","abbf5a289e8fbe488cf30a8024ebb89cafa6ab47277ffe735ce2dd18fe1ca107","48010a1e04aff055895b4d95949566d9cd43f356bf1d989548dcbe34b07e0702","020cc6b4e69c386e1387194cc9233cca102cbce8bd8308ea3dec7054cb31f1a2","fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef","d4fec5db15ffd37b4c033e7f48e598a4d4cce990e9f15f3a4502c65def8d4525","016505d403d60f1e9b5c4ee269c8f225ac019dd267691687ec621338574227b1","9598917dffdcd37efa37ec9c994031ad10cefae76d95d69a0b08c394e651f37f","5cd349e6e0ec836061cb8cd1beacfb8e447e591ad737aae01ad17778798c92a3","47f5bf82c3e5e015ac824e0accde5831f27eee560ee5949493b8e1caf9324602","143a24c1ed2e238676967b2f74651bfa50489f62356febf145505bc5c3066f4a","5bcb5b4554083521d963c22321c261d0586f5351c7d04638c3fdc230bc5f5619","8c83cea5939cf24f525ff2eaa501e80fb50ed42a899942a8f07c380c02b3631c","fb833fea3e43a78bb9024ae945c8ce5d7764b7ac3bea1eca4255167409e1293c","0a92a7160724928d53615d16c922eaafb6f1d25156c4829410e843e481aa315d","4d4c7912b3928a508b8fd31077974e9e47e432df13fa7876e62ae66f358b7efe","4ac3c3279a8bfdd6f66da4ad02363e69124c9b142be3d0116d66ee5af410d8dc","6702753f15c7e95bdb6a5286291f7d2b814a6813a620b7915bcfa90cf93e26c9","a9deea93b5e374ffb8d1949a9e9cfb5410da35ac897644b747c3180cf841db14","d843a8dcaadd65cf3fc76b8b14f8eee7b733da846abf21cac6b72491b9d0565c","0a2be416dac6e4d1c8bec4e7d7c24178f1e22584f94ad0f8f54b0a6dd56a18e3","6d8642db449bc452ba5865d54b82d73fd4f86a9fb6fb2c5aca8612d53b97d4b7","f6d85487a128842a4a52514a3cedbf9fbfe7e50736f69aa445147d603e3df161","4cf6ddb523f326ac47acb2b79bf56b64763b48b8faf37582f23e6a9d51212351","54fffd4149e10833e27426eb171b41b15c254f6df8033d33a49879ad36d03e00","a824ab7b9fbb089e7065fb9e124e339fe147bec626278521cbc21bf40566b377","4df7ddafa7066d49483502abbe3397150b2609b6421c76f4bdd9074074edb1d2","9cf4e11ff974cce05a7822a7715ea94785611243dc5037a0e41a5c5eb95510f9","172da5d52ef7beb15ad1dd22d526d472c2052af2edc08a4900fe920fc4e18a8d","c68d89b632b1fa079e5ecfbea7773ff110df255fd7ed6696e48c9243f1d3241e","90d70719a9770dc332ffcde87865172bb98e2df08883949100a65305b026e82c","6aea120d3d001111459488aa3fe41cd7cb25474bc4b6a3a0d80b76bb93ba842c","b466c41299ef2e720425f2d0bb546fbb41baa9e5f7a280a35d18125457fc8a7f","164099460637b07e28a46e2baf57bf7ef8b21e95bbe52cdcdd7b706c233b1637","2c426cf9def67c43e8ad4d4f1ddd8e561ec78437fe6b725573bb6016b2050704","1c98daf0f7a0183e0d2808ebe5ff8dc30ba97811ff45e52e1b26c98ae3c877fb","c962dfbf609283ad22a7c89cbd96d23670df9e408c56e967965e70485db55b4f","892c4eaca41613e57714982c4cf9b8d7a1ec4d1dec7610a6746e4e5b51c9238e","bec9ce5fb44d28ada103eb658c41e771a4c20456d4c880ce81ff5b7c30162179","5a12a2468515e6196ef5ae6f103c4e8649bfb653e904e26cde5c21fb6f8da07e","caea0dd87e450949224a27e66b7b639eef187fb984bf93534164d12d9352dcbe","3626117c675125b61e4434a30b16fbb17072932e8757b0672d046cd41dbba43a","406975d13f6610124755b916bfec69c5c82c1ae526302281043322880d6240c3","e62b7e89a9838b4eb00e69ba21da0524978a928da82d80a93c90dd3487bee5d8","afb68172b62eca8ae49e150404b2b46610f8512e0d85234f19a8699675352708","32cbce04b4e826453913bc4ec11fd60522a4d9d777bb7596c86f4f1e8d403e0a","cfa0ad632475dedce30e693430b7138af62bb1722518d7e96655f924a8b7330d","b2fbf5b0f157dbb55d06d6c41db39f700e72a3a3d5ef529b6b13aa41aebacb8e","4a846d7a7c46d6bfadb93e3d82d7f635afa384bd1ecd8ab16331c63dd4363e7c","b2bbfd02443109f94b4c25a4fdb6d3229ba505f27da84878b58a36ba2e470e36","9ad3a17affdfdae0248e311cd4e184220cfdca60249923a848e1af05f2c77257","eba04c19cca475dd41c3bcd3880c6f5a03d711dc45b9faf83a99bf27308fa53f","0ca87d9a2458671841ffe178907feb67cf3c8713b2dc1f306e16743e98d5acf5","77c375cce608c31f81e0fac17835e38010c8fb21fff3d8cd9b99edf153db6fdf","2054cf6461640ec78bab12a93fbf32d985a871ac2082824fe4f9b0ffb0418b4f","14111a4be53652a7bc38616b2b90ae920923fb795d385333206e2ff8fa59ae57",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true}],"options":{"declaration":false,"declarationMap":false,"esModuleInterop":true,"inlineSources":true,"module":1,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./","rootDir":"../../src/test","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4},"fileIdsList":[[174,181,191,250,269,278,281],[181,191,250,278,281,282],[282,283],[160,167,250,281],[285],[181,187,191,219,248,251],[251,252],[160,167,181,187,191,219,248,250],[160,167,244,245,246],[245,246,247],[40,160,167,181,187,191,216,244,245],[40,160,167,181,187,191],[248,253,284,286,291,294],[290],[160,167,250,269,281,289],[187],[160,167,174],[292,293],[37,38,39],[40],[40,54,201],[193],[192,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],[193,194,196],[195],[40,54],[54,88,99],[162],[40,99],[160,162,167,170],[161,162,163,164,165,170,171,172,173],[40,99,160,161,162,164,165,167,169,170,171],[40,99,160,161,162,164,165,167,169,172],[40,99,160,167,169,174,181],[249],[40,54,88,99,160,167,169,174,181,216,250,254,256,271,272],[181],[40,99,174],[40,99,160,167,174,181,269,270,273],[254,255,256,271,273,274,275,276,277],[40,99,174,181,273],[256],[99,169,174],[40,54,88,160,167,174,233,255,256,273,276,278],[40,99,160,167,174,181,233,255],[40,99,174,216],[99,169,181],[157],[155,156,158],[154,155,156,157,158,159],[99,160,167,181,182,183],[40,99,160,167,174,181,187],[182,183,184,185,186],[160,167,185],[40,99,160,167,174,181,187,216],[160,167],[217,218],[166,167,168],[40,99,167],[99,181,187,239,240,242],[240,241,242,243],[40,239],[160,167,239,240],[99,181,187,239,240],[89],[40,90],[89,90,91,92,93,94,95,96,97,98],[90,92,93,96],[279,280],[160,167,181,250,269],[160,167,250,279],[40,99,160,167,169,174,175,176,177,178,180],[179],[180],[175,176,177,178,179,180],[99],[40,99,176],[160,167,181],[257,258,259,260,261,262,263,267,268],[174,250],[264,265,266],[40,99,181,263,264],[40,99,181,263],[40,99,181,263,264,265],[40,99,181],[220,234,235,236,237,238],[40,99,160,167,181,187,220,233,234,235],[160,167,220],[40,99,181,187],[160,167,181,220],[188],[188,189],[188,189,190],[191],[40,216],[40,222,223],[40,225],[223,224,225,226,227,228,229,230,231,232],[40,223],[287,288],[221],[41],[43],[44],[46,54,55,62,71],[46,47,54,62],[48,81],[49,50,55,63],[50,71],[51,52,54,62],[52],[53,54],[54],[54,55,56,71,80],[55,56],[57,62,71,80],[54,55,57,58,62,71,74,80],[57,59,71,74,80],[41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,82,83,84,85,86,87],[54,60],[61,80],[52,54,62,71],[63],[64],[43,65],[66,76],[67],[68],[54,69],[69,70,81,83],[54,71],[72],[73],[62,74],[75],[62,76],[68,80],[81],[71,82],[83],[84],[54,56,71,80,83,85],[71,86],[77,78],[101],[36,101,106,109],[100,101,102,103,104,109,110,111,112],[36,40,99,100,101,103,104,106,108,109,110],[36,40,99,100,101,103,104,106,108,111],[33],[31,32,34],[30,31,32,33,34,35],[105,106,107],[40,99,106],[36,106],[99,120,130,320,321,323],[321,322,323,324],[40,320],[36,106,320,321],[99,120,130,320,321],[303,315,316,317,318,319],[36,40,99,106,120,130,303,314,315,316],[36,106,303],[40,99,120,130],[36,106,120,303],[113,120,122,141,144,299,344],[120,122,144,299,344,345],[345,346],[36,106,122,144],[145],[120,130,299,302,329,330],[330,331],[36,106,120,122,130,299,302,329],[36,106,325,326,327],[326,327,328],[36,40,106,120,130,216,299,325,326],[36,40,106,120,130,299],[146,152,329,332,347,350],[151],[36,106,122,141,144,150],[130],[36,106,113],[348,349],[36,41,106,122,141,146],[36,41,106,120,122,141,144,152],[295,351],[142,143],[36,106,120,122,141],[36,106,122,142],[296],[296,297],[296,297,298],[299],[148,149],[36,40,99,106,108,113,120],[121],[36,40,54,88,99,106,108,113,120,122,216,333,335,337,338],[120],[40,99,113],[36,40,99,106,113,120,141,336,339],[333,334,335,337,339,340,341,342,343],[40,99,113,120,339],[335],[99,108,113],[36,40,54,88,106,113,314,334,335,339,342,344],[36,40,99,106,113,120,314,334],[40,99,113,216],[99,108,120],[36,99,106,120,125,126],[36,40,99,106,113,120,130],[125,126,127,128,129],[36,106,128],[36,40,99,106,113,120,130,216],[300,301],[36,40,99,106,108,113,114,115,116,117,119],[118],[119],[114,115,116,117,118,119],[40,99,115],[36,106,120],[123,124,131,132,133,134,135,139,140],[113,122],[136,137,138],[40,99,120,135,136],[40,99,120,135],[40,99,120,135,136,137],[40,99,120],[40,222,304],[40,306],[304,305,306,307,308,309,310,311,312,313],[40,304]],"referencedMap":[[282,1],[283,2],[284,3],[285,4],[286,5],[252,6],[253,7],[251,8],[247,9],[248,10],[246,11],[245,12],[295,13],[291,14],[290,15],[292,16],[293,17],[294,18],[40,19],[200,20],[202,21],[194,22],[216,23],[197,24],[204,20],[196,25],[201,26],[161,27],[163,28],[164,29],[165,20],[171,30],[174,31],[172,32],[170,33],[249,34],[250,35],[273,36],[275,37],[274,38],[271,39],[278,40],[254,41],[276,42],[272,43],[277,44],[256,45],[255,46],[270,47],[158,48],[157,49],[160,50],[184,51],[183,52],[187,53],[186,54],[217,55],[218,56],[219,57],[169,58],[168,59],[167,56],[243,60],[244,61],[240,62],[242,63],[241,64],[90,65],[91,66],[99,67],[98,68],[96,65],[281,69],[279,70],[280,71],[179,72],[180,73],[175,74],[181,75],[177,76],[178,77],[257,56],[258,78],[269,79],[259,16],[260,76],[261,56],[262,80],[267,81],[265,82],[264,83],[266,84],[268,85],[263,76],[239,86],[220,56],[236,87],[234,88],[235,89],[237,90],[189,91],[190,92],[191,93],[188,94],[232,95],[224,96],[226,97],[227,95],[228,26],[225,20],[233,98],[223,20],[229,99],[230,20],[231,20],[289,100],[288,56],[222,101],[41,102],[43,103],[44,104],[46,105],[47,106],[48,107],[49,108],[50,109],[51,110],[52,111],[53,112],[54,113],[55,114],[56,115],[57,116],[58,117],[59,118],[88,119],[60,120],[61,121],[62,122],[63,123],[64,124],[65,125],[66,126],[67,127],[68,128],[69,129],[70,130],[71,131],[72,132],[73,133],[74,134],[75,135],[76,136],[80,137],[81,138],[82,139],[83,140],[84,141],[85,142],[86,143],[79,144],[100,27],[102,145],[103,29],[104,20],[110,146],[113,147],[111,148],[109,149],[34,150],[33,151],[36,152],[108,153],[107,154],[106,155],[324,156],[325,157],[321,158],[323,159],[322,160],[320,161],[303,155],[317,162],[315,163],[316,164],[318,165],[345,166],[346,167],[347,168],[145,169],[146,170],[331,171],[332,172],[330,173],[328,174],[329,175],[327,176],[326,177],[351,178],[152,179],[151,180],[348,181],[349,182],[350,183],[147,184],[153,185],[352,186],[144,187],[142,188],[143,189],[297,190],[298,191],[299,192],[296,193],[150,194],[149,155],[121,195],[122,196],[339,197],[341,198],[340,199],[337,200],[344,201],[333,202],[342,203],[338,204],[343,205],[335,206],[334,207],[336,208],[127,209],[126,210],[130,211],[129,212],[300,213],[301,155],[302,214],[118,215],[119,216],[114,217],[120,218],[116,76],[117,219],[123,155],[124,220],[141,221],[131,181],[132,76],[133,155],[134,222],[139,223],[137,224],[136,225],[138,226],[140,227],[135,76],[313,95],[305,228],[307,229],[308,95],[309,26],[306,20],[314,230],[304,20],[310,231],[311,20],[312,20]],"exportedModulesMap":[[282,1],[283,2],[284,3],[285,4],[286,5],[252,6],[253,7],[251,8],[247,9],[248,10],[246,11],[245,12],[295,13],[291,14],[290,15],[292,16],[293,17],[294,18],[40,19],[200,20],[202,21],[194,22],[216,23],[197,24],[204,20],[196,25],[201,26],[161,27],[163,28],[164,29],[165,20],[171,30],[174,31],[172,32],[170,33],[249,34],[250,35],[273,36],[275,37],[274,38],[271,39],[278,40],[254,41],[276,42],[272,43],[277,44],[256,45],[255,46],[270,47],[158,48],[157,49],[160,50],[184,51],[183,52],[187,53],[186,54],[217,55],[218,56],[219,57],[169,58],[168,59],[167,56],[243,60],[244,61],[240,62],[242,63],[241,64],[90,65],[91,66],[99,67],[98,68],[96,65],[281,69],[279,70],[280,71],[179,72],[180,73],[175,74],[181,75],[177,76],[178,77],[257,56],[258,78],[269,79],[259,16],[260,76],[261,56],[262,80],[267,81],[265,82],[264,83],[266,84],[268,85],[263,76],[239,86],[220,56],[236,87],[234,88],[235,89],[237,90],[189,91],[190,92],[191,93],[188,94],[232,95],[224,96],[226,97],[227,95],[228,26],[225,20],[233,98],[223,20],[229,99],[230,20],[231,20],[289,100],[288,56],[222,101],[41,102],[43,103],[44,104],[46,105],[47,106],[48,107],[49,108],[50,109],[51,110],[52,111],[53,112],[54,113],[55,114],[56,115],[57,116],[58,117],[59,118],[88,119],[60,120],[61,121],[62,122],[63,123],[64,124],[65,125],[66,126],[67,127],[68,128],[69,129],[70,130],[71,131],[72,132],[73,133],[74,134],[75,135],[76,136],[80,137],[81,138],[82,139],[83,140],[84,141],[85,142],[86,143],[79,144],[100,27],[102,145],[103,29],[104,20],[110,146],[113,147],[111,148],[109,149],[34,150],[33,151],[36,152],[108,153],[107,154],[106,155],[324,156],[325,157],[321,158],[323,159],[322,160],[320,161],[303,155],[317,162],[315,163],[316,164],[318,165],[345,166],[346,167],[347,168],[145,169],[146,170],[331,171],[332,172],[330,173],[328,174],[329,175],[327,176],[326,177],[351,178],[152,179],[151,180],[348,181],[349,182],[350,183],[147,184],[153,185],[352,186],[144,187],[142,188],[143,189],[297,190],[298,191],[299,192],[296,193],[150,194],[149,155],[121,195],[122,196],[339,197],[341,198],[340,199],[337,200],[344,201],[333,202],[342,203],[338,204],[343,205],[335,206],[334,207],[336,208],[127,209],[126,210],[130,211],[129,212],[300,213],[301,155],[302,214],[118,215],[119,216],[114,217],[120,218],[116,76],[117,219],[123,155],[124,220],[141,221],[131,181],[132,76],[133,155],[134,222],[139,223],[137,224],[136,225],[138,226],[140,227],[135,76],[313,95],[305,228],[307,229],[308,95],[309,26],[306,20],[314,230],[304,20],[310,231],[311,20],[312,20]],"semanticDiagnosticsPerFile":[282,283,284,285,286,252,253,251,247,248,246,245,295,291,290,292,293,294,37,38,40,39,192,198,199,193,215,214,200,202,194,203,216,197,213,204,195,196,205,206,207,208,209,210,211,201,212,161,163,164,165,171,162,174,172,170,173,249,250,273,275,274,271,278,254,276,272,277,256,255,270,158,154,159,155,157,160,156,184,183,187,185,186,182,217,218,219,166,169,168,167,243,244,240,242,241,90,92,91,99,93,97,98,94,95,96,89,281,279,280,179,180,175,176,181,177,178,257,258,269,259,260,261,262,267,265,264,266,268,263,239,220,236,234,235,237,238,189,190,191,188,232,224,226,227,228,225,233,223,229,230,231,287,289,288,222,45,353,221,41,43,44,46,47,48,49,50,51,52,53,54,55,56,42,87,57,58,59,88,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,82,83,84,85,86,77,78,79,6,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,1,29,100,102,103,104,110,101,113,111,109,112,34,30,35,31,33,36,32,105,108,107,106,324,325,321,323,322,320,303,317,315,316,318,319,345,346,347,145,146,331,332,330,328,329,327,326,351,152,151,348,349,350,147,153,352,144,142,143,297,298,299,296,148,150,149,121,122,339,341,340,337,344,333,342,338,343,335,334,336,127,126,130,128,129,125,300,301,302,118,119,114,115,120,116,117,123,124,141,131,132,133,134,139,137,136,138,140,135,313,305,307,308,309,306,314,304,310,311,312]},"version":"4.5.5"}
1
+ {"program":{"fileNames":["../../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../common/core-interfaces/dist/fluidObject.d.ts","../../../../common/core-interfaces/dist/fluidRouter.d.ts","../../../../common/core-interfaces/dist/provider.d.ts","../../../../common/core-interfaces/dist/handles.d.ts","../../../../common/core-interfaces/dist/fluidLoadable.d.ts","../../../../common/core-interfaces/dist/fluidPackage.d.ts","../../../../common/core-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/disposable.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/events.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/logger.d.ts","../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts","../../../../../node_modules/@types/node/assert.d.ts","../../../../../node_modules/@types/node/globals.d.ts","../../../../../node_modules/@types/node/async_hooks.d.ts","../../../../../node_modules/@types/node/buffer.d.ts","../../../../../node_modules/@types/events/index.d.ts","../../../../../node_modules/@types/node/child_process.d.ts","../../../../../node_modules/@types/node/cluster.d.ts","../../../../../node_modules/@types/node/console.d.ts","../../../../../node_modules/@types/node/constants.d.ts","../../../../../node_modules/@types/node/crypto.d.ts","../../../../../node_modules/@types/node/dgram.d.ts","../../../../../node_modules/@types/node/dns.d.ts","../../../../../node_modules/@types/node/domain.d.ts","../../../../../node_modules/@types/node/events.d.ts","../../../../../node_modules/@types/node/fs.d.ts","../../../../../node_modules/@types/node/fs/promises.d.ts","../../../../../node_modules/@types/node/http.d.ts","../../../../../node_modules/@types/node/http2.d.ts","../../../../../node_modules/@types/node/https.d.ts","../../../../../node_modules/@types/node/inspector.d.ts","../../../../../node_modules/@types/node/module.d.ts","../../../../../node_modules/@types/node/net.d.ts","../../../../../node_modules/@types/node/os.d.ts","../../../../../node_modules/@types/node/path.d.ts","../../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../../node_modules/@types/node/process.d.ts","../../../../../node_modules/@types/node/punycode.d.ts","../../../../../node_modules/@types/node/querystring.d.ts","../../../../../node_modules/@types/node/readline.d.ts","../../../../../node_modules/@types/node/repl.d.ts","../../../../../node_modules/@types/node/stream.d.ts","../../../../../node_modules/@types/node/string_decoder.d.ts","../../../../../node_modules/@types/node/timers.d.ts","../../../../../node_modules/@types/node/tls.d.ts","../../../../../node_modules/@types/node/trace_events.d.ts","../../../../../node_modules/@types/node/tty.d.ts","../../../../../node_modules/querystring/decode.d.ts","../../../../../node_modules/querystring/encode.d.ts","../../../../../node_modules/querystring/index.d.ts","../../../../../node_modules/@types/node/url.d.ts","../../../../../node_modules/@types/node/util.d.ts","../../../../../node_modules/@types/node/v8.d.ts","../../../../../node_modules/@types/node/vm.d.ts","../../../../../node_modules/@types/node/wasi.d.ts","../../../../../node_modules/@types/node/worker_threads.d.ts","../../../../../node_modules/@types/node/zlib.d.ts","../../../../../node_modules/@types/node/globals.global.d.ts","../../../../../node_modules/@types/node/index.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/users.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/consensus.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/config.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/protocol.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/summary.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/tokens.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/scopes.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/sockets.d.ts","../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts","../../../../common/container-definitions/dist/audience.d.ts","../../../../common/container-definitions/dist/fluidPackage.d.ts","../../../../common/container-definitions/dist/browserPackage.d.ts","../../../../common/container-definitions/dist/deltas.d.ts","../../../../common/container-definitions/dist/error.d.ts","../../../../common/driver-definitions/dist/driverError.d.ts","../../../../common/driver-definitions/dist/urlResolver.d.ts","../../../../common/driver-definitions/dist/storage.d.ts","../../../../common/driver-definitions/dist/index.d.ts","../../../../common/container-definitions/dist/runtime.d.ts","../../../../common/container-definitions/dist/fluidModule.d.ts","../../../../common/container-definitions/dist/loader.d.ts","../../../../common/container-definitions/dist/tokenProvider.d.ts","../../../../common/container-definitions/dist/index.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreRegistry.d.ts","../../../../runtime/runtime-definitions/dist/garbageCollection.d.ts","../../../../runtime/runtime-definitions/dist/protocol.d.ts","../../../../runtime/runtime-definitions/dist/summary.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreContext.d.ts","../../../../runtime/runtime-definitions/dist/dataStoreFactory.d.ts","../../../../runtime/runtime-definitions/dist/index.d.ts","../../../../runtime/container-runtime-definitions/dist/containerRuntime.d.ts","../../../../runtime/container-runtime-definitions/dist/index.d.ts","../../../../runtime/runtime-utils/dist/dataStoreHandleContextUtils.d.ts","../../../../runtime/runtime-utils/dist/dataStoreHelpers.d.ts","../../../../runtime/datastore-definitions/dist/storage.d.ts","../../../../runtime/datastore-definitions/dist/dataStoreRuntime.d.ts","../../../../runtime/datastore-definitions/dist/channel.d.ts","../../../../runtime/datastore-definitions/dist/jsonable.d.ts","../../../../runtime/datastore-definitions/dist/serializable.d.ts","../../../../runtime/datastore-definitions/dist/index.d.ts","../../../../runtime/runtime-utils/dist/objectstoragepartition.d.ts","../../../../runtime/runtime-utils/dist/objectstorageutils.d.ts","../../../../runtime/runtime-utils/dist/requestParser.d.ts","../../../../runtime/runtime-utils/dist/runtimeFactoryHelper.d.ts","../../../../runtime/runtime-utils/dist/utils.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNodeUtils.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNode.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/summarizerNodeWithGc.d.ts","../../../../runtime/runtime-utils/dist/summarizerNode/index.d.ts","../../../../runtime/runtime-utils/dist/summaryUtils.d.ts","../../../../runtime/runtime-utils/dist/index.d.ts","../../../request-handler/dist/requestHandlers.d.ts","../../../request-handler/dist/runtimeRequestHandlerBuilder.d.ts","../../../request-handler/dist/index.d.ts","../container-services/containerServices.d.ts","../container-services/index.d.ts","../../src/test/containerServices.spec.ts","../../../view-interfaces/dist/htmlView.d.ts","../../../view-interfaces/dist/mountableView.d.ts","../../../view-interfaces/dist/index.d.ts","../request-handlers/requestHandlers.d.ts","../request-handlers/index.d.ts","../../src/test/defaultRoute.spec.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts","../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/audience.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/browserPackage.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/tokenProvider.d.ts","../../../../../node_modules/@fluidframework/container-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreRegistry.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/garbageCollection.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/protocol.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/summary.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreContext.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/dataStoreFactory.d.ts","../../../../../node_modules/@fluidframework/runtime-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/storage.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/dataStoreRuntime.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/channel.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/jsonable.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/serializable.d.ts","../../../../../node_modules/@fluidframework/datastore-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/types.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/IFluidDependencySynthesizer.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/dependencyContainer.d.ts","../../../../../node_modules/@fluidframework/synthesize/dist/index.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/assert.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/bufferNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/hashFileNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/performanceIsomorphic.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/performanceNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/indexNode.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/base64Encoding.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/batchManager.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/disposal.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/typedEventEmitter.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/eventForwarder.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/heap.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/logger.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/promiseCache.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/promises.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/rangeTracker.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/rateLimiter.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/safeParser.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/timer.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/trace.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/unreachable.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/lazy.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/delay.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/bufferShared.d.ts","../../../../../node_modules/@fluidframework/common-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/dataStoreRuntime.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/fluidHandle.d.ts","../../../../../node_modules/@fluidframework/datastore/dist/index.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/serializer.d.ts","../../../../../node_modules/@types/ms/index.d.ts","../../../../../node_modules/@types/debug/index.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/logger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/debugLogger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/fluidErrorBase.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/errorLogging.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/eventEmitterWithErrorHandling.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/events.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/mockLogger.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/thresholdCounter.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/utils.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/config.d.ts","../../../../../node_modules/@fluidframework/telemetry-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/summarySerializer.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/types.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/sharedObject.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/utils.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/valueType.d.ts","../../../../../node_modules/@fluidframework/shared-object-base/dist/index.d.ts","../../../../../node_modules/@fluidframework/map/dist/interfaces.d.ts","../../../../../node_modules/@fluidframework/map/dist/map.d.ts","../../../../../node_modules/@fluidframework/map/dist/localValues.d.ts","../../../../../node_modules/@fluidframework/map/dist/directory.d.ts","../../../../../node_modules/@fluidframework/map/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/types.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/pureDataObject.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/dataObject.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-objects/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime-definitions/dist/containerRuntime.d.ts","../../../../../node_modules/@fluidframework/container-runtime-definitions/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/pureDataObjectFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/dataObjectFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/data-object-factories/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/pendingStateManager.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summaryCollection.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summarizerTypes.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/dataStoreHandleContextUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/dataStoreHelpers.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/objectstoragepartition.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/objectstorageutils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/requestParser.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/runtimeFactoryHelper.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/utils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNodeUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNode.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/summarizerNodeWithGc.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summarizerNode/index.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/summaryUtils.d.ts","../../../../../node_modules/@fluidframework/runtime-utils/dist/index.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summaryFormat.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/garbageCollection.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/serializedSnapshotStorage.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/containerRuntime.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/deltaScheduler.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/dataStoreRegistry.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/runWhileConnectedCoordinator.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/summarizer.d.ts","../../../../../node_modules/@fluidframework/container-runtime/dist/index.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/requestHandlers.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/runtimeRequestHandlerBuilder.d.ts","../../../../../node_modules/@fluidframework/request-handler/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/baseContainerRuntimeFactory.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-runtime-factories/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-services/containerServices.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/container-services/index.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/htmlView.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/mountableView.d.ts","../../../../../node_modules/@fluidframework/view-interfaces/dist/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/request-handlers/requestHandlers.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/request-handlers/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/attachUtils.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/containerInteractions.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/utils/index.d.ts","../../../../../node_modules/@fluidframework/aqueduct-previous/dist/index.d.ts","../../../synthesize/dist/types.d.ts","../../../synthesize/dist/IFluidDependencySynthesizer.d.ts","../../../synthesize/dist/dependencyContainer.d.ts","../../../synthesize/dist/index.d.ts","../../../../runtime/datastore/dist/dataStoreRuntime.d.ts","../../../../runtime/datastore/dist/fluidHandle.d.ts","../../../../runtime/datastore/dist/index.d.ts","../../../../dds/shared-object-base/dist/serializer.d.ts","../../../../utils/telemetry-utils/dist/logger.d.ts","../../../../utils/telemetry-utils/dist/debugLogger.d.ts","../../../../utils/telemetry-utils/dist/fluidErrorBase.d.ts","../../../../utils/telemetry-utils/dist/errorLogging.d.ts","../../../../utils/telemetry-utils/dist/eventEmitterWithErrorHandling.d.ts","../../../../utils/telemetry-utils/dist/events.d.ts","../../../../utils/telemetry-utils/dist/mockLogger.d.ts","../../../../utils/telemetry-utils/dist/thresholdCounter.d.ts","../../../../utils/telemetry-utils/dist/utils.d.ts","../../../../utils/telemetry-utils/dist/config.d.ts","../../../../utils/telemetry-utils/dist/index.d.ts","../../../../dds/shared-object-base/dist/summarySerializer.d.ts","../../../../dds/shared-object-base/dist/types.d.ts","../../../../dds/shared-object-base/dist/sharedObject.d.ts","../../../../dds/shared-object-base/dist/utils.d.ts","../../../../dds/shared-object-base/dist/valueType.d.ts","../../../../dds/shared-object-base/dist/index.d.ts","../../../../dds/map/dist/interfaces.d.ts","../../../../dds/map/dist/map.d.ts","../../../../dds/map/dist/localValues.d.ts","../../../../dds/map/dist/directory.d.ts","../../../../dds/map/dist/index.d.ts","../data-objects/types.d.ts","../data-objects/pureDataObject.d.ts","../data-objects/dataObject.d.ts","../data-objects/index.d.ts","../data-object-factories/pureDataObjectFactory.d.ts","../data-object-factories/dataObjectFactory.d.ts","../data-object-factories/index.d.ts","../../../../runtime/container-runtime/dist/pendingStateManager.d.ts","../../../../runtime/container-runtime/dist/summaryCollection.d.ts","../../../../runtime/container-runtime/dist/summarizerTypes.d.ts","../../../../runtime/container-runtime/dist/summaryFormat.d.ts","../../../../runtime/container-runtime/dist/garbageCollection.d.ts","../../../../runtime/container-runtime/dist/serializedSnapshotStorage.d.ts","../../../../runtime/container-runtime/dist/containerRuntime.d.ts","../../../../runtime/container-runtime/dist/deltaScheduler.d.ts","../../../../runtime/container-runtime/dist/dataStoreRegistry.d.ts","../../../../runtime/container-runtime/dist/runWhileConnectedCoordinator.d.ts","../../../../runtime/container-runtime/dist/summarizer.d.ts","../../../../runtime/container-runtime/dist/index.d.ts","../container-runtime-factories/baseContainerRuntimeFactory.d.ts","../container-runtime-factories/containerRuntimeFactoryWithDefaultDataStore.d.ts","../container-runtime-factories/index.d.ts","../utils/attachUtils.d.ts","../utils/containerInteractions.d.ts","../utils/index.d.ts","../index.d.ts","../../src/test/types/validateAqueductPrevious.ts","../../../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"927cb2b60048e1395b183bf74b2b80a75bdb1dbe384e1d9fac654313ea2fb136","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"c0c5dc0360cc745a411de41c30c8a8fe7a145cbc25f1a34e02476b73ecb2f4c5","766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0","65ef3b1e24f24abd7eb28e74e43f398c5edd816bedcc51e7dd09b9ce6cbd4d65","008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df","8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80","970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8","730e91b2e5a938b59fc604ea092b379cb77dc9103f6eb6062fe95c64fe2b7ea5","739e7da9825029dead52b83a8e58525f8ecc5881ed25eb09744c9cad3ad90233","471510298742cdd3a5613a7eb84efd472abc2ef8bae510a767ac0bff05d3ae9d","d2de12ae0f86d9dae881b4c1534063fce79b19035c1b507954b11b062ece6dc7","910acae3ceaba3aba35fb52656476aca547b1585f4a10cc272acb50bb08692a6","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"dc5f6951bbf5b544349cbdef895c08dee6929818abd27d7d53c38cf1209091b3","affectsGlobalScope":true},"64e2803203b14d7f104f570f2152fde13abb6edc17b2ddb33d81ad86cf43d494","2c8d9e3331aec52d9a6d4040352c00282c3abaf48053ed0944528a4845c9caa3","400db42c3a46984118bff14260d60cec580057dc1ab4c2d7310beb643e4f5935","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","64576aba4ff801004122056ccd049f0597aa471dcfd7670a6a0b877ee8dd97c0","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","05d7d95e24bc2897bf20ce041c3dc3cca814e07148a93999145b1a0ad491094c","d1080e49778c0b2ce656042ebfa43f89dffb96ac00f86a34762188a21857ffd4","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","f0c33a0b325d3499cc9aded7d32886f998c9a27b465097c6cc136944d0aafdaa","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","03c91e8833eef54dc44db99d7deb469b5e3cec82f23054b4286a2380e0e00996","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"bf89ceb26132596b859cd4d129ce3f447134b444dec87966ba65cd7e8e9e0cb0","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","a11d4ba43bf0825d7285d54dec6cb951685cd458a4de3c5c1800f7cbf7799009","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","82e1723b20fa0b15a7da0d1a03fec88348f82f640f7a2f308d6c0fac780cfc7c","e0202c3e09775b86b902f21623e55896cea98750efbdf0691ca7473af06fe551","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce","ad7e61eca7f2f8bf47e72695f9f6663b75e41d87ef49abdb17c0cb843862f8aa","ecba2e44af95b0599c269a92628cec22e752868bce37396740deb51a5c547a26","46a9fb41a8f3bc7539eeebc15a6e04b9e55d7537a081615ad3614220d34c3e0f","a2666b43d889b4882ac6ede1c48128bac351886854e94f832b20d3730e5062c5","7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"2a7d39ea70e483d3ebcde44031b6552940f295349bee8d486e8bdf6380162302","23f4fb12c4c9562f93b2e1179b8318680fd0a4926668e4dd67e4d9e612d967f1","c21365787186bd17f0ed204809bdfd0b50130494593fd1c0657b5b1a2d87afcc","486e1128ffae98c512912ff444e45f17ea4d2bdefb5654372bdfebd0e7b181ea","295aebfd98602f95f4c41e7668309c64c7d469e02fa76f78aaac1a887031b69a","77449f243a7586f175c3b5589d9447e442c8e904d8ba3bb7fc5f22ca7d3b8a9f","400b71c3fd22577b532c14206b3e39f1cd13d7222e12a23f18253b1a8a573efc","822c3889675ada4c5e7869954cca7f1b9c17262af786a356db9d0ec78d5d3c1a","c4dbbb9e785092d70b85188942e7ebbf5382d52cd115b98265c2da6359bc64f9","1e55e1afdeca5d4c7dbb9c19f481cb2bb4b48ead954a64dbd2aa5b97e29b7c3a","2ed7a0b9c5e8eca005f9564dda5333d262a23851ac7f109886bb54d47b8cdbe9","b7bae7502647b504fe857c616093ccb6ca9723da878ea88cf658013d30b8c3d3","a5c5fcb99f794fcb8999490d1f5fccac22c4350801b527876a541e64692889b0","741a596519b5efb677cc27e0b3dc97a7053a5f08e0e388b54f6e93b7bbf5e9f4","5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239","bfe67b97724e26cc7f50518c6cd51419e076b80d3dc6112999c919c43da002a8","9217b29cd8c092fd796ab5309d0dc3cb4e63c9d32aff49e3137ab74e20d6caa2","75e5d70d8c37696098c9f40350175b347f76a1a6c85e2bd0f87a0eb1a6b1d599","b7de5d211bb5573ee43bd2375c4e13f70ca23aa2eedb74dc2cc96cb7490518fd","cad3b2418e58d97bd6d0c7f3e5210d632ab25c966ccccf55843e2f44eb70e3a8","db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1","c3a3e578da68c255f2f2e1496e5dbcf9799ce7ec69e7276d5ac84b0eef7ded5f","8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737","c647f0eaec4bd784e9486ac821aea42ae2533e2b6d097a61c97758ed895fb654","f9d3eab09c70e0814795277ab9c3f22625cd9dd09c3ab486f6e63974d6795a3d","6899568e38a0c9efbf74caea7480d0c929ca7d3b7e4861f14a74efce94b191cf","eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44","b7bf39e391d0749e0e6620c6a04df5eaae0ebafab81a75723981fd5df0cc5bcb","77ba40eacbb53542ece9394583ad424c8ee677543b0f85948d2387da8483afc9","5e4966caa7216db9cd10a26c64f356ff7512f4fe99c34feea09e8bb4a6284f01","76d22d2610269b2c21ad6c3750c2c7b07c470e219cf80f4455da7be7abc1d15e","bcb2b5ec9bb438a4a2ec0b66e7c623ed32784dedc3ef49b6ef48c700085dd803","b1264b0d302e579b79afdad01d2999289bfd86e4baa457b921f84ac0d4572c1f","3e3e3d6732d74c694c9e090e98b95d20c2c9ea0cfa0acfc155beeef6b9166e19","41092c2f21154d134c6b180e1bb54c752fb56970fba9fbe2fcfc10d81e13732d","364a664124450723d4003b59212e6291445df626c9935ed2c1b25ccc98e5eec1","cc653803be018c2a3c50e808670718dfcd2a660d5a97c5b874f10f4d951b368b","f2f75931453414c93a462e16d1c8705792402836c8337616de10260a7740606e","e90ee5b5e82a17db7d3d39a6ea4c8bfaf519477808367920f0514a9323177787","a4a8dbf7530d8e3969e17c8da06b2cbacb07e0d5593f454684f84d9b78af20b1","debe25164867bd40bf1dd2e5beb077aa0bae05e4be4f6b6b5e6813a835d3fb4b","3ce9b73b373898756adc78c6fc0f7c33db26720429fdfee6071488f19e49c1f1","5137910b77945f21aecf56f24785337c2038eca7b5c144731ca0927ae7048517","cd4133865bd32a8dc56c8359e213449a6b6191fdd43d9df3359cb828a67732f0","056ef2d280a5c3c35f50743817bcb7ecf6b20dc66e68f5c8498a4b50851289ec","8915668a1856ed2d31f2e798ddd16d784c0eb614cb305fd61bece54ca856bc83","870d70891a4eee5d29dd4dd408d41dd260335f2eaa84fb3b7f3a2979b3ec078a","1d7ed6fd0c261ed3928aa9e1c02844e3032829d41529d7c153440de945eb693a","aca0343780b8484fc8ab49ec1cd7ed4455d8a72fb6d37c4845f072fae2ddc94a","b3a96dee2e8e6aed3d881c17d967d64a06d2d7633eaed2dc08136c9d72fdc613","978659d568658271f4ec8028badcee98fb7631a8c5f6984afba917e8a18f2994","49d1f2798732bd4e51303485ec47ab3afabe4975da61dd22ad1e638b0b633aed","1fceef35b85bf1c2eb88d7ff87041bba70454b6fb3275cd3c0683683e87377e7","4d72a2f2b131fcad932178746692cdc6102206fa6b95541569ce44a8330ee89f","3356e68d90afbb1ff2e837c04b3d58f597a04b28379036e96719d2bb05cd211c","052fb3c9d96792bd5c8c5dae94747ee615f091663c457a01bf807a5e4747267a","f920b8e3c4abf4bc47ee138d467e5a009df70dc5b260ed6ddcb2746dc8cd48d1","ba92aeb236b7772678af8fb07bb94c60f4a80b0cfbca187b782cdbb3da865951","4fa52da408b0aa60d5f0fd24b8d1425cbe0d374ce905dc49c6e911b600d1697e","87365582535483059cf1b026f61c55ce0f1fbf19271966f13484ad2b1212a12f","55abdc0a2fd184a57c8ead3096ff97cf03d186941e9a2c1dbeccff5c1477aa05","d222657ed86e3666f87d8dfea01469fd3bb844672c2e1325b0eb72abd4d44ec4","7f4a7aa7d1a20e09abcf6694eb47052e2b66aef00c5ceffacef8987a672da0bb","6b44b38d58e357998bfde5d01074dfdcd367d4ff2fdd9037acfaad6b652d3bd5","32c58de3ca76283b45268fc4aaeff14b7f8b5badc9a98fd6e3e6ba1a1bf7b594","d9afb629da4262e636f81d9e190cb0b10109dc2ef33d47f43700b97341bc94f3","c0c5dc0360cc745a411de41c30c8a8fe7a145cbc25f1a34e02476b73ecb2f4c5","766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0","ffe2fe2824ad18643c67bdea603c0b13ce0b8e03fcedd7e830c3621e7495b8e4","008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df","8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80","970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8","730e91b2e5a938b59fc604ea092b379cb77dc9103f6eb6062fe95c64fe2b7ea5","383dced3ebba2967eeab64d0b7facd4529fe3ed2c352744f3f6c1988482206d4","741a596519b5efb677cc27e0b3dc97a7053a5f08e0e388b54f6e93b7bbf5e9f4","5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239","bfe67b97724e26cc7f50518c6cd51419e076b80d3dc6112999c919c43da002a8","9217b29cd8c092fd796ab5309d0dc3cb4e63c9d32aff49e3137ab74e20d6caa2","75e5d70d8c37696098c9f40350175b347f76a1a6c85e2bd0f87a0eb1a6b1d599","f46c512d895fa0c08acafd325c94189005255d382e4375b15d0274a107526b7f","e2b759a9d1dffa73c37689226f9f230745633b477bbdf8d2bd6106a6facabedc","db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1","c3a3e578da68c255f2f2e1496e5dbcf9799ce7ec69e7276d5ac84b0eef7ded5f","8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737","87b316eb986875e7229c1ea959b6ae2a2bb2182e76467a5a9f234ed23db0c16a","f9d3eab09c70e0814795277ab9c3f22625cd9dd09c3ab486f6e63974d6795a3d","6899568e38a0c9efbf74caea7480d0c929ca7d3b7e4861f14a74efce94b191cf","eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44","b7bf39e391d0749e0e6620c6a04df5eaae0ebafab81a75723981fd5df0cc5bcb","77ba40eacbb53542ece9394583ad424c8ee677543b0f85948d2387da8483afc9","5e4966caa7216db9cd10a26c64f356ff7512f4fe99c34feea09e8bb4a6284f01","76d22d2610269b2c21ad6c3750c2c7b07c470e219cf80f4455da7be7abc1d15e","bcb2b5ec9bb438a4a2ec0b66e7c623ed32784dedc3ef49b6ef48c700085dd803","b1264b0d302e579b79afdad01d2999289bfd86e4baa457b921f84ac0d4572c1f","f2f75931453414c93a462e16d1c8705792402836c8337616de10260a7740606e","e90ee5b5e82a17db7d3d39a6ea4c8bfaf519477808367920f0514a9323177787","a4a8dbf7530d8e3969e17c8da06b2cbacb07e0d5593f454684f84d9b78af20b1","debe25164867bd40bf1dd2e5beb077aa0bae05e4be4f6b6b5e6813a835d3fb4b","3ce9b73b373898756adc78c6fc0f7c33db26720429fdfee6071488f19e49c1f1","5137910b77945f21aecf56f24785337c2038eca7b5c144731ca0927ae7048517","0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e","a15809b8be1e3dd5a4f89df2886c9609eff56afa7b5e262adae346dc81d80a19","abbf5a289e8fbe488cf30a8024ebb89cafa6ab47277ffe735ce2dd18fe1ca107","48010a1e04aff055895b4d95949566d9cd43f356bf1d989548dcbe34b07e0702","ad8ee776fa8afb97e4d373dddf5b81661e5b3eb321f4a9100c0707fec3fd081b","a2a41e5857cc06435104367b7d1f48b409bfe93a4ac77748fb98baa1478f29cf","a4b157d47e5c25e8bf0685577c960c41a112c7f0b340980e2515a43ef1887c54","38af778857e4f07da8ddf6d1dcda7bf4b501455252a2c98006f7c3344fd7f526","a10937d6dfa554517552385abaedbd1bc6fdcb9701aee152e102aac5a2c82746","a61f941a5856cf50ccfdf50137c6d295ed6704b12fb91372dd959809db54b319","2797c6273b83a6e4585358632830327d8cddb076e400e7c65668783bba0821a2","3027a5a197cd766abc3f7cd3f9e63595e23d68e5d315e1f50a9e6265ae1d0594","d1542935eb36a8cfa29aebb073bef35f1f8d2d30e25e3cdfb77622678cb9ff4a","21646c2943690d7bad80462d66dd98cbb690839778fed7d18deaf056c0171067","6d75c7a3b4ebb715532f62a9ee606acab62d6fa878b48261e3b27e30b4988142","4dd73804e37bcc88bbd9a770e7f2a3cc440e50abfb3357c6b91075435639b61c","6cee92d9fcc9773919629221c7c96dde70aeac9eacc6c15d16e7ea0507ded671","31a28937aafb9d3ae686144962a105289c6a8ae32d9129b99a6b57eb32c69bab","3e83be6adc13f0ba2b0bb5ef2fef29516877660f158ed6fdd777de2c27f7bbad","ec204da912c3b4b228626e8a5310207ae7a398c3f745ed8b5dc043033f2419f7","bf888e7b557ad080706efcd90f51fa17aae3e218974a7fd3d0592cc1ba878206","1a2a2f3641aab2918487d4a5995c29ea6e6134cb5f4d17bdd758691b9cbb6164","4d933ebf7027ed98555bfc3f98df6950f7718549ca1691bd73f9b314b4a5d9f1","df5f5ef444206c89f7f28b04ce9f4e0592cdeb7b3fb0534490487edb1654c4f4","504625fd2aff6b50298999996a66c6da9ffa84f8de390df20f4c53e6905c0ff3","f2d21e96218747c1f40f1881f3cf417d4913b43ca11e358ebbf4d3005ef82e2f","85923f9c86876e0b596ee67f48d6da91c95e61c891ab0a479b10f287811c5720","8362f95b9c16d0d7e1fdda110fa75ee386d5ee670f4885bf1f1e3e32419fb11d","f8eb054ed71a693219fa8c4ecd08272a72dadf73ab82ec9a73b365662f16775c","020cc6b4e69c386e1387194cc9233cca102cbce8bd8308ea3dec7054cb31f1a2","fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef","d4fec5db15ffd37b4c033e7f48e598a4d4cce990e9f15f3a4502c65def8d4525","016505d403d60f1e9b5c4ee269c8f225ac019dd267691687ec621338574227b1","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","9598917dffdcd37efa37ec9c994031ad10cefae76d95d69a0b08c394e651f37f","5cd349e6e0ec836061cb8cd1beacfb8e447e591ad737aae01ad17778798c92a3","47f5bf82c3e5e015ac824e0accde5831f27eee560ee5949493b8e1caf9324602","143a24c1ed2e238676967b2f74651bfa50489f62356febf145505bc5c3066f4a","5bcb5b4554083521d963c22321c261d0586f5351c7d04638c3fdc230bc5f5619","8c83cea5939cf24f525ff2eaa501e80fb50ed42a899942a8f07c380c02b3631c","fb833fea3e43a78bb9024ae945c8ce5d7764b7ac3bea1eca4255167409e1293c","0a92a7160724928d53615d16c922eaafb6f1d25156c4829410e843e481aa315d","4d4c7912b3928a508b8fd31077974e9e47e432df13fa7876e62ae66f358b7efe","4ac3c3279a8bfdd6f66da4ad02363e69124c9b142be3d0116d66ee5af410d8dc","6702753f15c7e95bdb6a5286291f7d2b814a6813a620b7915bcfa90cf93e26c9","a9deea93b5e374ffb8d1949a9e9cfb5410da35ac897644b747c3180cf841db14","d843a8dcaadd65cf3fc76b8b14f8eee7b733da846abf21cac6b72491b9d0565c","0a2be416dac6e4d1c8bec4e7d7c24178f1e22584f94ad0f8f54b0a6dd56a18e3","6d8642db449bc452ba5865d54b82d73fd4f86a9fb6fb2c5aca8612d53b97d4b7","f6d85487a128842a4a52514a3cedbf9fbfe7e50736f69aa445147d603e3df161","4cf6ddb523f326ac47acb2b79bf56b64763b48b8faf37582f23e6a9d51212351","54fffd4149e10833e27426eb171b41b15c254f6df8033d33a49879ad36d03e00","a824ab7b9fbb089e7065fb9e124e339fe147bec626278521cbc21bf40566b377","4df7ddafa7066d49483502abbe3397150b2609b6421c76f4bdd9074074edb1d2","9cf4e11ff974cce05a7822a7715ea94785611243dc5037a0e41a5c5eb95510f9","172da5d52ef7beb15ad1dd22d526d472c2052af2edc08a4900fe920fc4e18a8d","c68d89b632b1fa079e5ecfbea7773ff110df255fd7ed6696e48c9243f1d3241e","90d70719a9770dc332ffcde87865172bb98e2df08883949100a65305b026e82c","6aea120d3d001111459488aa3fe41cd7cb25474bc4b6a3a0d80b76bb93ba842c","b466c41299ef2e720425f2d0bb546fbb41baa9e5f7a280a35d18125457fc8a7f","3e3e3d6732d74c694c9e090e98b95d20c2c9ea0cfa0acfc155beeef6b9166e19","41092c2f21154d134c6b180e1bb54c752fb56970fba9fbe2fcfc10d81e13732d","164099460637b07e28a46e2baf57bf7ef8b21e95bbe52cdcdd7b706c233b1637","2c426cf9def67c43e8ad4d4f1ddd8e561ec78437fe6b725573bb6016b2050704","1c98daf0f7a0183e0d2808ebe5ff8dc30ba97811ff45e52e1b26c98ae3c877fb","c962dfbf609283ad22a7c89cbd96d23670df9e408c56e967965e70485db55b4f","892c4eaca41613e57714982c4cf9b8d7a1ec4d1dec7610a6746e4e5b51c9238e","bec9ce5fb44d28ada103eb658c41e771a4c20456d4c880ce81ff5b7c30162179","364a664124450723d4003b59212e6291445df626c9935ed2c1b25ccc98e5eec1","cc653803be018c2a3c50e808670718dfcd2a660d5a97c5b874f10f4d951b368b","cd4133865bd32a8dc56c8359e213449a6b6191fdd43d9df3359cb828a67732f0","056ef2d280a5c3c35f50743817bcb7ecf6b20dc66e68f5c8498a4b50851289ec","8915668a1856ed2d31f2e798ddd16d784c0eb614cb305fd61bece54ca856bc83","870d70891a4eee5d29dd4dd408d41dd260335f2eaa84fb3b7f3a2979b3ec078a","1d7ed6fd0c261ed3928aa9e1c02844e3032829d41529d7c153440de945eb693a","aca0343780b8484fc8ab49ec1cd7ed4455d8a72fb6d37c4845f072fae2ddc94a","b3a96dee2e8e6aed3d881c17d967d64a06d2d7633eaed2dc08136c9d72fdc613","978659d568658271f4ec8028badcee98fb7631a8c5f6984afba917e8a18f2994","49d1f2798732bd4e51303485ec47ab3afabe4975da61dd22ad1e638b0b633aed","1fceef35b85bf1c2eb88d7ff87041bba70454b6fb3275cd3c0683683e87377e7","4d72a2f2b131fcad932178746692cdc6102206fa6b95541569ce44a8330ee89f","5a12a2468515e6196ef5ae6f103c4e8649bfb653e904e26cde5c21fb6f8da07e","caea0dd87e450949224a27e66b7b639eef187fb984bf93534164d12d9352dcbe","3626117c675125b61e4434a30b16fbb17072932e8757b0672d046cd41dbba43a","406975d13f6610124755b916bfec69c5c82c1ae526302281043322880d6240c3","e62b7e89a9838b4eb00e69ba21da0524978a928da82d80a93c90dd3487bee5d8","afb68172b62eca8ae49e150404b2b46610f8512e0d85234f19a8699675352708","32cbce04b4e826453913bc4ec11fd60522a4d9d777bb7596c86f4f1e8d403e0a","cfa0ad632475dedce30e693430b7138af62bb1722518d7e96655f924a8b7330d","b2fbf5b0f157dbb55d06d6c41db39f700e72a3a3d5ef529b6b13aa41aebacb8e","3356e68d90afbb1ff2e837c04b3d58f597a04b28379036e96719d2bb05cd211c","052fb3c9d96792bd5c8c5dae94747ee615f091663c457a01bf807a5e4747267a","f920b8e3c4abf4bc47ee138d467e5a009df70dc5b260ed6ddcb2746dc8cd48d1","4a846d7a7c46d6bfadb93e3d82d7f635afa384bd1ecd8ab16331c63dd4363e7c","b2bbfd02443109f94b4c25a4fdb6d3229ba505f27da84878b58a36ba2e470e36","9ad3a17affdfdae0248e311cd4e184220cfdca60249923a848e1af05f2c77257","ba92aeb236b7772678af8fb07bb94c60f4a80b0cfbca187b782cdbb3da865951","4fa52da408b0aa60d5f0fd24b8d1425cbe0d374ce905dc49c6e911b600d1697e","55abdc0a2fd184a57c8ead3096ff97cf03d186941e9a2c1dbeccff5c1477aa05","d222657ed86e3666f87d8dfea01469fd3bb844672c2e1325b0eb72abd4d44ec4","7f4a7aa7d1a20e09abcf6694eb47052e2b66aef00c5ceffacef8987a672da0bb","6b44b38d58e357998bfde5d01074dfdcd367d4ff2fdd9037acfaad6b652d3bd5","32c58de3ca76283b45268fc4aaeff14b7f8b5badc9a98fd6e3e6ba1a1bf7b594","eba04c19cca475dd41c3bcd3880c6f5a03d711dc45b9faf83a99bf27308fa53f","0ca87d9a2458671841ffe178907feb67cf3c8713b2dc1f306e16743e98d5acf5","77c375cce608c31f81e0fac17835e38010c8fb21fff3d8cd9b99edf153db6fdf","2054cf6461640ec78bab12a93fbf32d985a871ac2082824fe4f9b0ffb0418b4f","0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e","a15809b8be1e3dd5a4f89df2886c9609eff56afa7b5e262adae346dc81d80a19","abbf5a289e8fbe488cf30a8024ebb89cafa6ab47277ffe735ce2dd18fe1ca107","48010a1e04aff055895b4d95949566d9cd43f356bf1d989548dcbe34b07e0702","020cc6b4e69c386e1387194cc9233cca102cbce8bd8308ea3dec7054cb31f1a2","fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef","d4fec5db15ffd37b4c033e7f48e598a4d4cce990e9f15f3a4502c65def8d4525","016505d403d60f1e9b5c4ee269c8f225ac019dd267691687ec621338574227b1","9598917dffdcd37efa37ec9c994031ad10cefae76d95d69a0b08c394e651f37f","5cd349e6e0ec836061cb8cd1beacfb8e447e591ad737aae01ad17778798c92a3","47f5bf82c3e5e015ac824e0accde5831f27eee560ee5949493b8e1caf9324602","143a24c1ed2e238676967b2f74651bfa50489f62356febf145505bc5c3066f4a","5bcb5b4554083521d963c22321c261d0586f5351c7d04638c3fdc230bc5f5619","8c83cea5939cf24f525ff2eaa501e80fb50ed42a899942a8f07c380c02b3631c","fb833fea3e43a78bb9024ae945c8ce5d7764b7ac3bea1eca4255167409e1293c","0a92a7160724928d53615d16c922eaafb6f1d25156c4829410e843e481aa315d","4d4c7912b3928a508b8fd31077974e9e47e432df13fa7876e62ae66f358b7efe","4ac3c3279a8bfdd6f66da4ad02363e69124c9b142be3d0116d66ee5af410d8dc","6702753f15c7e95bdb6a5286291f7d2b814a6813a620b7915bcfa90cf93e26c9","a9deea93b5e374ffb8d1949a9e9cfb5410da35ac897644b747c3180cf841db14","d843a8dcaadd65cf3fc76b8b14f8eee7b733da846abf21cac6b72491b9d0565c","0a2be416dac6e4d1c8bec4e7d7c24178f1e22584f94ad0f8f54b0a6dd56a18e3","6d8642db449bc452ba5865d54b82d73fd4f86a9fb6fb2c5aca8612d53b97d4b7","f6d85487a128842a4a52514a3cedbf9fbfe7e50736f69aa445147d603e3df161","4cf6ddb523f326ac47acb2b79bf56b64763b48b8faf37582f23e6a9d51212351","fd1ba731c65bda1ad7ee22895a5c4420258c97df7bb75bb341185bc45574f090","a824ab7b9fbb089e7065fb9e124e339fe147bec626278521cbc21bf40566b377","4df7ddafa7066d49483502abbe3397150b2609b6421c76f4bdd9074074edb1d2","c819d48fe1fd973760df3cc78632c370e33ffff43739f1f05ee912b753b529df","172da5d52ef7beb15ad1dd22d526d472c2052af2edc08a4900fe920fc4e18a8d","c68d89b632b1fa079e5ecfbea7773ff110df255fd7ed6696e48c9243f1d3241e","90d70719a9770dc332ffcde87865172bb98e2df08883949100a65305b026e82c","1e5ef418179c093a6d60c35fa913e70410473040c68cd8b7c83a726ca3f4adcf","b466c41299ef2e720425f2d0bb546fbb41baa9e5f7a280a35d18125457fc8a7f","164099460637b07e28a46e2baf57bf7ef8b21e95bbe52cdcdd7b706c233b1637","2c426cf9def67c43e8ad4d4f1ddd8e561ec78437fe6b725573bb6016b2050704","1c98daf0f7a0183e0d2808ebe5ff8dc30ba97811ff45e52e1b26c98ae3c877fb","c962dfbf609283ad22a7c89cbd96d23670df9e408c56e967965e70485db55b4f","892c4eaca41613e57714982c4cf9b8d7a1ec4d1dec7610a6746e4e5b51c9238e","8b4124478498affa01b4ab97315b7c6ace5a5115bc655ee006afc94bcd6d6ba8","5a12a2468515e6196ef5ae6f103c4e8649bfb653e904e26cde5c21fb6f8da07e","c45a1118a724f5e4da65cce84cf7e00916dec2f1a134432ac192e9151e10c3a6","3626117c675125b61e4434a30b16fbb17072932e8757b0672d046cd41dbba43a","7efd8b3a42c5cd05dee7ed7bd0895861796fd3a8de8aad13ff5e6f9c3b2d667c","e62b7e89a9838b4eb00e69ba21da0524978a928da82d80a93c90dd3487bee5d8","afb68172b62eca8ae49e150404b2b46610f8512e0d85234f19a8699675352708","32cbce04b4e826453913bc4ec11fd60522a4d9d777bb7596c86f4f1e8d403e0a","cfa0ad632475dedce30e693430b7138af62bb1722518d7e96655f924a8b7330d","b2fbf5b0f157dbb55d06d6c41db39f700e72a3a3d5ef529b6b13aa41aebacb8e","4a846d7a7c46d6bfadb93e3d82d7f635afa384bd1ecd8ab16331c63dd4363e7c","b2bbfd02443109f94b4c25a4fdb6d3229ba505f27da84878b58a36ba2e470e36","9ad3a17affdfdae0248e311cd4e184220cfdca60249923a848e1af05f2c77257","eba04c19cca475dd41c3bcd3880c6f5a03d711dc45b9faf83a99bf27308fa53f","0ca87d9a2458671841ffe178907feb67cf3c8713b2dc1f306e16743e98d5acf5","77c375cce608c31f81e0fac17835e38010c8fb21fff3d8cd9b99edf153db6fdf","2054cf6461640ec78bab12a93fbf32d985a871ac2082824fe4f9b0ffb0418b4f","14111a4be53652a7bc38616b2b90ae920923fb795d385333206e2ff8fa59ae57",{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true}],"options":{"declaration":false,"declarationMap":false,"esModuleInterop":true,"inlineSources":true,"module":1,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./","rootDir":"../../src/test","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4},"fileIdsList":[[174,181,191,250,269,278,281],[181,191,250,278,281,282],[282,283],[160,167,250,281],[285],[181,187,191,219,248,251],[251,252],[160,167,181,187,191,219,248,250],[160,167,244,245,246],[245,246,247],[40,160,167,181,187,191,216,244,245],[40,160,167,181,187,191],[248,253,284,286,291,294],[290],[160,167,250,269,281,289],[187],[160,167,174],[292,293],[37,38,39],[40],[40,54,201],[193],[192,195,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215],[193,194,196],[195],[40,54],[54,88,99],[162],[40,99],[160,162,167,170],[161,162,163,164,165,170,171,172,173],[40,99,160,161,162,164,165,167,169,170,171],[40,99,160,161,162,164,165,167,169,172],[40,99,160,167,169,174,181],[249],[40,54,88,99,160,167,169,174,181,216,250,254,256,271,272],[181],[40,99,174],[40,99,160,167,174,181,269,270,273],[254,255,256,271,273,274,275,276,277],[40,99,174,181,273],[256],[99,169,174],[40,54,88,160,167,174,233,255,256,273,276,278],[40,99,160,167,174,181,233,255],[40,99,174,216],[99,169,181],[157],[155,156,158],[154,155,156,157,158,159],[99,160,167,181,182,183],[40,99,160,167,174,181,187],[182,183,184,185,186],[160,167,185],[40,99,160,167,174,181,187,216],[160,167],[217,218],[166,167,168],[40,99,167],[99,181,187,239,240,242],[240,241,242,243],[40,239],[160,167,239,240],[99,181,187,239,240],[89],[40,90],[89,90,91,92,93,94,95,96,97,98],[90,92,93,96],[279,280],[160,167,181,250,269],[160,167,250,279],[40,99,160,167,169,174,175,176,177,178,180],[179],[180],[175,176,177,178,179,180],[99],[40,99,176],[160,167,181],[257,258,259,260,261,262,263,267,268],[174,250],[264,265,266],[40,99,181,263,264],[40,99,181,263],[40,99,181,263,264,265],[40,99,181],[220,234,235,236,237,238],[40,99,160,167,181,187,220,233,234,235],[160,167,220],[40,99,181,187],[160,167,181,220],[188],[188,189],[188,189,190],[191],[40,216],[40,222,223],[40,225],[223,224,225,226,227,228,229,230,231,232],[40,223],[287,288],[221],[41],[43],[44],[46,54,55,62,71],[46,47,54,62],[48,81],[49,50,55,63],[50,71],[51,52,54,62],[52],[53,54],[54],[54,55,56,71,80],[55,56],[57,62,71,80],[54,55,57,58,62,71,74,80],[57,59,71,74,80],[41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,82,83,84,85,86,87],[54,60],[61,80],[52,54,62,71],[63],[64],[43,65],[66,76],[67],[68],[54,69],[69,70,81,83],[54,71],[72],[73],[62,74],[75],[62,76],[68,80],[81],[71,82],[83],[84],[54,56,71,80,83,85],[71,86],[77,78],[101],[36,101,106,109],[100,101,102,103,104,109,110,111,112],[36,40,99,100,101,103,104,106,108,109,110],[36,40,99,100,101,103,104,106,108,111],[33],[31,32,34],[30,31,32,33,34,35],[105,106,107],[40,99,106],[36,106],[99,120,130,320,321,323],[321,322,323,324],[40,320],[36,106,320,321],[99,120,130,320,321],[303,315,316,317,318,319],[36,40,99,106,120,130,303,314,315,316],[36,106,303],[40,99,120,130],[36,106,120,303],[113,120,122,141,144,299,344],[120,122,144,299,344,345],[345,346],[36,106,122,144],[145],[120,130,299,302,329,330],[330,331],[36,106,120,122,130,299,302,329],[36,106,325,326,327],[326,327,328],[36,40,106,120,130,216,299,325,326],[36,40,106,120,130,299],[146,152,329,332,347,350],[151],[36,106,122,141,144,150],[130],[36,106,113],[348,349],[36,41,106,122,141,146],[36,41,106,120,122,141,144,152],[295,351],[142,143],[36,106,120,122,141],[36,106,122,142],[296],[296,297],[296,297,298],[299],[148,149],[36,40,99,106,108,113,120],[121],[36,40,54,88,99,106,108,113,120,122,216,333,335,337,338],[120],[40,99,113],[36,40,99,106,113,120,141,336,339],[333,334,335,337,339,340,341,342,343],[40,99,113,120,339],[335],[99,108,113],[36,40,54,88,106,113,314,334,335,339,342,344],[36,40,99,106,113,120,314,334],[40,99,113,216],[99,108,120],[36,99,106,120,125,126],[36,40,99,106,113,120,130],[125,126,127,128,129],[36,106,128],[36,40,99,106,113,120,130,216],[300,301],[36,40,99,106,108,113,114,115,116,117,119],[118],[119],[114,115,116,117,118,119],[40,99,115],[36,106,120],[123,124,131,132,133,134,135,139,140],[113,122],[136,137,138],[40,99,120,135,136],[40,99,120,135],[40,99,120,135,136,137],[40,99,120],[40,222,304],[40,306],[304,305,306,307,308,309,310,311,312,313],[40,304]],"referencedMap":[[282,1],[283,2],[284,3],[285,4],[286,5],[252,6],[253,7],[251,8],[247,9],[248,10],[246,11],[245,12],[295,13],[291,14],[290,15],[292,16],[293,17],[294,18],[40,19],[200,20],[202,21],[194,22],[216,23],[197,24],[204,20],[196,25],[201,26],[161,27],[163,28],[164,29],[165,20],[171,30],[174,31],[172,32],[170,33],[249,34],[250,35],[273,36],[275,37],[274,38],[271,39],[278,40],[254,41],[276,42],[272,43],[277,44],[256,45],[255,46],[270,47],[158,48],[157,49],[160,50],[184,51],[183,52],[187,53],[186,54],[217,55],[218,56],[219,57],[169,58],[168,59],[167,56],[243,60],[244,61],[240,62],[242,63],[241,64],[90,65],[91,66],[99,67],[98,68],[96,65],[281,69],[279,70],[280,71],[179,72],[180,73],[175,74],[181,75],[177,76],[178,77],[257,56],[258,78],[269,79],[259,16],[260,76],[261,56],[262,80],[267,81],[265,82],[264,83],[266,84],[268,85],[263,76],[239,86],[220,56],[236,87],[234,88],[235,89],[237,90],[189,91],[190,92],[191,93],[188,94],[232,95],[224,96],[226,97],[227,95],[228,26],[225,20],[233,98],[223,20],[229,99],[230,20],[231,20],[289,100],[288,56],[222,101],[41,102],[43,103],[44,104],[46,105],[47,106],[48,107],[49,108],[50,109],[51,110],[52,111],[53,112],[54,113],[55,114],[56,115],[57,116],[58,117],[59,118],[88,119],[60,120],[61,121],[62,122],[63,123],[64,124],[65,125],[66,126],[67,127],[68,128],[69,129],[70,130],[71,131],[72,132],[73,133],[74,134],[75,135],[76,136],[80,137],[81,138],[82,139],[83,140],[84,141],[85,142],[86,143],[79,144],[100,27],[102,145],[103,29],[104,20],[110,146],[113,147],[111,148],[109,149],[34,150],[33,151],[36,152],[108,153],[107,154],[106,155],[324,156],[325,157],[321,158],[323,159],[322,160],[320,161],[303,155],[317,162],[315,163],[316,164],[318,165],[345,166],[346,167],[347,168],[145,169],[146,170],[331,171],[332,172],[330,173],[328,174],[329,175],[327,176],[326,177],[351,178],[152,179],[151,180],[348,181],[349,182],[350,183],[147,184],[153,185],[352,186],[144,187],[142,188],[143,189],[297,190],[298,191],[299,192],[296,193],[150,194],[149,155],[121,195],[122,196],[339,197],[341,198],[340,199],[337,200],[344,201],[333,202],[342,203],[338,204],[343,205],[335,206],[334,207],[336,208],[127,209],[126,210],[130,211],[129,212],[300,213],[301,155],[302,214],[118,215],[119,216],[114,217],[120,218],[116,76],[117,219],[123,155],[124,220],[141,221],[131,181],[132,76],[133,155],[134,222],[139,223],[137,224],[136,225],[138,226],[140,227],[135,76],[313,95],[305,228],[307,229],[308,95],[309,26],[306,20],[314,230],[304,20],[310,231],[311,20],[312,20]],"exportedModulesMap":[[282,1],[283,2],[284,3],[285,4],[286,5],[252,6],[253,7],[251,8],[247,9],[248,10],[246,11],[245,12],[295,13],[291,14],[290,15],[292,16],[293,17],[294,18],[40,19],[200,20],[202,21],[194,22],[216,23],[197,24],[204,20],[196,25],[201,26],[161,27],[163,28],[164,29],[165,20],[171,30],[174,31],[172,32],[170,33],[249,34],[250,35],[273,36],[275,37],[274,38],[271,39],[278,40],[254,41],[276,42],[272,43],[277,44],[256,45],[255,46],[270,47],[158,48],[157,49],[160,50],[184,51],[183,52],[187,53],[186,54],[217,55],[218,56],[219,57],[169,58],[168,59],[167,56],[243,60],[244,61],[240,62],[242,63],[241,64],[90,65],[91,66],[99,67],[98,68],[96,65],[281,69],[279,70],[280,71],[179,72],[180,73],[175,74],[181,75],[177,76],[178,77],[257,56],[258,78],[269,79],[259,16],[260,76],[261,56],[262,80],[267,81],[265,82],[264,83],[266,84],[268,85],[263,76],[239,86],[220,56],[236,87],[234,88],[235,89],[237,90],[189,91],[190,92],[191,93],[188,94],[232,95],[224,96],[226,97],[227,95],[228,26],[225,20],[233,98],[223,20],[229,99],[230,20],[231,20],[289,100],[288,56],[222,101],[41,102],[43,103],[44,104],[46,105],[47,106],[48,107],[49,108],[50,109],[51,110],[52,111],[53,112],[54,113],[55,114],[56,115],[57,116],[58,117],[59,118],[88,119],[60,120],[61,121],[62,122],[63,123],[64,124],[65,125],[66,126],[67,127],[68,128],[69,129],[70,130],[71,131],[72,132],[73,133],[74,134],[75,135],[76,136],[80,137],[81,138],[82,139],[83,140],[84,141],[85,142],[86,143],[79,144],[100,27],[102,145],[103,29],[104,20],[110,146],[113,147],[111,148],[109,149],[34,150],[33,151],[36,152],[108,153],[107,154],[106,155],[324,156],[325,157],[321,158],[323,159],[322,160],[320,161],[303,155],[317,162],[315,163],[316,164],[318,165],[345,166],[346,167],[347,168],[145,169],[146,170],[331,171],[332,172],[330,173],[328,174],[329,175],[327,176],[326,177],[351,178],[152,179],[151,180],[348,181],[349,182],[350,183],[147,184],[153,185],[352,186],[144,187],[142,188],[143,189],[297,190],[298,191],[299,192],[296,193],[150,194],[149,155],[121,195],[122,196],[339,197],[341,198],[340,199],[337,200],[344,201],[333,202],[342,203],[338,204],[343,205],[335,206],[334,207],[336,208],[127,209],[126,210],[130,211],[129,212],[300,213],[301,155],[302,214],[118,215],[119,216],[114,217],[120,218],[116,76],[117,219],[123,155],[124,220],[141,221],[131,181],[132,76],[133,155],[134,222],[139,223],[137,224],[136,225],[138,226],[140,227],[135,76],[313,95],[305,228],[307,229],[308,95],[309,26],[306,20],[314,230],[304,20],[310,231],[311,20],[312,20]],"semanticDiagnosticsPerFile":[282,283,284,285,286,252,253,251,247,248,246,245,295,291,290,292,293,294,37,38,40,39,192,198,199,193,215,214,200,202,194,203,216,197,213,204,195,196,205,206,207,208,209,210,211,201,212,161,163,164,165,171,162,174,172,170,173,249,250,273,275,274,271,278,254,276,272,277,256,255,270,158,154,159,155,157,160,156,184,183,187,185,186,182,217,218,219,166,169,168,167,243,244,240,242,241,90,92,91,99,93,97,98,94,95,96,89,281,279,280,179,180,175,176,181,177,178,257,258,269,259,260,261,262,267,265,264,266,268,263,239,220,236,234,235,237,238,189,190,191,188,232,224,226,227,228,225,233,223,229,230,231,287,289,288,222,45,353,221,41,43,44,46,47,48,49,50,51,52,53,54,55,56,42,87,57,58,59,88,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,80,81,82,83,84,85,86,77,78,79,6,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,1,29,100,102,103,104,110,101,113,111,109,112,34,30,35,31,33,36,32,105,108,107,106,324,325,321,323,322,320,303,317,315,316,318,319,345,346,347,145,146,331,332,330,328,329,327,326,351,152,151,348,349,350,147,153,352,144,142,143,297,298,299,296,148,150,149,121,122,339,341,340,337,344,333,342,338,343,335,334,336,127,126,130,128,129,125,300,301,302,118,119,114,115,120,116,117,123,124,141,131,132,133,134,139,137,136,138,140,135,313,305,307,308,309,306,314,304,310,311,312]},"version":"4.5.5"}
@@ -21,21 +21,21 @@ async function createDataObject(ctor, context, sharedObjectRegistry, optionalPro
21
21
  // Create object right away.
22
22
  // This allows object to register various callbacks with runtime before runtime
23
23
  // becomes globally available. But it's not full initialization - constructor can't
24
- // access DDSs or other services of runtime as objects are not fully initialized.
24
+ // access DDSes or other services of runtime as objects are not fully initialized.
25
25
  // In order to use object, we need to go through full initialization by calling finishInitialization().
26
26
  const scope = context.scope;
27
27
  const dependencyContainer = new DependencyContainer(scope.IFluidDependencySynthesizer);
28
28
  const providers = dependencyContainer.synthesize(optionalProviders, {});
29
29
  const instance = new ctor({ runtime, context, providers, initProps });
30
30
  // if it's a newly created object, we need to wait for it to finish initialization
31
- // as that results in creation of DDSs, before it gets attached, providing atomic
31
+ // as that results in creation of DDSes, before it gets attached, providing atomic
32
32
  // guarantee of creation.
33
33
  // WARNING: we can't do the same (yet) for already existing PureDataObject!
34
34
  // This will result in deadlock, as it tries to resolve internal handles, but any
35
35
  // handle resolution goes through root (container runtime), which can't route it back
36
36
  // to this data store, as it's still not initialized and not known to container runtime yet.
37
37
  // In the future, we should address it by using relative paths for handles and be able to resolve
38
- // local DDSs while data store is not fully initialized.
38
+ // local DDSes while data store is not fully initialized.
39
39
  if (!existing) {
40
40
  await instance.finishInitialization(existing);
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pureDataObjectFactory.js","sourceRoot":"","sources":["../../src/data-object-factories/pureDataObjectFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest, IFluidRouter, FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n FluidDataStoreRuntime,\n ISharedObjectRegistry,\n mixinRequestHandler,\n } from \"@fluidframework/datastore\";\nimport { FluidDataStoreRegistry } from \"@fluidframework/container-runtime\";\nimport {\n IFluidDataStoreContext,\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n IFluidDataStoreRegistry,\n IProvideFluidDataStoreRegistry,\n NamedFluidDataStoreRegistryEntries,\n NamedFluidDataStoreRegistryEntry,\n IFluidDataStoreContextDetached,\n} from \"@fluidframework/runtime-definitions\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions\";\nimport { IChannelFactory } from \"@fluidframework/datastore-definitions\";\nimport {\n FluidObjectSymbolProvider,\n DependencyContainer,\n IFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize\";\n\nimport {\n IDataObjectProps,\n PureDataObject,\n DataObjectTypes,\n} from \"../data-objects\";\n/*\n * Useful interface in places where it's useful to do type erasure for PureDataObject generic\n */\nexport interface IRootDataObjectFactory extends IFluidDataStoreFactory {\n createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime): Promise<IFluidRouter>;\n}\n\n/**\n * Proxy over PureDataObject\n * Does delayed creation & initialization of PureDataObject\n*/\nasync function createDataObject<TObj extends PureDataObject, I extends DataObjectTypes = DataObjectTypes>(\n ctor: new (props: IDataObjectProps<I>) => TObj,\n context: IFluidDataStoreContext,\n sharedObjectRegistry: ISharedObjectRegistry,\n optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n runtimeClassArg: typeof FluidDataStoreRuntime,\n existing: boolean,\n initProps?: I[\"InitialState\"]) {\n // base\n let runtimeClass = runtimeClassArg;\n\n // request mixin in\n runtimeClass = mixinRequestHandler(\n async (request: IRequest, runtimeArg: FluidDataStoreRuntime) =>\n (await PureDataObject.getDataObject(runtimeArg)).request(request),\n runtimeClass);\n\n // Create a new runtime for our data store\n // The runtime is what Fluid uses to create DDS' and route to your data store\n const runtime = new runtimeClass(\n context,\n sharedObjectRegistry,\n existing,\n );\n\n // Create object right away.\n // This allows object to register various callbacks with runtime before runtime\n // becomes globally available. But it's not full initialization - constructor can't\n // access DDSs or other services of runtime as objects are not fully initialized.\n // In order to use object, we need to go through full initialization by calling finishInitialization().\n const scope: FluidObject<IFluidDependencySynthesizer> = context.scope;\n const dependencyContainer = new DependencyContainer(scope.IFluidDependencySynthesizer);\n const providers = dependencyContainer.synthesize<I[\"OptionalProviders\"]>(optionalProviders, {});\n const instance = new ctor({ runtime, context, providers, initProps });\n\n // if it's a newly created object, we need to wait for it to finish initialization\n // as that results in creation of DDSs, before it gets attached, providing atomic\n // guarantee of creation.\n // WARNING: we can't do the same (yet) for already existing PureDataObject!\n // This will result in deadlock, as it tries to resolve internal handles, but any\n // handle resolution goes through root (container runtime), which can't route it back\n // to this data store, as it's still not initialized and not known to container runtime yet.\n // In the future, we should address it by using relative paths for handles and be able to resolve\n // local DDSs while data store is not fully initialized.\n if (!existing) {\n await instance.finishInitialization(existing);\n }\n\n return { instance, runtime };\n}\n\n/**\n * PureDataObjectFactory is a barebones IFluidDataStoreFactory for use with PureDataObject.\n * Consumers should typically use DataObjectFactory instead unless creating\n * another base data store factory.\n *\n * @typeParam TObj - DataObject (concrete type)\n * @typeParam I - The input types for the DataObject\n */\nexport class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes>\n implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry>, IRootDataObjectFactory {\n private readonly sharedObjectRegistry: ISharedObjectRegistry;\n private readonly registry: IFluidDataStoreRegistry | undefined;\n\n constructor(\n public readonly type: string,\n private readonly ctor: new (props: IDataObjectProps<I>) => TObj,\n sharedObjects: readonly IChannelFactory[],\n private readonly optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n private readonly runtimeClass: typeof FluidDataStoreRuntime = FluidDataStoreRuntime,\n ) {\n if (this.type === \"\") {\n throw new Error(\"undefined type member\");\n }\n if (registryEntries !== undefined) {\n this.registry = new FluidDataStoreRegistry(registryEntries);\n }\n this.sharedObjectRegistry = new Map(sharedObjects.map((ext) => [ext.type, ext]));\n }\n\n public get IFluidDataStoreFactory() { return this; }\n\n public get IFluidDataStoreRegistry() {\n return this.registry;\n }\n\n /**\n * Convenience helper to get the data store's/factory's data store registry entry.\n * The return type hides the factory's generics, easing grouping of registry\n * entries that differ only in this way into the same array.\n * @returns The NamedFluidDataStoreRegistryEntry\n */\n public get registryEntry(): NamedFluidDataStoreRegistryEntry {\n return [this.type, Promise.resolve(this)];\n }\n\n /**\n * This is where we do data store setup.\n *\n * @param context - data store context used to load a data store runtime\n */\n public async instantiateDataStore(context: IFluidDataStoreContext, existing: boolean) {\n const { runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n existing);\n\n return runtime;\n }\n\n /**\n * Creates a new instance of the object. Uses parent context's registry to build package path to this factory.\n * In other words, registry of context passed in has to contain this factory, with the name that matches\n * this factory's type.\n * It is intended to be used by data store objects that create sub-objects.\n * @param context - The context being used to create the runtime\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created data store.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createChildInstance(\n parentContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n parentContext.containerRuntime,\n [...parentContext.packagePath, this.type],\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses peer context's registry and its package path to identify this factory.\n * In other words, registry of context passed in has to have this factory.\n * Intended to be used by data store objects that need to create peers (similar) instances of existing objects.\n * @param context - The component context being used to create the object\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createPeerInstance(\n peerContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n peerContext.containerRuntime,\n peerContext.packagePath,\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createInstance(\n runtime: IContainerRuntimeBase,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n runtime,\n [this.type],\n initialState);\n }\n\n /**\n * Creates a new root instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = runtime.createDetachedRootDataStore([this.type], rootDataStoreId);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createNonRootInstanceCore(\n containerRuntime: IContainerRuntimeBase,\n packagePath: Readonly<string[]>,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = containerRuntime.createDetachedDataStore(packagePath);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createInstanceCore(\n context: IFluidDataStoreContextDetached,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const { instance, runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n false, // existing\n initialState);\n\n await context.attachRuntime(this, runtime);\n\n return instance;\n }\n}\n"]}
1
+ {"version":3,"file":"pureDataObjectFactory.js","sourceRoot":"","sources":["../../src/data-object-factories/pureDataObjectFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IRequest, IFluidRouter, FluidObject } from \"@fluidframework/core-interfaces\";\nimport {\n FluidDataStoreRuntime,\n ISharedObjectRegistry,\n mixinRequestHandler,\n } from \"@fluidframework/datastore\";\nimport { FluidDataStoreRegistry } from \"@fluidframework/container-runtime\";\nimport {\n IFluidDataStoreContext,\n IContainerRuntimeBase,\n IFluidDataStoreFactory,\n IFluidDataStoreRegistry,\n IProvideFluidDataStoreRegistry,\n NamedFluidDataStoreRegistryEntries,\n NamedFluidDataStoreRegistryEntry,\n IFluidDataStoreContextDetached,\n} from \"@fluidframework/runtime-definitions\";\nimport { IContainerRuntime } from \"@fluidframework/container-runtime-definitions\";\nimport { IChannelFactory } from \"@fluidframework/datastore-definitions\";\nimport {\n FluidObjectSymbolProvider,\n DependencyContainer,\n IFluidDependencySynthesizer,\n} from \"@fluidframework/synthesize\";\n\nimport {\n IDataObjectProps,\n PureDataObject,\n DataObjectTypes,\n} from \"../data-objects\";\n/*\n * Useful interface in places where it's useful to do type erasure for PureDataObject generic\n */\nexport interface IRootDataObjectFactory extends IFluidDataStoreFactory {\n createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime): Promise<IFluidRouter>;\n}\n\n/**\n * Proxy over PureDataObject\n * Does delayed creation & initialization of PureDataObject\n*/\nasync function createDataObject<TObj extends PureDataObject, I extends DataObjectTypes = DataObjectTypes>(\n ctor: new (props: IDataObjectProps<I>) => TObj,\n context: IFluidDataStoreContext,\n sharedObjectRegistry: ISharedObjectRegistry,\n optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n runtimeClassArg: typeof FluidDataStoreRuntime,\n existing: boolean,\n initProps?: I[\"InitialState\"]) {\n // base\n let runtimeClass = runtimeClassArg;\n\n // request mixin in\n runtimeClass = mixinRequestHandler(\n async (request: IRequest, runtimeArg: FluidDataStoreRuntime) =>\n (await PureDataObject.getDataObject(runtimeArg)).request(request),\n runtimeClass);\n\n // Create a new runtime for our data store\n // The runtime is what Fluid uses to create DDS' and route to your data store\n const runtime = new runtimeClass(\n context,\n sharedObjectRegistry,\n existing,\n );\n\n // Create object right away.\n // This allows object to register various callbacks with runtime before runtime\n // becomes globally available. But it's not full initialization - constructor can't\n // access DDSes or other services of runtime as objects are not fully initialized.\n // In order to use object, we need to go through full initialization by calling finishInitialization().\n const scope: FluidObject<IFluidDependencySynthesizer> = context.scope;\n const dependencyContainer = new DependencyContainer(scope.IFluidDependencySynthesizer);\n const providers = dependencyContainer.synthesize<I[\"OptionalProviders\"]>(optionalProviders, {});\n const instance = new ctor({ runtime, context, providers, initProps });\n\n // if it's a newly created object, we need to wait for it to finish initialization\n // as that results in creation of DDSes, before it gets attached, providing atomic\n // guarantee of creation.\n // WARNING: we can't do the same (yet) for already existing PureDataObject!\n // This will result in deadlock, as it tries to resolve internal handles, but any\n // handle resolution goes through root (container runtime), which can't route it back\n // to this data store, as it's still not initialized and not known to container runtime yet.\n // In the future, we should address it by using relative paths for handles and be able to resolve\n // local DDSes while data store is not fully initialized.\n if (!existing) {\n await instance.finishInitialization(existing);\n }\n\n return { instance, runtime };\n}\n\n/**\n * PureDataObjectFactory is a barebones IFluidDataStoreFactory for use with PureDataObject.\n * Consumers should typically use DataObjectFactory instead unless creating\n * another base data store factory.\n *\n * @typeParam TObj - DataObject (concrete type)\n * @typeParam I - The input types for the DataObject\n */\nexport class PureDataObjectFactory<TObj extends PureDataObject<I>, I extends DataObjectTypes = DataObjectTypes>\n implements IFluidDataStoreFactory, Partial<IProvideFluidDataStoreRegistry>, IRootDataObjectFactory {\n private readonly sharedObjectRegistry: ISharedObjectRegistry;\n private readonly registry: IFluidDataStoreRegistry | undefined;\n\n constructor(\n public readonly type: string,\n private readonly ctor: new (props: IDataObjectProps<I>) => TObj,\n sharedObjects: readonly IChannelFactory[],\n private readonly optionalProviders: FluidObjectSymbolProvider<I[\"OptionalProviders\"]>,\n registryEntries?: NamedFluidDataStoreRegistryEntries,\n private readonly runtimeClass: typeof FluidDataStoreRuntime = FluidDataStoreRuntime,\n ) {\n if (this.type === \"\") {\n throw new Error(\"undefined type member\");\n }\n if (registryEntries !== undefined) {\n this.registry = new FluidDataStoreRegistry(registryEntries);\n }\n this.sharedObjectRegistry = new Map(sharedObjects.map((ext) => [ext.type, ext]));\n }\n\n public get IFluidDataStoreFactory() { return this; }\n\n public get IFluidDataStoreRegistry() {\n return this.registry;\n }\n\n /**\n * Convenience helper to get the data store's/factory's data store registry entry.\n * The return type hides the factory's generics, easing grouping of registry\n * entries that differ only in this way into the same array.\n * @returns The NamedFluidDataStoreRegistryEntry\n */\n public get registryEntry(): NamedFluidDataStoreRegistryEntry {\n return [this.type, Promise.resolve(this)];\n }\n\n /**\n * This is where we do data store setup.\n *\n * @param context - data store context used to load a data store runtime\n */\n public async instantiateDataStore(context: IFluidDataStoreContext, existing: boolean) {\n const { runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n existing);\n\n return runtime;\n }\n\n /**\n * Creates a new instance of the object. Uses parent context's registry to build package path to this factory.\n * In other words, registry of context passed in has to contain this factory, with the name that matches\n * this factory's type.\n * It is intended to be used by data store objects that create sub-objects.\n * @param context - The context being used to create the runtime\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created data store.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createChildInstance(\n parentContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n parentContext.containerRuntime,\n [...parentContext.packagePath, this.type],\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses peer context's registry and its package path to identify this factory.\n * In other words, registry of context passed in has to have this factory.\n * Intended to be used by data store objects that need to create peers (similar) instances of existing objects.\n * @param context - The component context being used to create the object\n * (the created object will have its own new context created as well)\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createPeerInstance(\n peerContext: IFluidDataStoreContext,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n peerContext.containerRuntime,\n peerContext.packagePath,\n initialState);\n }\n\n /**\n * Creates a new instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createInstance(\n runtime: IContainerRuntimeBase,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n return this.createNonRootInstanceCore(\n runtime,\n [this.type],\n initialState);\n }\n\n /**\n * Creates a new root instance of the object. Uses container's registry to find this factory.\n * It's expected that only container owners would use this functionality, as only such developers\n * have knowledge of entries in container registry.\n * The name in this registry for such record should match type of this factory.\n * @param runtime - container runtime. It's registry is used to create an object.\n * @param initialState - The initial state to provide to the created component.\n * @returns an object created by this factory. Data store and objects created are not attached to container.\n * They get attached only when a handle to one of them is attached to already attached objects.\n */\n public async createRootInstance(\n rootDataStoreId: string,\n runtime: IContainerRuntime,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = runtime.createDetachedRootDataStore([this.type], rootDataStoreId);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createNonRootInstanceCore(\n containerRuntime: IContainerRuntimeBase,\n packagePath: Readonly<string[]>,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const context = containerRuntime.createDetachedDataStore(packagePath);\n return this.createInstanceCore(context, initialState);\n }\n\n protected async createInstanceCore(\n context: IFluidDataStoreContextDetached,\n initialState?: I[\"InitialState\"],\n ): Promise<TObj> {\n const { instance, runtime } = await createDataObject(\n this.ctor,\n context,\n this.sharedObjectRegistry,\n this.optionalProviders,\n this.runtimeClass,\n false, // existing\n initialState);\n\n await context.attachRuntime(this, runtime);\n\n return instance;\n }\n}\n"]}
@@ -20,6 +20,9 @@ export class DataObject extends PureDataObject {
20
20
  super(...arguments);
21
21
  this.rootDirectoryId = "root";
22
22
  }
23
+ /**
24
+ * {@inheritDoc PureDataObject.request}
25
+ */
23
26
  async request(request) {
24
27
  const requestParser = RequestParser.create(request);
25
28
  const itemId = requestParser.pathParts[0];
@@ -70,6 +73,10 @@ export class DataObject extends PureDataObject {
70
73
  }
71
74
  await super.initializeInternal(existing);
72
75
  }
76
+ /**
77
+ * Generates an error string indicating an item is uninitialized.
78
+ * @param item - The name of the item that was uninitialized.
79
+ */
73
80
  getUninitializedErrorString(item) {
74
81
  return `${item} must be initialized before being accessed.`;
75
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAoB,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;;;;;;;GASG;AACH,MAAM,OAAgB,UAAwD,SAAQ,cAAiB;IAAvG;;QAEqB,oBAAe,GAAG,MAAM,CAAC;IA2D9C,CAAC;IAzDU,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC;aAC3C;YACD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC3D;aAAM;YACH,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACH,IAAc,IAAI;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,QAAiB;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACX,+EAA+E;YAC/E,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM;YACH,oGAAoG;YACpG,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAqB,CAAC;YAE5F,oGAAoG;YACpG,gGAAgG;YAChG,qGAAqG;YACrG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6EAA6E;iBACzF,CAAC,CAAC;aACN;SACJ;QAED,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAES,2BAA2B,CAAC,IAAY;QAC9C,OAAO,GAAG,IAAI,6CAA6C,CAAC;IAChE,CAAC;CACJ","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n} from \"@fluidframework/core-interfaces\";\nimport { ISharedDirectory, MapFactory, SharedDirectory } from \"@fluidframework/map\";\nimport { RequestParser, create404Response } from \"@fluidframework/runtime-utils\";\nimport { PureDataObject } from \"./pureDataObject\";\nimport { DataObjectTypes } from \"./types\";\n\n/**\n * DataObject is a base data store that is primed with a root directory. It\n * ensures that it is created and ready before you can access it.\n *\n * Having a single root directory allows for easier development. Instead of creating\n * and registering channels with the runtime any new DDS that is set on the root\n * will automatically be registered.\n *\n * @typeParam I - The optional input types used to strongly type the data object\n */\nexport abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {\n private internalRoot: ISharedDirectory | undefined;\n private readonly rootDirectoryId = \"root\";\n\n public async request(request: IRequest): Promise<IResponse> {\n const requestParser = RequestParser.create(request);\n const itemId = requestParser.pathParts[0];\n if (itemId === \"bigBlobs\") {\n const value = this.root.get<string>(requestParser.pathParts.join(\"/\"));\n if (value === undefined) {\n return create404Response(requestParser);\n }\n return { mimeType: \"fluid/object\", status: 200, value };\n } else {\n return super.request(requestParser);\n }\n }\n\n /**\n * The root directory will either be ready or will return an error. If an error is thrown\n * the root has not been correctly created/set.\n */\n protected get root(): ISharedDirectory {\n if (!this.internalRoot) {\n throw new Error(this.getUninitializedErrorString(`root`));\n }\n\n return this.internalRoot;\n }\n\n /**\n * Initializes internal objects and calls initialization overrides.\n * Caller is responsible for ensuring this is only invoked once.\n */\n public async initializeInternal(existing: boolean): Promise<void> {\n if (!existing) {\n // Create a root directory and register it before calling initializingFirstTime\n this.internalRoot = SharedDirectory.create(this.runtime, this.rootDirectoryId);\n this.internalRoot.bindToContext();\n } else {\n // data store has a root directory so we just need to set it before calling initializingFromExisting\n this.internalRoot = await this.runtime.getChannel(this.rootDirectoryId) as ISharedDirectory;\n\n // This will actually be an ISharedMap if the channel was previously created by the older version of\n // DataObject which used a SharedMap. Since SharedMap and SharedDirectory are compatible unless\n // SharedDirectory-only commands are used on SharedMap, this will mostly just work for compatibility.\n if (this.internalRoot.attributes.type === MapFactory.Type) {\n this.runtime.logger.send({\n category: \"generic\",\n eventName: \"MapDataObject\",\n message: \"Legacy document, SharedMap is masquerading as SharedDirectory in DataObject\",\n });\n }\n }\n\n await super.initializeInternal(existing);\n }\n\n protected getUninitializedErrorString(item: string) {\n return `${item} must be initialized before being accessed.`;\n }\n}\n"]}
1
+ {"version":3,"file":"dataObject.js","sourceRoot":"","sources":["../../src/data-objects/dataObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAoB,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;;;;;;;;GASG;AACH,MAAM,OAAgB,UAAwD,SAAQ,cAAiB;IAAvG;;QAEqB,oBAAe,GAAG,MAAM,CAAC;IAkE9C,CAAC;IAhEG;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,OAAiB;QAClC,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,UAAU,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC;aAC3C;YACD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;SAC3D;aAAM;YACH,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACvC;IACL,CAAC;IAED;;;OAGG;IACH,IAAc,IAAI;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7D;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,kBAAkB,CAAC,QAAiB;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACX,+EAA+E;YAC/E,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;SACrC;aAAM;YACH,oGAAoG;YACpG,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAqB,CAAC;YAE5F,oGAAoG;YACpG,gGAAgG;YAChG,qGAAqG;YACrG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;gBACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBACrB,QAAQ,EAAE,SAAS;oBACnB,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,6EAA6E;iBACzF,CAAC,CAAC;aACN;SACJ;QAED,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACO,2BAA2B,CAAC,IAAY;QAC9C,OAAO,GAAG,IAAI,6CAA6C,CAAC;IAChE,CAAC;CACJ","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n} from \"@fluidframework/core-interfaces\";\nimport { ISharedDirectory, MapFactory, SharedDirectory } from \"@fluidframework/map\";\nimport { RequestParser, create404Response } from \"@fluidframework/runtime-utils\";\nimport { PureDataObject } from \"./pureDataObject\";\nimport { DataObjectTypes } from \"./types\";\n\n/**\n * DataObject is a base data store that is primed with a root directory. It\n * ensures that it is created and ready before you can access it.\n *\n * Having a single root directory allows for easier development. Instead of creating\n * and registering channels with the runtime any new DDS that is set on the root\n * will automatically be registered.\n *\n * @typeParam I - The optional input types used to strongly type the data object\n */\nexport abstract class DataObject<I extends DataObjectTypes = DataObjectTypes> extends PureDataObject<I> {\n private internalRoot: ISharedDirectory | undefined;\n private readonly rootDirectoryId = \"root\";\n\n /**\n * {@inheritDoc PureDataObject.request}\n */\n public async request(request: IRequest): Promise<IResponse> {\n const requestParser = RequestParser.create(request);\n const itemId = requestParser.pathParts[0];\n if (itemId === \"bigBlobs\") {\n const value = this.root.get<string>(requestParser.pathParts.join(\"/\"));\n if (value === undefined) {\n return create404Response(requestParser);\n }\n return { mimeType: \"fluid/object\", status: 200, value };\n } else {\n return super.request(requestParser);\n }\n }\n\n /**\n * The root directory will either be ready or will return an error. If an error is thrown\n * the root has not been correctly created/set.\n */\n protected get root(): ISharedDirectory {\n if (!this.internalRoot) {\n throw new Error(this.getUninitializedErrorString(`root`));\n }\n\n return this.internalRoot;\n }\n\n /**\n * Initializes internal objects and calls initialization overrides.\n * Caller is responsible for ensuring this is only invoked once.\n */\n public async initializeInternal(existing: boolean): Promise<void> {\n if (!existing) {\n // Create a root directory and register it before calling initializingFirstTime\n this.internalRoot = SharedDirectory.create(this.runtime, this.rootDirectoryId);\n this.internalRoot.bindToContext();\n } else {\n // data store has a root directory so we just need to set it before calling initializingFromExisting\n this.internalRoot = await this.runtime.getChannel(this.rootDirectoryId) as ISharedDirectory;\n\n // This will actually be an ISharedMap if the channel was previously created by the older version of\n // DataObject which used a SharedMap. Since SharedMap and SharedDirectory are compatible unless\n // SharedDirectory-only commands are used on SharedMap, this will mostly just work for compatibility.\n if (this.internalRoot.attributes.type === MapFactory.Type) {\n this.runtime.logger.send({\n category: \"generic\",\n eventName: \"MapDataObject\",\n message: \"Legacy document, SharedMap is masquerading as SharedDirectory in DataObject\",\n });\n }\n }\n\n await super.initializeInternal(existing);\n }\n\n /**\n * Generates an error string indicating an item is uninitialized.\n * @param item - The name of the item that was uninitialized.\n */\n protected getUninitializedErrorString(item: string): string {\n return `${item} must be initialized before being accessed.`;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/aqueduct",
3
- "version": "1.1.0",
3
+ "version": "1.2.0-77818",
4
4
  "description": "A set of implementations for Fluid Framework interfaces.",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -65,27 +65,27 @@
65
65
  "dependencies": {
66
66
  "@fluidframework/common-definitions": "^0.20.1",
67
67
  "@fluidframework/common-utils": "^0.32.1",
68
- "@fluidframework/container-definitions": "^1.1.0",
69
- "@fluidframework/container-loader": "^1.1.0",
70
- "@fluidframework/container-runtime": "^1.1.0",
71
- "@fluidframework/container-runtime-definitions": "^1.1.0",
72
- "@fluidframework/core-interfaces": "^1.1.0",
73
- "@fluidframework/datastore": "^1.1.0",
74
- "@fluidframework/datastore-definitions": "^1.1.0",
75
- "@fluidframework/map": "^1.1.0",
76
- "@fluidframework/request-handler": "^1.1.0",
77
- "@fluidframework/runtime-definitions": "^1.1.0",
78
- "@fluidframework/runtime-utils": "^1.1.0",
79
- "@fluidframework/synthesize": "^1.1.0",
80
- "@fluidframework/view-interfaces": "^1.1.0",
68
+ "@fluidframework/container-definitions": "1.2.0-77818",
69
+ "@fluidframework/container-loader": "1.2.0-77818",
70
+ "@fluidframework/container-runtime": "1.2.0-77818",
71
+ "@fluidframework/container-runtime-definitions": "1.2.0-77818",
72
+ "@fluidframework/core-interfaces": "1.2.0-77818",
73
+ "@fluidframework/datastore": "1.2.0-77818",
74
+ "@fluidframework/datastore-definitions": "1.2.0-77818",
75
+ "@fluidframework/map": "1.2.0-77818",
76
+ "@fluidframework/request-handler": "1.2.0-77818",
77
+ "@fluidframework/runtime-definitions": "1.2.0-77818",
78
+ "@fluidframework/runtime-utils": "1.2.0-77818",
79
+ "@fluidframework/synthesize": "1.2.0-77818",
80
+ "@fluidframework/view-interfaces": "1.2.0-77818",
81
81
  "uuid": "^8.3.1"
82
82
  },
83
83
  "devDependencies": {
84
- "@fluidframework/aqueduct-previous": "npm:@fluidframework/aqueduct@^1.0.0",
84
+ "@fluidframework/aqueduct-previous": "npm:@fluidframework/aqueduct@1.1.0",
85
85
  "@fluidframework/build-common": "^0.24.0",
86
86
  "@fluidframework/build-tools": "^0.2.74327",
87
87
  "@fluidframework/eslint-config-fluid": "^0.28.2000",
88
- "@fluidframework/mocha-test-setup": "^1.1.0",
88
+ "@fluidframework/mocha-test-setup": "1.2.0-77818",
89
89
  "@microsoft/api-extractor": "^7.22.2",
90
90
  "@rushstack/eslint-config": "^2.5.1",
91
91
  "@types/mocha": "^9.1.1",
@@ -102,7 +102,7 @@
102
102
  },
103
103
  "module:es5": "es5/index.js",
104
104
  "typeValidation": {
105
- "version": "1.1.0",
105
+ "version": "1.2.0",
106
106
  "broken": {}
107
107
  }
108
108
  }