react-native-executorch-bare-resource-fetcher 0.8.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/lib/ResourceFetcher.d.ts +71 -0
- package/lib/ResourceFetcher.d.ts.map +1 -0
- package/lib/ResourceFetcher.js +432 -0
- package/lib/ResourceFetcherUtils.d.ts +28 -0
- package/lib/ResourceFetcherUtils.d.ts.map +1 -0
- package/lib/ResourceFetcherUtils.js +85 -0
- package/lib/constants/directories.d.ts +2 -0
- package/lib/constants/directories.d.ts.map +1 -0
- package/lib/constants/directories.js +2 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -0
- package/lib/typescript/tsconfig.tsbuildinfo +1 -0
- package/package.json +43 -0
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# react-native-executorch-bare-resource-fetcher
|
|
2
|
+
|
|
3
|
+
Bare React Native adapter for `react-native-executorch` that provides resource fetching capabilities using native filesystem libraries.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
yarn add react-native-executorch-bare-resource-fetcher
|
|
9
|
+
yarn add @dr.pogodin/react-native-fs @kesha-antonov/react-native-background-downloader
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Native Dependencies Setup
|
|
13
|
+
|
|
14
|
+
After installing, follow the setup guides for the native dependencies:
|
|
15
|
+
|
|
16
|
+
- **[@dr.pogodin/react-native-fs](https://github.com/birdofpreyru/react-native-fs#getting-started)** - Filesystem operations
|
|
17
|
+
- **[@kesha-antonov/react-native-background-downloader](https://github.com/kesha-antonov/react-native-background-downloader#bare-react-native-projects)** - Background download support
|
|
18
|
+
|
|
19
|
+
> **Note**: Make sure to complete the native setup (iOS/Android configuration) for both dependencies before using this adapter.
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { initExecutorch } from 'react-native-executorch';
|
|
25
|
+
import { BareResourceFetcher } from 'react-native-executorch-bare-resource-fetcher';
|
|
26
|
+
|
|
27
|
+
initExecutorch({
|
|
28
|
+
resourceFetcher: BareResourceFetcher,
|
|
29
|
+
});
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## When to Use
|
|
33
|
+
|
|
34
|
+
Use this adapter if you're working with:
|
|
35
|
+
- Bare React Native projects (created with `npx @react-native-community/cli@latest init`)
|
|
36
|
+
- Projects that need true background downloads
|
|
37
|
+
- Projects requiring direct native filesystem access
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource Fetcher for React Native applications.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to download and manage files stored in the application's document directory
|
|
5
|
+
* inside the `react-native-executorch/` directory. These utilities help manage storage and clean up downloaded
|
|
6
|
+
* files when they are no longer needed.
|
|
7
|
+
*
|
|
8
|
+
* @category Utilities - General
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* **Key Functionality:**
|
|
12
|
+
* - **Download Control**: Pause, resume, and cancel operations through:
|
|
13
|
+
* - {@link pauseFetching} - Pause ongoing downloads
|
|
14
|
+
* - {@link resumeFetching} - Resume paused downloads
|
|
15
|
+
* - {@link cancelFetching} - Cancel ongoing or paused downloads
|
|
16
|
+
* - **File Management**:
|
|
17
|
+
* - {@link getFilesTotalSize} - Get total size of resources
|
|
18
|
+
* - {@link listDownloadedFiles} - List all downloaded files
|
|
19
|
+
* - {@link listDownloadedModels} - List downloaded model files (.pte)
|
|
20
|
+
* - {@link deleteResources} - Delete downloaded resources
|
|
21
|
+
*
|
|
22
|
+
* **Important Notes:**
|
|
23
|
+
* - Pause/resume/cancel operations work only for remote resources
|
|
24
|
+
* - Most functions accept multiple `ResourceSource` arguments (string, number, or object)
|
|
25
|
+
* - The {@link fetch} method accepts a progress callback (0-1) and returns file paths or null if interrupted
|
|
26
|
+
*
|
|
27
|
+
* **Technical Implementation:**
|
|
28
|
+
* - Maintains a `downloads` Map to track active and paused downloads
|
|
29
|
+
* - Successful downloads are automatically removed from the Map
|
|
30
|
+
* - Uses `ResourceSourceExtended` interface for pause/resume functionality with linked-list behavior
|
|
31
|
+
*/
|
|
32
|
+
import { DownloadTask } from '@kesha-antonov/react-native-background-downloader';
|
|
33
|
+
import { ResourceSource, ResourceFetcherAdapter } from 'react-native-executorch';
|
|
34
|
+
import { DownloadStatus, ResourceSourceExtended } from './ResourceFetcherUtils';
|
|
35
|
+
interface DownloadResource {
|
|
36
|
+
task: DownloadTask;
|
|
37
|
+
status: DownloadStatus;
|
|
38
|
+
extendedInfo: ResourceSourceExtended;
|
|
39
|
+
}
|
|
40
|
+
interface BareResourceFetcherInterface extends ResourceFetcherAdapter {
|
|
41
|
+
downloads: Map<ResourceSource, DownloadResource>;
|
|
42
|
+
singleFetch(sourceExtended: ResourceSourceExtended): Promise<string[] | null>;
|
|
43
|
+
returnOrStartNext(sourceExtended: ResourceSourceExtended, result: string | string[]): string[] | Promise<string[] | null>;
|
|
44
|
+
completeDownload(extendedInfo: ResourceSourceExtended, source: ResourceSource): Promise<string[] | null>;
|
|
45
|
+
pause(source: ResourceSource): Promise<void>;
|
|
46
|
+
resume(source: ResourceSource): Promise<string[] | null>;
|
|
47
|
+
cancel(source: ResourceSource): Promise<void>;
|
|
48
|
+
findActive(sources: ResourceSource[]): ResourceSource;
|
|
49
|
+
pauseFetching(...sources: ResourceSource[]): Promise<void>;
|
|
50
|
+
resumeFetching(...sources: ResourceSource[]): Promise<void>;
|
|
51
|
+
cancelFetching(...sources: ResourceSource[]): Promise<void>;
|
|
52
|
+
listDownloadedFiles(): Promise<string[]>;
|
|
53
|
+
listDownloadedModels(): Promise<string[]>;
|
|
54
|
+
deleteResources(...sources: ResourceSource[]): Promise<void>;
|
|
55
|
+
getFilesTotalSize(...sources: ResourceSource[]): Promise<number>;
|
|
56
|
+
handleObject(source: ResourceSource): Promise<string>;
|
|
57
|
+
handleLocalFile(source: ResourceSource): string;
|
|
58
|
+
handleReleaseModeFile(sourceExtended: ResourceSourceExtended): Promise<string>;
|
|
59
|
+
handleDevModeFile(sourceExtended: ResourceSourceExtended): Promise<string[] | string | null>;
|
|
60
|
+
handleRemoteFile(sourceExtended: ResourceSourceExtended): Promise<string[] | string | null>;
|
|
61
|
+
handleRemoteFileAndroid(sourceExtended: ResourceSourceExtended, source: ResourceSource, uri: string): Promise<string[] | string | null>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* This module provides functions to download and work with downloaded files stored in the application's document directory inside the `react-native-executorch/` directory.
|
|
65
|
+
* These utilities can help you manage your storage and clean up the downloaded files when they are no longer needed.
|
|
66
|
+
*
|
|
67
|
+
* @category Utilities - General
|
|
68
|
+
*/
|
|
69
|
+
export declare const BareResourceFetcher: BareResourceFetcherInterface;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=ResourceFetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceFetcher.d.ts","sourceRoot":"","sources":["../src/ResourceFetcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAGL,YAAY,EAGb,MAAM,mDAAmD,CAAC;AAI3D,OAAO,EACL,cAAc,EACd,sBAAsB,EAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,cAAc,EAEd,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,UAAU,gBAAgB;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;CACtC;AAED,UAAU,4BAA6B,SAAQ,sBAAsB;IACnE,SAAS,EAAE,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IACjD,WAAW,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9E,iBAAiB,CACf,cAAc,EAAE,sBAAsB,EACtC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GACxB,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,gBAAgB,CACd,YAAY,EAAE,sBAAsB,EACpC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;IACtD,aAAa,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,cAAc,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,oBAAoB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,eAAe,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,GAAG,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IAChD,qBAAqB,CACnB,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,iBAAiB,CACf,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,gBAAgB,CACd,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,uBAAuB,CACrB,cAAc,EAAE,sBAAsB,EACtC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,4BA4hBjC,CAAC"}
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resource Fetcher for React Native applications.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to download and manage files stored in the application's document directory
|
|
5
|
+
* inside the `react-native-executorch/` directory. These utilities help manage storage and clean up downloaded
|
|
6
|
+
* files when they are no longer needed.
|
|
7
|
+
*
|
|
8
|
+
* @category Utilities - General
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* **Key Functionality:**
|
|
12
|
+
* - **Download Control**: Pause, resume, and cancel operations through:
|
|
13
|
+
* - {@link pauseFetching} - Pause ongoing downloads
|
|
14
|
+
* - {@link resumeFetching} - Resume paused downloads
|
|
15
|
+
* - {@link cancelFetching} - Cancel ongoing or paused downloads
|
|
16
|
+
* - **File Management**:
|
|
17
|
+
* - {@link getFilesTotalSize} - Get total size of resources
|
|
18
|
+
* - {@link listDownloadedFiles} - List all downloaded files
|
|
19
|
+
* - {@link listDownloadedModels} - List downloaded model files (.pte)
|
|
20
|
+
* - {@link deleteResources} - Delete downloaded resources
|
|
21
|
+
*
|
|
22
|
+
* **Important Notes:**
|
|
23
|
+
* - Pause/resume/cancel operations work only for remote resources
|
|
24
|
+
* - Most functions accept multiple `ResourceSource` arguments (string, number, or object)
|
|
25
|
+
* - The {@link fetch} method accepts a progress callback (0-1) and returns file paths or null if interrupted
|
|
26
|
+
*
|
|
27
|
+
* **Technical Implementation:**
|
|
28
|
+
* - Maintains a `downloads` Map to track active and paused downloads
|
|
29
|
+
* - Successful downloads are automatically removed from the Map
|
|
30
|
+
* - Uses `ResourceSourceExtended` interface for pause/resume functionality with linked-list behavior
|
|
31
|
+
*/
|
|
32
|
+
import { createDownloadTask, completeHandler, } from '@kesha-antonov/react-native-background-downloader';
|
|
33
|
+
import * as RNFS from '@dr.pogodin/react-native-fs';
|
|
34
|
+
import { Image, Platform } from 'react-native';
|
|
35
|
+
import { RNEDirectory } from './constants/directories';
|
|
36
|
+
import { RnExecutorchErrorCode, RnExecutorchError, } from 'react-native-executorch';
|
|
37
|
+
import { ResourceFetcherUtils, DownloadStatus, SourceType, } from './ResourceFetcherUtils';
|
|
38
|
+
/**
|
|
39
|
+
* This module provides functions to download and work with downloaded files stored in the application's document directory inside the `react-native-executorch/` directory.
|
|
40
|
+
* These utilities can help you manage your storage and clean up the downloaded files when they are no longer needed.
|
|
41
|
+
*
|
|
42
|
+
* @category Utilities - General
|
|
43
|
+
*/
|
|
44
|
+
export const BareResourceFetcher = {
|
|
45
|
+
downloads: new Map(), //map of currently downloading (or paused) files, if the download was started by .fetch() method.
|
|
46
|
+
/**
|
|
47
|
+
* Fetches resources (remote URLs, local files or embedded assets), downloads or stores them locally for use by React Native ExecuTorch.
|
|
48
|
+
*
|
|
49
|
+
* @param callback - Optional callback to track progress of all downloads, reported between 0 and 1.
|
|
50
|
+
* @param sources - Multiple resources that can be strings, asset references, or objects.
|
|
51
|
+
* @returns If the fetch was successful, it returns a promise which resolves to an array of local file paths for the downloaded/stored resources (without file:// prefix).
|
|
52
|
+
* If the fetch was interrupted by `pauseFetching` or `cancelFetching`, it returns a promise which resolves to `null`.
|
|
53
|
+
*/
|
|
54
|
+
async fetch(callback = () => { }, ...sources) {
|
|
55
|
+
if (sources.length === 0) {
|
|
56
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidUserInput, 'Empty list given as an argument');
|
|
57
|
+
}
|
|
58
|
+
const { results: info, totalLength } = await ResourceFetcherUtils.getFilesSizes(sources);
|
|
59
|
+
const head = {
|
|
60
|
+
source: info[0].source,
|
|
61
|
+
sourceType: info[0].type,
|
|
62
|
+
callback: info[0].type === SourceType.REMOTE_FILE
|
|
63
|
+
? ResourceFetcherUtils.calculateDownloadProgress(totalLength, info[0].previousFilesTotalLength, info[0].length, callback)
|
|
64
|
+
: () => { },
|
|
65
|
+
results: [],
|
|
66
|
+
};
|
|
67
|
+
let node = head;
|
|
68
|
+
for (let idx = 1; idx < sources.length; idx++) {
|
|
69
|
+
node.next = {
|
|
70
|
+
source: info[idx].source,
|
|
71
|
+
sourceType: info[idx].type,
|
|
72
|
+
callback: info[idx].type === SourceType.REMOTE_FILE
|
|
73
|
+
? ResourceFetcherUtils.calculateDownloadProgress(totalLength, info[idx].previousFilesTotalLength, info[idx].length, callback)
|
|
74
|
+
: () => { },
|
|
75
|
+
results: [],
|
|
76
|
+
};
|
|
77
|
+
node = node.next;
|
|
78
|
+
}
|
|
79
|
+
return this.singleFetch(head);
|
|
80
|
+
},
|
|
81
|
+
async singleFetch(sourceExtended) {
|
|
82
|
+
const source = sourceExtended.source;
|
|
83
|
+
switch (sourceExtended.sourceType) {
|
|
84
|
+
case SourceType.OBJECT: {
|
|
85
|
+
return this.returnOrStartNext(sourceExtended, await this.handleObject(source));
|
|
86
|
+
}
|
|
87
|
+
case SourceType.LOCAL_FILE: {
|
|
88
|
+
return this.returnOrStartNext(sourceExtended, this.handleLocalFile(source));
|
|
89
|
+
}
|
|
90
|
+
case SourceType.RELEASE_MODE_FILE: {
|
|
91
|
+
return this.returnOrStartNext(sourceExtended, await this.handleReleaseModeFile(sourceExtended));
|
|
92
|
+
}
|
|
93
|
+
case SourceType.DEV_MODE_FILE: {
|
|
94
|
+
const result = await this.handleDevModeFile(sourceExtended);
|
|
95
|
+
if (result !== null) {
|
|
96
|
+
return this.returnOrStartNext(sourceExtended, result);
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
default: {
|
|
101
|
+
//case SourceType.REMOTE_FILE
|
|
102
|
+
const result = await this.handleRemoteFile(sourceExtended);
|
|
103
|
+
if (result !== null) {
|
|
104
|
+
return this.returnOrStartNext(sourceExtended, result);
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
//if any download ends successfully this function is called - it checks whether it should trigger next download or return list of paths.
|
|
111
|
+
returnOrStartNext(sourceExtended, result) {
|
|
112
|
+
sourceExtended.results.push(result);
|
|
113
|
+
if (sourceExtended.next) {
|
|
114
|
+
const nextSource = sourceExtended.next;
|
|
115
|
+
nextSource.results.push(...sourceExtended.results);
|
|
116
|
+
return this.singleFetch(nextSource);
|
|
117
|
+
}
|
|
118
|
+
sourceExtended.callback(1);
|
|
119
|
+
return sourceExtended.results;
|
|
120
|
+
},
|
|
121
|
+
async pause(source) {
|
|
122
|
+
const resource = this.downloads.get(source);
|
|
123
|
+
if (!resource) {
|
|
124
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.NotFound, 'No active download found for the given source');
|
|
125
|
+
}
|
|
126
|
+
switch (resource.status) {
|
|
127
|
+
case DownloadStatus.PAUSED:
|
|
128
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherAlreadyPaused, "The file download is currently paused. Can't pause the download of the same file twice.");
|
|
129
|
+
default: {
|
|
130
|
+
resource.status = DownloadStatus.PAUSED;
|
|
131
|
+
resource.task.pause();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
async resume(source) {
|
|
136
|
+
const resource = this.downloads.get(source);
|
|
137
|
+
if (!resource.extendedInfo.fileUri ||
|
|
138
|
+
!resource.extendedInfo.cacheFileUri ||
|
|
139
|
+
!resource.extendedInfo.uri) {
|
|
140
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherMissingUri, 'Something went wrong. File uri info is not specified');
|
|
141
|
+
}
|
|
142
|
+
switch (resource.status) {
|
|
143
|
+
case DownloadStatus.ONGOING:
|
|
144
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherAlreadyOngoing, "The file download is currently ongoing. Can't resume the ongoing download.");
|
|
145
|
+
default: {
|
|
146
|
+
resource.status = DownloadStatus.ONGOING;
|
|
147
|
+
resource.task.resume();
|
|
148
|
+
return new Promise((resolve, reject) => {
|
|
149
|
+
resource.task
|
|
150
|
+
.done(async () => {
|
|
151
|
+
const result = await this.completeDownload(resource.extendedInfo, source);
|
|
152
|
+
resolve(result);
|
|
153
|
+
})
|
|
154
|
+
.error((e) => {
|
|
155
|
+
reject(e);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
async cancel(source) {
|
|
162
|
+
const resource = this.downloads.get(source);
|
|
163
|
+
if (!resource) {
|
|
164
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.NotFound, 'No active download found for the given source');
|
|
165
|
+
}
|
|
166
|
+
resource.task.stop();
|
|
167
|
+
this.downloads.delete(source);
|
|
168
|
+
},
|
|
169
|
+
async completeDownload(extendedInfo, source) {
|
|
170
|
+
// Check if download was cancelled or paused
|
|
171
|
+
if (!this.downloads.has(source) ||
|
|
172
|
+
this.downloads.get(source).status === DownloadStatus.PAUSED) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
await RNFS.moveFile(extendedInfo.cacheFileUri, extendedInfo.fileUri);
|
|
176
|
+
this.downloads.delete(source);
|
|
177
|
+
ResourceFetcherUtils.triggerHuggingFaceDownloadCounter(extendedInfo.uri);
|
|
178
|
+
const filename = extendedInfo.fileUri.split('/').pop();
|
|
179
|
+
if (filename) {
|
|
180
|
+
await completeHandler(filename);
|
|
181
|
+
}
|
|
182
|
+
const result = this.returnOrStartNext(extendedInfo, ResourceFetcherUtils.removeFilePrefix(extendedInfo.fileUri));
|
|
183
|
+
return result instanceof Promise ? await result : result;
|
|
184
|
+
},
|
|
185
|
+
/**
|
|
186
|
+
* Pauses an ongoing download of files.
|
|
187
|
+
*
|
|
188
|
+
* @param sources - The resource identifiers used when calling `fetch`.
|
|
189
|
+
* @returns A promise that resolves once the download is paused.
|
|
190
|
+
*/
|
|
191
|
+
async pauseFetching(...sources) {
|
|
192
|
+
const source = this.findActive(sources);
|
|
193
|
+
await this.pause(source);
|
|
194
|
+
},
|
|
195
|
+
/**
|
|
196
|
+
* Resumes a paused download of files.
|
|
197
|
+
*
|
|
198
|
+
* @param sources - The resource identifiers used when calling fetch.
|
|
199
|
+
* @returns If the fetch was successful, it returns a promise which resolves to an array of local file paths for the downloaded resources (without file:// prefix).
|
|
200
|
+
* If the fetch was again interrupted by `pauseFetching` or `cancelFetching`, it returns a promise which resolves to `null`.
|
|
201
|
+
*/
|
|
202
|
+
async resumeFetching(...sources) {
|
|
203
|
+
const source = this.findActive(sources);
|
|
204
|
+
await this.resume(source);
|
|
205
|
+
},
|
|
206
|
+
/**
|
|
207
|
+
* Cancels an ongoing/paused download of files.
|
|
208
|
+
*
|
|
209
|
+
* @param sources - The resource identifiers used when calling `fetch()`.
|
|
210
|
+
* @returns A promise that resolves once the download is canceled.
|
|
211
|
+
*/
|
|
212
|
+
async cancelFetching(...sources) {
|
|
213
|
+
const source = this.findActive(sources);
|
|
214
|
+
await this.cancel(source);
|
|
215
|
+
},
|
|
216
|
+
findActive(sources) {
|
|
217
|
+
for (const source of sources) {
|
|
218
|
+
if (this.downloads.has(source)) {
|
|
219
|
+
return source;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherNotActive, 'None of given sources are currently during downloading process.');
|
|
223
|
+
},
|
|
224
|
+
/**
|
|
225
|
+
* Lists all the downloaded files used by React Native ExecuTorch.
|
|
226
|
+
*
|
|
227
|
+
* @returns A promise, which resolves to an array of URIs for all the downloaded files.
|
|
228
|
+
*/
|
|
229
|
+
async listDownloadedFiles() {
|
|
230
|
+
const files = await RNFS.readDir(RNEDirectory);
|
|
231
|
+
return files.map((file) => file.path);
|
|
232
|
+
},
|
|
233
|
+
/**
|
|
234
|
+
* Lists all the downloaded models used by React Native ExecuTorch.
|
|
235
|
+
*
|
|
236
|
+
* @returns A promise, which resolves to an array of URIs for all the downloaded models.
|
|
237
|
+
*/
|
|
238
|
+
async listDownloadedModels() {
|
|
239
|
+
const files = await this.listDownloadedFiles();
|
|
240
|
+
return files.filter((file) => file.endsWith('.pte'));
|
|
241
|
+
},
|
|
242
|
+
/**
|
|
243
|
+
* Deletes downloaded resources from the local filesystem.
|
|
244
|
+
*
|
|
245
|
+
* @param sources - The resource identifiers used when calling `fetch`.
|
|
246
|
+
* @returns A promise that resolves once all specified resources have been removed.
|
|
247
|
+
*/
|
|
248
|
+
async deleteResources(...sources) {
|
|
249
|
+
for (const source of sources) {
|
|
250
|
+
const filename = ResourceFetcherUtils.getFilenameFromUri(source);
|
|
251
|
+
const fileUri = `${RNEDirectory}${filename}`;
|
|
252
|
+
if (await ResourceFetcherUtils.checkFileExists(fileUri)) {
|
|
253
|
+
await RNFS.unlink(fileUri);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
/**
|
|
258
|
+
* Fetches the info about files size. Works only for remote files.
|
|
259
|
+
*
|
|
260
|
+
* @param sources - The resource identifiers (URLs).
|
|
261
|
+
* @returns A promise that resolves to combined size of files in bytes.
|
|
262
|
+
*/
|
|
263
|
+
async getFilesTotalSize(...sources) {
|
|
264
|
+
return (await ResourceFetcherUtils.getFilesSizes(sources)).totalLength;
|
|
265
|
+
},
|
|
266
|
+
async handleObject(source) {
|
|
267
|
+
if (typeof source !== 'object') {
|
|
268
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidModelSource, 'Source is expected to be object');
|
|
269
|
+
}
|
|
270
|
+
const jsonString = JSON.stringify(source);
|
|
271
|
+
const digest = ResourceFetcherUtils.hashObject(jsonString);
|
|
272
|
+
const filename = `${digest}.json`;
|
|
273
|
+
const path = `${RNEDirectory}${filename}`;
|
|
274
|
+
if (await ResourceFetcherUtils.checkFileExists(path)) {
|
|
275
|
+
return ResourceFetcherUtils.removeFilePrefix(path);
|
|
276
|
+
}
|
|
277
|
+
await ResourceFetcherUtils.createDirectoryIfNoExists();
|
|
278
|
+
await RNFS.writeFile(path, jsonString, 'utf8');
|
|
279
|
+
return ResourceFetcherUtils.removeFilePrefix(path);
|
|
280
|
+
},
|
|
281
|
+
handleLocalFile(source) {
|
|
282
|
+
if (typeof source !== 'string') {
|
|
283
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidModelSource, 'Source is expected to be string');
|
|
284
|
+
}
|
|
285
|
+
return ResourceFetcherUtils.removeFilePrefix(source);
|
|
286
|
+
},
|
|
287
|
+
async handleReleaseModeFile(sourceExtended) {
|
|
288
|
+
const source = sourceExtended.source;
|
|
289
|
+
if (typeof source !== 'number') {
|
|
290
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidModelSource, 'Source is expected to be number');
|
|
291
|
+
}
|
|
292
|
+
const assetSource = Image.resolveAssetSource(source);
|
|
293
|
+
const uri = assetSource.uri;
|
|
294
|
+
const filename = ResourceFetcherUtils.getFilenameFromUri(uri);
|
|
295
|
+
const fileUri = `${RNEDirectory}${filename}`;
|
|
296
|
+
if (await ResourceFetcherUtils.checkFileExists(fileUri)) {
|
|
297
|
+
return ResourceFetcherUtils.removeFilePrefix(fileUri);
|
|
298
|
+
}
|
|
299
|
+
await ResourceFetcherUtils.createDirectoryIfNoExists();
|
|
300
|
+
if (uri.startsWith('http') || uri.startsWith('file')) {
|
|
301
|
+
await RNFS.copyFile(uri, fileUri);
|
|
302
|
+
}
|
|
303
|
+
return ResourceFetcherUtils.removeFilePrefix(fileUri);
|
|
304
|
+
},
|
|
305
|
+
async handleDevModeFile(sourceExtended) {
|
|
306
|
+
const source = sourceExtended.source;
|
|
307
|
+
if (typeof source !== 'number') {
|
|
308
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidModelSource, 'Source is expected to be a number');
|
|
309
|
+
}
|
|
310
|
+
sourceExtended.uri = Image.resolveAssetSource(source).uri;
|
|
311
|
+
return await this.handleRemoteFile(sourceExtended);
|
|
312
|
+
},
|
|
313
|
+
async handleRemoteFile(sourceExtended) {
|
|
314
|
+
const source = sourceExtended.source;
|
|
315
|
+
if (typeof source === 'object') {
|
|
316
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.InvalidModelSource, 'Source is expected to be a string or a number');
|
|
317
|
+
}
|
|
318
|
+
if (this.downloads.has(source)) {
|
|
319
|
+
const resource = this.downloads.get(source);
|
|
320
|
+
if (resource.status === DownloadStatus.PAUSED) {
|
|
321
|
+
// if the download is paused, `fetch` is treated like `resume`
|
|
322
|
+
return this.resume(source);
|
|
323
|
+
}
|
|
324
|
+
// if the download is ongoing, throw error.
|
|
325
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherDownloadInProgress, 'Already downloading this file');
|
|
326
|
+
}
|
|
327
|
+
if (typeof source === 'number' && !sourceExtended.uri) {
|
|
328
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherMissingUri, 'Source Uri is expected to be available here');
|
|
329
|
+
}
|
|
330
|
+
if (typeof source === 'string') {
|
|
331
|
+
sourceExtended.uri = source;
|
|
332
|
+
}
|
|
333
|
+
const uri = sourceExtended.uri;
|
|
334
|
+
const filename = ResourceFetcherUtils.getFilenameFromUri(uri);
|
|
335
|
+
sourceExtended.fileUri = `${RNEDirectory}${filename}`;
|
|
336
|
+
sourceExtended.cacheFileUri = `${RNFS.CachesDirectoryPath}/${filename}`;
|
|
337
|
+
if (await ResourceFetcherUtils.checkFileExists(sourceExtended.fileUri)) {
|
|
338
|
+
return ResourceFetcherUtils.removeFilePrefix(sourceExtended.fileUri);
|
|
339
|
+
}
|
|
340
|
+
await ResourceFetcherUtils.createDirectoryIfNoExists();
|
|
341
|
+
if (Platform.OS === 'android') {
|
|
342
|
+
return this.handleRemoteFileAndroid(sourceExtended, source, uri);
|
|
343
|
+
}
|
|
344
|
+
return new Promise((resolve, reject) => {
|
|
345
|
+
const task = createDownloadTask({
|
|
346
|
+
id: filename,
|
|
347
|
+
url: uri,
|
|
348
|
+
destination: sourceExtended.cacheFileUri,
|
|
349
|
+
})
|
|
350
|
+
.begin((_) => {
|
|
351
|
+
sourceExtended.callback(0);
|
|
352
|
+
})
|
|
353
|
+
.progress((progress) => {
|
|
354
|
+
sourceExtended.callback(progress.bytesDownloaded / progress.bytesTotal);
|
|
355
|
+
})
|
|
356
|
+
.done(async () => {
|
|
357
|
+
const nextResult = await this.completeDownload(sourceExtended, source);
|
|
358
|
+
resolve(nextResult);
|
|
359
|
+
})
|
|
360
|
+
.error((error) => {
|
|
361
|
+
this.downloads.delete(source);
|
|
362
|
+
reject(new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherDownloadFailed, `Failed to fetch resource from '${source}', context: ${error}`));
|
|
363
|
+
});
|
|
364
|
+
// Start the download task
|
|
365
|
+
task.start();
|
|
366
|
+
const downloadResource = {
|
|
367
|
+
task: task,
|
|
368
|
+
status: DownloadStatus.ONGOING,
|
|
369
|
+
extendedInfo: sourceExtended,
|
|
370
|
+
};
|
|
371
|
+
this.downloads.set(source, downloadResource);
|
|
372
|
+
});
|
|
373
|
+
},
|
|
374
|
+
async handleRemoteFileAndroid(sourceExtended, source, uri) {
|
|
375
|
+
const rnfsDownload = RNFS.downloadFile({
|
|
376
|
+
fromUrl: uri,
|
|
377
|
+
toFile: sourceExtended.cacheFileUri,
|
|
378
|
+
progress: (res) => {
|
|
379
|
+
if (res.contentLength > 0) {
|
|
380
|
+
sourceExtended.callback(res.bytesWritten / res.contentLength);
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
progressInterval: 500,
|
|
384
|
+
});
|
|
385
|
+
const downloadResource = {
|
|
386
|
+
task: {
|
|
387
|
+
stop: async () => {
|
|
388
|
+
RNFS.stopDownload(rnfsDownload.jobId);
|
|
389
|
+
if (sourceExtended.cacheFileUri &&
|
|
390
|
+
(await ResourceFetcherUtils.checkFileExists(sourceExtended.cacheFileUri))) {
|
|
391
|
+
await RNFS.unlink(sourceExtended.cacheFileUri);
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
pause: () => {
|
|
395
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherPlatformNotSupported, 'Pause is not supported on Android when using RNFS. Use cancelFetching and re-fetch instead.');
|
|
396
|
+
},
|
|
397
|
+
resume: () => {
|
|
398
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherPlatformNotSupported, 'Resume is not supported on Android when using RNFS. Use fetch to restart the download.');
|
|
399
|
+
},
|
|
400
|
+
},
|
|
401
|
+
status: DownloadStatus.ONGOING,
|
|
402
|
+
extendedInfo: sourceExtended,
|
|
403
|
+
};
|
|
404
|
+
this.downloads.set(source, downloadResource);
|
|
405
|
+
try {
|
|
406
|
+
const result = await rnfsDownload.promise;
|
|
407
|
+
if (result.statusCode < 200 || result.statusCode >= 300) {
|
|
408
|
+
this.downloads.delete(source);
|
|
409
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherDownloadFailed, `Failed to fetch resource from '${uri}', status: ${result.statusCode}`);
|
|
410
|
+
}
|
|
411
|
+
return await this.completeDownload(sourceExtended, source);
|
|
412
|
+
}
|
|
413
|
+
catch (error) {
|
|
414
|
+
this.downloads.delete(source);
|
|
415
|
+
if (error instanceof RnExecutorchError)
|
|
416
|
+
throw error;
|
|
417
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.ResourceFetcherDownloadFailed, `Failed to fetch resource from '${uri}', context: ${error}`);
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
/**
|
|
421
|
+
* Reads the contents of a file as a string.
|
|
422
|
+
*
|
|
423
|
+
* @param path - Absolute file path to read.
|
|
424
|
+
* @returns A promise that resolves to the file contents as a string.
|
|
425
|
+
*
|
|
426
|
+
* @remarks
|
|
427
|
+
* **REQUIRED**: Used internally for reading configuration files (e.g., tokenizer configs).
|
|
428
|
+
*/
|
|
429
|
+
async readAsString(path) {
|
|
430
|
+
return await RNFS.readFile(path, 'utf8');
|
|
431
|
+
},
|
|
432
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ResourceSource, ResourceFetcherUtils as CoreUtils, HTTP_CODE, DownloadStatus, SourceType, ResourceSourceExtended } from 'react-native-executorch';
|
|
2
|
+
export { HTTP_CODE, DownloadStatus, SourceType };
|
|
3
|
+
export type { ResourceSourceExtended };
|
|
4
|
+
/**
|
|
5
|
+
* Utility functions for fetching and managing resources.
|
|
6
|
+
*
|
|
7
|
+
* @category Utilities - General
|
|
8
|
+
*/
|
|
9
|
+
export declare namespace ResourceFetcherUtils {
|
|
10
|
+
const removeFilePrefix: typeof CoreUtils.removeFilePrefix;
|
|
11
|
+
const hashObject: typeof CoreUtils.hashObject;
|
|
12
|
+
const calculateDownloadProgress: typeof CoreUtils.calculateDownloadProgress;
|
|
13
|
+
const triggerHuggingFaceDownloadCounter: typeof CoreUtils.triggerHuggingFaceDownloadCounter;
|
|
14
|
+
const getFilenameFromUri: typeof CoreUtils.getFilenameFromUri;
|
|
15
|
+
function getType(source: ResourceSource): SourceType;
|
|
16
|
+
function getFilesSizes(sources: ResourceSource[]): Promise<{
|
|
17
|
+
results: {
|
|
18
|
+
source: ResourceSource;
|
|
19
|
+
type: SourceType;
|
|
20
|
+
length: number;
|
|
21
|
+
previousFilesTotalLength: number;
|
|
22
|
+
}[];
|
|
23
|
+
totalLength: number;
|
|
24
|
+
}>;
|
|
25
|
+
function createDirectoryIfNoExists(): Promise<void>;
|
|
26
|
+
function checkFileExists(fileUri: string): Promise<any>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ResourceFetcherUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceFetcherUtils.d.ts","sourceRoot":"","sources":["../src/ResourceFetcherUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAEd,oBAAoB,IAAI,SAAS,EACjC,SAAS,EACT,cAAc,EACd,UAAU,EACV,sBAAsB,EAGvB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACjD,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAEvC;;;;GAIG;AACH,yBAAiB,oBAAoB,CAAC;IAC7B,MAAM,gBAAgB,mCAA6B,CAAC;IACpD,MAAM,UAAU,6BAAuB,CAAC;IACxC,MAAM,yBAAyB,4CAAsC,CAAC;IACtE,MAAM,iCAAiC,oDACD,CAAC;IACvC,MAAM,kBAAkB,qCAA+B,CAAC;IAE/D,SAAgB,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAe1D;IAED,SAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE;;oBAEjD,cAAc;kBAChB,UAAU;oBACR,MAAM;sCACY,MAAM;;;OAkCnC;IAED,SAAsB,yBAAyB,kBAY9C;IAED,SAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,gBAEpD;CACF"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { RNEDirectory } from './constants/directories';
|
|
2
|
+
import { Logger, ResourceFetcherUtils as CoreUtils, HTTP_CODE, DownloadStatus, SourceType, RnExecutorchError, RnExecutorchErrorCode, } from 'react-native-executorch';
|
|
3
|
+
import { Image } from 'react-native';
|
|
4
|
+
import * as RNFS from '@dr.pogodin/react-native-fs';
|
|
5
|
+
export { HTTP_CODE, DownloadStatus, SourceType };
|
|
6
|
+
/**
|
|
7
|
+
* Utility functions for fetching and managing resources.
|
|
8
|
+
*
|
|
9
|
+
* @category Utilities - General
|
|
10
|
+
*/
|
|
11
|
+
export var ResourceFetcherUtils;
|
|
12
|
+
(function (ResourceFetcherUtils) {
|
|
13
|
+
ResourceFetcherUtils.removeFilePrefix = CoreUtils.removeFilePrefix;
|
|
14
|
+
ResourceFetcherUtils.hashObject = CoreUtils.hashObject;
|
|
15
|
+
ResourceFetcherUtils.calculateDownloadProgress = CoreUtils.calculateDownloadProgress;
|
|
16
|
+
ResourceFetcherUtils.triggerHuggingFaceDownloadCounter = CoreUtils.triggerHuggingFaceDownloadCounter;
|
|
17
|
+
ResourceFetcherUtils.getFilenameFromUri = CoreUtils.getFilenameFromUri;
|
|
18
|
+
function getType(source) {
|
|
19
|
+
if (typeof source === 'object') {
|
|
20
|
+
return SourceType.OBJECT;
|
|
21
|
+
}
|
|
22
|
+
else if (typeof source === 'number') {
|
|
23
|
+
const uri = Image.resolveAssetSource(source).uri;
|
|
24
|
+
if (uri.startsWith('http')) {
|
|
25
|
+
return SourceType.DEV_MODE_FILE;
|
|
26
|
+
}
|
|
27
|
+
return SourceType.RELEASE_MODE_FILE;
|
|
28
|
+
}
|
|
29
|
+
// typeof source == 'string'
|
|
30
|
+
if (source.startsWith('file://')) {
|
|
31
|
+
return SourceType.LOCAL_FILE;
|
|
32
|
+
}
|
|
33
|
+
return SourceType.REMOTE_FILE;
|
|
34
|
+
}
|
|
35
|
+
ResourceFetcherUtils.getType = getType;
|
|
36
|
+
async function getFilesSizes(sources) {
|
|
37
|
+
const results = [];
|
|
38
|
+
let totalLength = 0;
|
|
39
|
+
let previousFilesTotalLength = 0;
|
|
40
|
+
for (const source of sources) {
|
|
41
|
+
const type = ResourceFetcherUtils.getType(source);
|
|
42
|
+
let length = 0;
|
|
43
|
+
try {
|
|
44
|
+
if (type === SourceType.REMOTE_FILE && typeof source === 'string') {
|
|
45
|
+
const response = await fetch(source, { method: 'HEAD' });
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
Logger.warn(`Failed to fetch HEAD for ${source}: ${response.status}`);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const contentLength = response.headers.get('content-length');
|
|
51
|
+
if (!contentLength) {
|
|
52
|
+
Logger.warn(`No content-length header for ${source}`);
|
|
53
|
+
}
|
|
54
|
+
length = contentLength ? parseInt(contentLength, 10) : 0;
|
|
55
|
+
previousFilesTotalLength = totalLength;
|
|
56
|
+
totalLength += length;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
Logger.warn(`Error fetching HEAD for ${source}:`, error);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
results.push({ source, type, length, previousFilesTotalLength });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return { results, totalLength };
|
|
68
|
+
}
|
|
69
|
+
ResourceFetcherUtils.getFilesSizes = getFilesSizes;
|
|
70
|
+
async function createDirectoryIfNoExists() {
|
|
71
|
+
if (!(await checkFileExists(RNEDirectory))) {
|
|
72
|
+
try {
|
|
73
|
+
await RNFS.mkdir(RNEDirectory);
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
throw new RnExecutorchError(RnExecutorchErrorCode.FileWriteFailed, `Failed to create directory at ${RNEDirectory}`, error);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
ResourceFetcherUtils.createDirectoryIfNoExists = createDirectoryIfNoExists;
|
|
81
|
+
async function checkFileExists(fileUri) {
|
|
82
|
+
return await RNFS.exists(fileUri);
|
|
83
|
+
}
|
|
84
|
+
ResourceFetcherUtils.checkFileExists = checkFileExists;
|
|
85
|
+
})(ResourceFetcherUtils || (ResourceFetcherUtils = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"directories.d.ts","sourceRoot":"","sources":["../../src/constants/directories.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,QAAsD,CAAC"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ResourceFetcher';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"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.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.dom.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.es2016.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../node_modules/typescript/lib/lib.es2017.date.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.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/react-native/types/modules/batchedbridge.d.ts","../../../../node_modules/react-native/libraries/vendor/emitter/eventemitter.d.ts","../../../../node_modules/react-native/types/modules/codegen.d.ts","../../../../node_modules/react-native/types/modules/devtools.d.ts","../../../../node_modules/react-native/libraries/vendor/core/errorutils.d.ts","../../../../node_modules/react-native/src/types/globals.d.ts","../../../../node_modules/@types/react/global.d.ts","../../../../node_modules/csstype/index.d.ts","../../../../node_modules/@types/react/index.d.ts","../../../../node_modules/react-native/types/private/utilities.d.ts","../../../../node_modules/react-native/types/public/insets.d.ts","../../../../node_modules/react-native/types/public/reactnativetypes.d.ts","../../../../node_modules/react-native/libraries/types/coreeventtypes.d.ts","../../../../node_modules/react-native/types/public/reactnativerenderer.d.ts","../../../../node_modules/react-native/libraries/components/touchable/touchable.d.ts","../../../../node_modules/react-native/libraries/components/view/viewaccessibility.d.ts","../../../../node_modules/react-native/libraries/components/view/viewproptypes.d.ts","../../../../node_modules/react-native/libraries/components/refreshcontrol/refreshcontrol.d.ts","../../../../node_modules/react-native/libraries/components/view/view.d.ts","../../../../node_modules/react-native/libraries/components/scrollview/scrollview.d.ts","../../../../node_modules/react-native/libraries/image/imageresizemode.d.ts","../../../../node_modules/react-native/libraries/image/imagesource.d.ts","../../../../node_modules/react-native/libraries/image/image.d.ts","../../../../node_modules/@react-native/virtualized-lists/lists/virtualizedlist.d.ts","../../../../node_modules/@react-native/virtualized-lists/index.d.ts","../../../../node_modules/react-native/libraries/lists/flatlist.d.ts","../../../../node_modules/react-native/libraries/reactnative/rendererproxy.d.ts","../../../../node_modules/react-native/libraries/lists/sectionlist.d.ts","../../../../node_modules/react-native/libraries/text/text.d.ts","../../../../node_modules/react-native/libraries/animated/animated.d.ts","../../../../node_modules/react-native/libraries/stylesheet/stylesheettypes.d.ts","../../../../node_modules/react-native/libraries/stylesheet/stylesheet.d.ts","../../../../node_modules/react-native/libraries/stylesheet/processcolor.d.ts","../../../../node_modules/react-native/libraries/actionsheetios/actionsheetios.d.ts","../../../../node_modules/react-native/libraries/alert/alert.d.ts","../../../../node_modules/react-native/libraries/animated/easing.d.ts","../../../../node_modules/react-native/libraries/animated/useanimatedvalue.d.ts","../../../../node_modules/react-native/libraries/eventemitter/rctdeviceeventemitter.d.ts","../../../../node_modules/react-native/libraries/eventemitter/rctnativeappeventemitter.d.ts","../../../../node_modules/react-native/libraries/appstate/appstate.d.ts","../../../../node_modules/react-native/libraries/batchedbridge/nativemodules.d.ts","../../../../node_modules/react-native/libraries/components/accessibilityinfo/accessibilityinfo.d.ts","../../../../node_modules/react-native/libraries/components/activityindicator/activityindicator.d.ts","../../../../node_modules/react-native/libraries/components/clipboard/clipboard.d.ts","../../../../node_modules/react-native/libraries/components/drawerandroid/drawerlayoutandroid.d.ts","../../../../node_modules/react-native/libraries/eventemitter/nativeeventemitter.d.ts","../../../../node_modules/react-native/libraries/components/keyboard/keyboard.d.ts","../../../../node_modules/react-native/types/private/timermixin.d.ts","../../../../node_modules/react-native/libraries/components/keyboard/keyboardavoidingview.d.ts","../../../../node_modules/react-native/libraries/components/layoutconformance/layoutconformance.d.ts","../../../../node_modules/react-native/libraries/components/pressable/pressable.d.ts","../../../../node_modules/react-native/libraries/components/progressbarandroid/progressbarandroid.d.ts","../../../../node_modules/react-native/libraries/components/safeareaview/safeareaview.d.ts","../../../../node_modules/react-native/libraries/components/statusbar/statusbar.d.ts","../../../../node_modules/react-native/libraries/components/switch/switch.d.ts","../../../../node_modules/react-native/libraries/components/textinput/inputaccessoryview.d.ts","../../../../node_modules/react-native/libraries/components/textinput/textinput.d.ts","../../../../node_modules/react-native/libraries/components/toastandroid/toastandroid.d.ts","../../../../node_modules/react-native/libraries/components/touchable/touchablewithoutfeedback.d.ts","../../../../node_modules/react-native/libraries/components/touchable/touchablehighlight.d.ts","../../../../node_modules/react-native/libraries/components/touchable/touchableopacity.d.ts","../../../../node_modules/react-native/libraries/components/touchable/touchablenativefeedback.d.ts","../../../../node_modules/react-native/libraries/components/button.d.ts","../../../../node_modules/react-native/libraries/core/registercallablemodule.d.ts","../../../../node_modules/react-native/libraries/interaction/interactionmanager.d.ts","../../../../node_modules/react-native/libraries/interaction/panresponder.d.ts","../../../../node_modules/react-native/libraries/layoutanimation/layoutanimation.d.ts","../../../../node_modules/react-native/libraries/linking/linking.d.ts","../../../../node_modules/react-native/libraries/logbox/logbox.d.ts","../../../../node_modules/react-native/libraries/modal/modal.d.ts","../../../../node_modules/react-native/libraries/performance/systrace.d.ts","../../../../node_modules/react-native/libraries/permissionsandroid/permissionsandroid.d.ts","../../../../node_modules/react-native/libraries/pushnotificationios/pushnotificationios.d.ts","../../../../node_modules/react-native/libraries/utilities/iperformancelogger.d.ts","../../../../node_modules/react-native/libraries/reactnative/appregistry.d.ts","../../../../node_modules/react-native/libraries/reactnative/i18nmanager.d.ts","../../../../node_modules/react-native/libraries/reactnative/roottag.d.ts","../../../../node_modules/react-native/libraries/reactnative/uimanager.d.ts","../../../../node_modules/react-native/libraries/reactnative/requirenativecomponent.d.ts","../../../../node_modules/react-native/libraries/settings/settings.d.ts","../../../../node_modules/react-native/libraries/share/share.d.ts","../../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypesios.d.ts","../../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypes.d.ts","../../../../node_modules/react-native/libraries/turbomodule/rctexport.d.ts","../../../../node_modules/react-native/libraries/turbomodule/turbomoduleregistry.d.ts","../../../../node_modules/react-native/libraries/types/codegentypesnamespace.d.ts","../../../../node_modules/react-native/libraries/utilities/appearance.d.ts","../../../../node_modules/react-native/libraries/utilities/backhandler.d.ts","../../../../node_modules/react-native/src/private/devsupport/devmenu/devmenu.d.ts","../../../../node_modules/react-native/libraries/utilities/devsettings.d.ts","../../../../node_modules/react-native/libraries/utilities/dimensions.d.ts","../../../../node_modules/react-native/libraries/utilities/pixelratio.d.ts","../../../../node_modules/react-native/libraries/utilities/platform.d.ts","../../../../node_modules/react-native/libraries/vibration/vibration.d.ts","../../../../node_modules/react-native/types/public/deprecatedpropertiesalias.d.ts","../../../../node_modules/react-native/libraries/utilities/codegennativecommands.d.ts","../../../../node_modules/react-native/libraries/utilities/codegennativecomponent.d.ts","../../../../node_modules/react-native/types/index.d.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/types.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/config.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/nativernbackgrounddownloader.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/downloadtask.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/uploadtask.ts","../../../../node_modules/@kesha-antonov/react-native-background-downloader/src/index.ts","../../../../node_modules/@dr.pogodin/react-native-fs/lib/typescript/src/nativereactnativefs.d.ts","../../../../node_modules/@dr.pogodin/react-native-fs/lib/typescript/src/utils.d.ts","../../../../node_modules/@dr.pogodin/react-native-fs/lib/typescript/src/index.d.ts","../../src/constants/directories.ts","../../../react-native-executorch/lib/typescript/types/common.d.ts","../../../react-native-executorch/lib/typescript/utils/resourcefetcher.d.ts","../../../react-native-executorch/lib/typescript/errors/errorcodes.d.ts","../../../react-native-executorch/lib/typescript/errors/errorutils.d.ts","../../../react-native-executorch/lib/typescript/types/classification.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/useclassification.d.ts","../../../react-native-executorch/lib/typescript/constants/commonvision.d.ts","../../../react-native-executorch/lib/typescript/types/objectdetection.d.ts","../../../react-native-executorch/lib/typescript/modules/basemodule.d.ts","../../../react-native-executorch/lib/typescript/modules/baselabeledmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/visionmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/visionlabeledmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/objectdetectionmodule.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/useobjectdetection.d.ts","../../../react-native-executorch/lib/typescript/types/styletransfer.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/usestyletransfer.d.ts","../../../react-native-executorch/lib/typescript/types/semanticsegmentation.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/semanticsegmentationmodule.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/usesemanticsegmentation.d.ts","../../../react-native-executorch/lib/typescript/constants/ocr/symbols.d.ts","../../../react-native-executorch/lib/typescript/types/ocr.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/useocr.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/useverticalocr.d.ts","../../../react-native-executorch/lib/typescript/types/imageembeddings.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/useimageembeddings.d.ts","../../../react-native-executorch/lib/typescript/types/tti.d.ts","../../../react-native-executorch/lib/typescript/hooks/computer_vision/usetexttoimage.d.ts","../../../react-native-executorch/lib/typescript/types/llm.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usellm.d.ts","../../../react-native-executorch/lib/typescript/types/stt.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usespeechtotext.d.ts","../../../react-native-executorch/lib/typescript/types/tts.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usetexttospeech.d.ts","../../../react-native-executorch/lib/typescript/types/textembeddings.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usetextembeddings.d.ts","../../../react-native-executorch/lib/typescript/types/tokenizer.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usetokenizer.d.ts","../../../react-native-executorch/lib/typescript/types/vad.d.ts","../../../react-native-executorch/lib/typescript/hooks/natural_language_processing/usevad.d.ts","../../../react-native-executorch/lib/typescript/types/executorchmodule.d.ts","../../../react-native-executorch/lib/typescript/hooks/general/useexecutorchmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/classificationmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/styletransfermodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/ocrmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/verticalocrmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/imageembeddingsmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/computer_vision/texttoimagemodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/llmmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/speechtotextmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/texttospeechmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/textembeddingsmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/tokenizermodule.d.ts","../../../react-native-executorch/lib/typescript/modules/natural_language_processing/vadmodule.d.ts","../../../react-native-executorch/lib/typescript/modules/general/executorchmodule.d.ts","../../../react-native-executorch/lib/typescript/utils/resourcefetcherutils.d.ts","../../../../node_modules/jsonschema/lib/index.d.ts","../../../../node_modules/zod/v4/core/json-schema.d.cts","../../../../node_modules/zod/v4/core/standard-schema.d.cts","../../../../node_modules/zod/v4/core/registries.d.cts","../../../../node_modules/zod/v4/core/to-json-schema.d.cts","../../../../node_modules/zod/v4/core/util.d.cts","../../../../node_modules/zod/v4/core/versions.d.cts","../../../../node_modules/zod/v4/core/schemas.d.cts","../../../../node_modules/zod/v4/core/checks.d.cts","../../../../node_modules/zod/v4/core/errors.d.cts","../../../../node_modules/zod/v4/core/core.d.cts","../../../../node_modules/zod/v4/core/parse.d.cts","../../../../node_modules/zod/v4/core/regexes.d.cts","../../../../node_modules/zod/v4/locales/ar.d.cts","../../../../node_modules/zod/v4/locales/az.d.cts","../../../../node_modules/zod/v4/locales/be.d.cts","../../../../node_modules/zod/v4/locales/bg.d.cts","../../../../node_modules/zod/v4/locales/ca.d.cts","../../../../node_modules/zod/v4/locales/cs.d.cts","../../../../node_modules/zod/v4/locales/da.d.cts","../../../../node_modules/zod/v4/locales/de.d.cts","../../../../node_modules/zod/v4/locales/en.d.cts","../../../../node_modules/zod/v4/locales/eo.d.cts","../../../../node_modules/zod/v4/locales/es.d.cts","../../../../node_modules/zod/v4/locales/fa.d.cts","../../../../node_modules/zod/v4/locales/fi.d.cts","../../../../node_modules/zod/v4/locales/fr.d.cts","../../../../node_modules/zod/v4/locales/fr-ca.d.cts","../../../../node_modules/zod/v4/locales/he.d.cts","../../../../node_modules/zod/v4/locales/hu.d.cts","../../../../node_modules/zod/v4/locales/hy.d.cts","../../../../node_modules/zod/v4/locales/id.d.cts","../../../../node_modules/zod/v4/locales/is.d.cts","../../../../node_modules/zod/v4/locales/it.d.cts","../../../../node_modules/zod/v4/locales/ja.d.cts","../../../../node_modules/zod/v4/locales/ka.d.cts","../../../../node_modules/zod/v4/locales/kh.d.cts","../../../../node_modules/zod/v4/locales/km.d.cts","../../../../node_modules/zod/v4/locales/ko.d.cts","../../../../node_modules/zod/v4/locales/lt.d.cts","../../../../node_modules/zod/v4/locales/mk.d.cts","../../../../node_modules/zod/v4/locales/ms.d.cts","../../../../node_modules/zod/v4/locales/nl.d.cts","../../../../node_modules/zod/v4/locales/no.d.cts","../../../../node_modules/zod/v4/locales/ota.d.cts","../../../../node_modules/zod/v4/locales/ps.d.cts","../../../../node_modules/zod/v4/locales/pl.d.cts","../../../../node_modules/zod/v4/locales/pt.d.cts","../../../../node_modules/zod/v4/locales/ru.d.cts","../../../../node_modules/zod/v4/locales/sl.d.cts","../../../../node_modules/zod/v4/locales/sv.d.cts","../../../../node_modules/zod/v4/locales/ta.d.cts","../../../../node_modules/zod/v4/locales/th.d.cts","../../../../node_modules/zod/v4/locales/tr.d.cts","../../../../node_modules/zod/v4/locales/ua.d.cts","../../../../node_modules/zod/v4/locales/uk.d.cts","../../../../node_modules/zod/v4/locales/ur.d.cts","../../../../node_modules/zod/v4/locales/uz.d.cts","../../../../node_modules/zod/v4/locales/vi.d.cts","../../../../node_modules/zod/v4/locales/zh-cn.d.cts","../../../../node_modules/zod/v4/locales/zh-tw.d.cts","../../../../node_modules/zod/v4/locales/yo.d.cts","../../../../node_modules/zod/v4/locales/index.d.cts","../../../../node_modules/zod/v4/core/doc.d.cts","../../../../node_modules/zod/v4/core/api.d.cts","../../../../node_modules/zod/v4/core/json-schema-processors.d.cts","../../../../node_modules/zod/v4/core/json-schema-generator.d.cts","../../../../node_modules/zod/v4/core/index.d.cts","../../../react-native-executorch/lib/typescript/utils/llm.d.ts","../../../react-native-executorch/lib/typescript/common/logger.d.ts","../../../react-native-executorch/lib/typescript/utils/llms/context_strategy/messagecountcontextstrategy.d.ts","../../../react-native-executorch/lib/typescript/utils/llms/context_strategy/slidingwindowcontextstrategy.d.ts","../../../react-native-executorch/lib/typescript/utils/llms/context_strategy/noopcontextstrategy.d.ts","../../../react-native-executorch/lib/typescript/utils/llms/context_strategy/index.d.ts","../../../react-native-executorch/lib/typescript/constants/modelurls.d.ts","../../../react-native-executorch/lib/typescript/constants/ocr/models.d.ts","../../../react-native-executorch/lib/typescript/constants/tts/models.d.ts","../../../react-native-executorch/lib/typescript/constants/tts/voices.d.ts","../../../react-native-executorch/lib/typescript/constants/llmdefaults.d.ts","../../../react-native-executorch/lib/typescript/index.d.ts","../../src/resourcefetcherutils.ts","../../src/resourcefetcher.ts","../../src/declarations.d.ts","../../src/index.ts","../../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../../node_modules/@types/node/globals.typedarray.d.ts","../../../../node_modules/@types/node/buffer.buffer.d.ts","../../../../node_modules/@types/node/globals.d.ts","../../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../../node_modules/@types/node/web-globals/blob.d.ts","../../../../node_modules/@types/node/web-globals/console.d.ts","../../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../../node_modules/@types/node/web-globals/events.d.ts","../../../../node_modules/undici-types/utility.d.ts","../../../../node_modules/undici-types/header.d.ts","../../../../node_modules/undici-types/readable.d.ts","../../../../node_modules/undici-types/fetch.d.ts","../../../../node_modules/undici-types/formdata.d.ts","../../../../node_modules/undici-types/connector.d.ts","../../../../node_modules/undici-types/client-stats.d.ts","../../../../node_modules/undici-types/client.d.ts","../../../../node_modules/undici-types/errors.d.ts","../../../../node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/undici-types/global-origin.d.ts","../../../../node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/undici-types/pool.d.ts","../../../../node_modules/undici-types/handlers.d.ts","../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/undici-types/round-robin-pool.d.ts","../../../../node_modules/undici-types/h2c-client.d.ts","../../../../node_modules/undici-types/agent.d.ts","../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/undici-types/mock-call-history.d.ts","../../../../node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/undici-types/mock-client.d.ts","../../../../node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/undici-types/snapshot-agent.d.ts","../../../../node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../../node_modules/undici-types/retry-handler.d.ts","../../../../node_modules/undici-types/retry-agent.d.ts","../../../../node_modules/undici-types/api.d.ts","../../../../node_modules/undici-types/cache-interceptor.d.ts","../../../../node_modules/undici-types/interceptors.d.ts","../../../../node_modules/undici-types/util.d.ts","../../../../node_modules/undici-types/cookies.d.ts","../../../../node_modules/undici-types/patch.d.ts","../../../../node_modules/undici-types/websocket.d.ts","../../../../node_modules/undici-types/eventsource.d.ts","../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/undici-types/content-type.d.ts","../../../../node_modules/undici-types/cache.d.ts","../../../../node_modules/undici-types/index.d.ts","../../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../../node_modules/@types/node/web-globals/performance.d.ts","../../../../node_modules/@types/node/web-globals/storage.d.ts","../../../../node_modules/@types/node/web-globals/streams.d.ts","../../../../node_modules/@types/node/web-globals/timers.d.ts","../../../../node_modules/@types/node/web-globals/url.d.ts","../../../../node_modules/@types/node/assert.d.ts","../../../../node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/@types/node/buffer.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/diagnostics_channel.d.ts","../../../../node_modules/@types/node/dns.d.ts","../../../../node_modules/@types/node/dns/promises.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/inspector.generated.d.ts","../../../../node_modules/@types/node/inspector/promises.d.ts","../../../../node_modules/@types/node/module.d.ts","../../../../node_modules/@types/node/net.d.ts","../../../../node_modules/buffer/index.d.ts","../../../../node_modules/@types/node/os.d.ts","../../../../node_modules/@types/node/path.d.ts","../../../../node_modules/@types/node/path/posix.d.ts","../../../../node_modules/@types/node/path/win32.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/quic.d.ts","../../../../node_modules/@types/node/readline.d.ts","../../../../node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/@types/node/repl.d.ts","../../../../node_modules/@types/node/sea.d.ts","../../../../node_modules/@types/node/sqlite.d.ts","../../../../node_modules/@types/node/stream.d.ts","../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/@types/node/stream/web.d.ts","../../../../node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/@types/node/test.d.ts","../../../../node_modules/@types/node/test/reporters.d.ts","../../../../node_modules/@types/node/timers.d.ts","../../../../node_modules/@types/node/timers/promises.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/@types/node/url.d.ts","../../../../node_modules/@types/node/util.d.ts","../../../../node_modules/@types/node/util/types.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/index.d.ts"],"fileIdsList":[[186,187,331,394,402,406,409,411,412,413,426],[179,331,394,402,406,409,411,412,413,426],[331,394,402,406,409,411,412,413,426],[180,331,394,402,406,409,411,412,413,426],[180,181,182,331,394,402,406,409,411,412,413,426],[179,180,181,182,183,184,331,394,402,406,409,411,412,413,426],[84,179,180,331,394,402,406,409,411,412,413,426],[105,331,394,402,406,409,411,412,413,426],[90,179,331,394,402,406,409,411,412,413,426],[331,391,392,394,402,406,409,411,412,413,426],[331,393,394,402,406,409,411,412,413,426],[394,402,406,409,411,412,413,426],[331,394,402,406,409,411,412,413,426,434],[331,394,395,400,402,405,406,409,411,412,413,415,426,431,443],[331,394,395,396,402,405,406,409,411,412,413,426],[331,394,397,402,406,409,411,412,413,426,444],[331,394,398,399,402,406,409,411,412,413,417,426],[331,394,399,402,406,409,411,412,413,426,431,440],[331,394,400,402,405,406,409,411,412,413,415,426],[331,393,394,401,402,406,409,411,412,413,426],[331,394,402,403,406,409,411,412,413,426],[331,394,402,404,405,406,409,411,412,413,426],[331,393,394,402,405,406,409,411,412,413,426],[331,394,402,405,406,407,409,411,412,413,426,431,443],[331,394,402,405,406,407,409,411,412,413,426,431,434],[331,381,394,402,405,406,408,409,411,412,413,415,426,431,443],[331,394,402,405,406,408,409,411,412,413,415,426,431,440,443],[331,394,402,406,408,409,410,411,412,413,426,431,440,443],[329,330,331,332,333,334,335,336,337,338,339,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450],[331,394,402,405,406,409,411,412,413,426],[331,394,402,406,409,411,413,426],[331,394,402,406,409,411,412,413,414,426,443],[331,394,402,405,406,409,411,412,413,415,426,431],[331,394,402,406,409,411,412,413,417,426],[331,394,402,406,409,411,412,413,418,426],[331,394,402,405,406,409,411,412,413,421,426],[331,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450],[331,394,402,406,409,411,412,413,423,426],[331,394,402,406,409,411,412,413,424,426],[331,394,399,402,406,409,411,412,413,415,426,434],[331,394,402,405,406,409,411,412,413,426,427],[331,394,402,406,409,411,412,413,426,428,444,447],[331,394,402,405,406,409,411,412,413,426,431,433,434],[331,394,402,406,409,411,412,413,426,432,434],[331,394,402,406,409,411,412,413,426,434,444],[331,394,402,406,409,411,412,413,426,435],[331,391,394,402,406,409,411,412,413,426,431,437,443],[331,394,402,406,409,411,412,413,426,431,436],[331,394,402,405,406,409,411,412,413,426,438,439],[331,394,402,406,409,411,412,413,426,438,439],[331,394,399,402,406,409,411,412,413,415,426,431,440],[331,394,402,406,409,411,412,413,426,441],[331,394,402,406,409,411,412,413,415,426,442],[331,394,402,406,408,409,411,412,413,424,426,443],[331,394,402,406,409,411,412,413,426,444,445],[331,394,399,402,406,409,411,412,413,426,445],[331,394,402,406,409,411,412,413,426,431,446],[331,394,402,406,409,411,412,413,414,426,447],[331,394,402,406,409,411,412,413,426,448],[331,394,397,402,406,409,411,412,413,426],[331,394,399,402,406,409,411,412,413,426],[331,394,402,406,409,411,412,413,426,444],[331,381,394,402,406,409,411,412,413,426],[331,394,402,406,409,411,412,413,426,443],[331,394,402,406,409,411,412,413,426,449],[331,394,402,406,409,411,412,413,421,426],[331,394,402,406,409,411,412,413,426,439],[331,381,394,402,405,406,407,409,411,412,413,421,426,431,434,443,446,447,449],[331,394,402,406,409,411,412,413,426,431,450],[88,89,331,394,402,406,409,411,412,413,426],[113,114,331,394,402,406,409,411,412,413,426],[90,94,100,101,104,107,109,110,113,331,394,402,406,409,411,412,413,426],[111,331,394,402,406,409,411,412,413,426],[120,331,394,402,406,409,411,412,413,426],[83,93,331,394,402,406,409,411,412,413,426],[90,91,93,94,98,112,113,331,394,402,406,409,411,412,413,426],[90,113,142,143,331,394,402,406,409,411,412,413,426],[90,91,93,94,98,113,331,394,402,406,409,411,412,413,426],[83,127,331,394,402,406,409,411,412,413,426],[90,91,98,112,113,129,331,394,402,406,409,411,412,413,426],[90,331,394,402,406,409,411,412,413,426],[90,92,94,97,98,100,112,113,331,394,402,406,409,411,412,413,426],[90,91,93,98,113,331,394,402,406,409,411,412,413,426],[90,91,93,98,331,394,402,406,409,411,412,413,426],[90,91,92,93,94,96,98,99,100,112,113,331,394,402,406,409,411,412,413,426],[90,113,331,394,402,406,409,411,412,413,426],[90,112,113,331,394,402,406,409,411,412,413,426],[83,90,91,93,94,97,98,112,113,129,331,394,402,406,409,411,412,413,426],[90,92,94,331,394,402,406,409,411,412,413,426],[90,100,112,113,140,331,394,402,406,409,411,412,413,426],[90,91,96,113,140,142,331,394,402,406,409,411,412,413,426],[90,100,140,331,394,402,406,409,411,412,413,426],[90,91,92,94,96,97,112,113,129,331,394,402,406,409,411,412,413,426],[94,331,394,402,406,409,411,412,413,426],[90,92,94,95,96,97,112,113,331,394,402,406,409,411,412,413,426],[83,331,394,402,406,409,411,412,413,426],[119,331,394,402,406,409,411,412,413,426],[90,91,92,93,94,97,102,103,112,113,331,394,402,406,409,411,412,413,426],[94,95,331,394,402,406,409,411,412,413,426],[90,100,101,106,112,113,331,394,402,406,409,411,412,413,426],[90,101,106,108,112,113,331,394,402,406,409,411,412,413,426],[90,94,98,113,331,394,402,406,409,411,412,413,426],[90,112,155,331,394,402,406,409,411,412,413,426],[93,331,394,402,406,409,411,412,413,426],[90,93,331,394,402,406,409,411,412,413,426],[113,331,394,402,406,409,411,412,413,426],[112,331,394,402,406,409,411,412,413,426],[102,111,113,331,394,402,406,409,411,412,413,426],[90,91,93,94,97,112,113,331,394,402,406,409,411,412,413,426],[165,331,394,402,406,409,411,412,413,426],[83,179,331,394,402,406,409,411,412,413,426],[127,331,394,402,406,409,411,412,413,426],[86,331,394,402,406,409,411,412,413,426],[82,83,84,85,86,87,92,93,94,95,96,97,98,99,100,101,102,103,104,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,331,394,402,406,409,411,412,413,426],[85,331,394,402,406,409,411,412,413,426],[331,346,349,352,353,394,402,406,409,411,412,413,426,443],[331,349,394,402,406,409,411,412,413,426,431,443],[331,349,353,394,402,406,409,411,412,413,426,443],[331,394,402,406,409,411,412,413,426,431],[331,343,394,402,406,409,411,412,413,426],[331,347,394,402,406,409,411,412,413,426],[331,345,346,349,394,402,406,409,411,412,413,426,443],[331,394,402,406,409,411,412,413,415,426,440],[331,394,402,406,409,411,412,413,426,451],[331,343,394,402,406,409,411,412,413,426,451],[331,345,349,394,402,406,409,411,412,413,415,426,443],[331,340,341,342,344,348,394,402,405,406,409,411,412,413,426,431,443],[331,349,358,366,394,402,406,409,411,412,413,426],[331,341,347,394,402,406,409,411,412,413,426],[331,349,375,376,394,402,406,409,411,412,413,426],[331,341,344,349,394,402,406,409,411,412,413,426,434,443,451],[331,349,394,402,406,409,411,412,413,426],[331,345,349,394,402,406,409,411,412,413,426,443],[331,340,394,402,406,409,411,412,413,426],[331,343,344,345,347,348,349,350,351,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,376,377,378,379,380,394,402,406,409,411,412,413,426],[331,349,368,371,394,402,406,409,411,412,413,426],[331,349,358,359,360,394,402,406,409,411,412,413,426],[331,347,349,359,361,394,402,406,409,411,412,413,426],[331,348,394,402,406,409,411,412,413,426],[331,341,343,349,394,402,406,409,411,412,413,426],[331,349,353,359,361,394,402,406,409,411,412,413,426],[331,353,394,402,406,409,411,412,413,426],[331,347,349,352,394,402,406,409,411,412,413,426,443],[331,341,345,349,358,394,402,406,409,411,412,413,426],[331,349,368,394,402,406,409,411,412,413,426],[331,361,394,402,406,409,411,412,413,426],[331,343,349,375,394,402,406,409,411,412,413,426,434,449,451],[248,250,252,253,254,255,331,394,402,406,409,411,412,413,426],[250,252,254,255,331,394,402,406,409,411,412,413,426],[250,252,254,331,394,402,406,409,411,412,413,426],[247,250,252,253,255,331,394,402,406,409,411,412,413,426],[246,248,249,250,251,252,253,254,255,256,257,307,308,309,310,311,331,394,402,406,409,411,412,413,426],[246,248,249,252,331,394,402,406,409,411,412,413,426],[248,249,252,331,394,402,406,409,411,412,413,426],[252,255,331,394,402,406,409,411,412,413,426],[246,247,249,250,251,253,254,255,331,394,402,406,409,411,412,413,426],[246,247,248,252,312,331,394,402,406,409,411,412,413,426],[252,253,254,255,331,394,402,406,409,411,412,413,426],[254,331,394,402,406,409,411,412,413,426],[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,331,394,402,406,409,411,412,413,426],[327,331,394,402,406,409,411,412,413,426],[326,331,394,402,406,409,411,412,413,426],[179,189,324,325,327,331,394,402,406,409,411,412,413,426],[179,189,324,327,331,394,402,406,409,411,412,413,426],[190,331,394,402,406,409,411,412,413,426],[217,331,394,402,406,409,411,412,413,426],[221,331,394,402,406,409,411,412,413,426],[192,331,394,402,406,409,411,412,413,426],[194,331,394,402,406,409,411,412,413,426],[213,331,394,402,406,409,411,412,413,426],[197,202,331,394,402,406,409,411,412,413,426],[210,331,394,402,406,409,411,412,413,426],[206,207,331,394,402,406,409,411,412,413,426],[204,331,394,402,406,409,411,412,413,426],[215,331,394,402,406,409,411,412,413,426],[229,331,394,402,406,409,411,412,413,426],[219,331,394,402,406,409,411,412,413,426],[223,331,394,402,406,409,411,412,413,426],[225,331,394,402,406,409,411,412,413,426],[227,331,394,402,406,409,411,412,413,426],[190,191,192,193,194,195,196,197,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,313,314,318,319,320,321,322,323,331,394,402,406,409,411,412,413,426],[190,198,331,394,402,406,409,411,412,413,426],[190,196,197,199,201,331,394,402,406,409,411,412,413,426],[190,210,331,394,402,406,409,411,412,413,426],[190,199,206,331,394,402,406,409,411,412,413,426],[190,200,331,394,402,406,409,411,412,413,426],[190,217,331,394,402,406,409,411,412,413,426],[190,198,227,331,394,402,406,409,411,412,413,426],[190,193,331,394,402,406,409,411,412,413,426],[190,193,196,331,394,402,406,409,411,412,413,426],[190,193,209,331,394,402,406,409,411,412,413,426],[217,245,312,331,394,402,406,409,411,412,413,426],[315,316,317,331,394,402,406,409,411,412,413,426],[324,331,394,402,406,409,411,412,413,426]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3a909e8789a4f8b5377ef3fb8dc10d0c0a090c03f2e40aab599534727457475a","affectsGlobalScope":true,"impliedFormat":1},{"version":"fd412dd6372493eb8e3e95cae8687d35e4d34dde905a33e0ee47b74224cdd6ab","impliedFormat":1},{"version":"9d3b119c15e8eeb9a8fbeca47e0165ca7120704d90bf123b16ee5b612e2ecc9d","impliedFormat":1},{"version":"9f66eb21b8f041974625ec8f8ab3c6c36990b900b053ba962bb8b233301c8e47","impliedFormat":1},{"version":"005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","impliedFormat":1},{"version":"54ccb63049fb6d1d3635f3dc313ebfe3a8059f6b6afa8b9d670579534f6e25a6","affectsGlobalScope":true,"impliedFormat":1},{"version":"170d4db14678c68178ee8a3d5a990d5afb759ecb6ec44dbd885c50f6da6204f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"9dd1cf136b687969888de067d0384593097f32e9a378b187d150d9405151c6cb","impliedFormat":1},{"version":"232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","impliedFormat":1},{"version":"e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","impliedFormat":1},{"version":"d11cbcaf3a54861b1d348ba2adeeba67976ce0b33eef5ea6e4bddc023d2ac4b2","impliedFormat":1},{"version":"cf1e23408bb2e38cb90d109cf8027c829f19424ad7a611c74edf39e1f195fe22","impliedFormat":1},{"version":"8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","impliedFormat":1},{"version":"91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","impliedFormat":1},{"version":"c5dc49c81f9cb20dff16b7933b50e19ac3565430cf685bbe51bcbcdb760fc03f","impliedFormat":1},{"version":"d78d4bc8bbda13ed147b23e63ff4ac83e3dcf4f07012afadd59e8a62473b5894","impliedFormat":1},{"version":"3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","impliedFormat":1},{"version":"1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","impliedFormat":1},{"version":"24b6109bdf5e2027f0a4366b9e1f988d648f08ea3748ebd690e76bba65115bf9","impliedFormat":1},{"version":"e7d56fa3c64c44b29fa11d840b1fe04f6d782fc2e341a1f01b987f5e59f34266","impliedFormat":1},{"version":"0f86beb951b048eb7e0a17609e934a59a8686683b2134632975baeacaf53c23d","impliedFormat":1},{"version":"e1835114d3449689778b4d41a5dde326cf82c5d13ddd902a9b71f5bf223390fb","impliedFormat":1},{"version":"16000ce3a50ff9513f802cef9ec1ce95d4b93ce251d01fd82d5c61a34e0e35bd","impliedFormat":1},{"version":"42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","impliedFormat":1},{"version":"4e1bfec0f44a463f25cc26528a4505bc592feef555706311a143481f69a21d6f","impliedFormat":1},{"version":"cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","impliedFormat":1},{"version":"60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","impliedFormat":1},{"version":"35e068ea47e779f232417d5c9fd595af9a85d26b2b77f89ae6afce17343d31e7","impliedFormat":1},{"version":"623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","impliedFormat":1},{"version":"70533e87167cf88facbec8ef771f9ad98021d796239c1e6f7826e0f386a725be","impliedFormat":1},{"version":"79d6871ce0da76f4c865a58daa509d5c8a10545d510b804501daa5d0626e7028","impliedFormat":1},{"version":"9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","impliedFormat":1},{"version":"c6b68cd2e7838e91e05ede0a686815f521024281768f338644f6c0e0ad8e63cd","impliedFormat":1},{"version":"20c7a8cb00fda35bf50333488657c20fd36b9af9acb550f8410ef3e9bef51ef0","impliedFormat":1},{"version":"c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","impliedFormat":1},{"version":"2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","impliedFormat":1},{"version":"b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","impliedFormat":1},{"version":"5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","impliedFormat":1},{"version":"7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","impliedFormat":1},{"version":"df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","impliedFormat":1},{"version":"92c10b9a2fcc6e4e4a781c22a97a0dac735e29b9059ecb6a7fa18d5b6916983b","impliedFormat":1},{"version":"8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","impliedFormat":1},{"version":"084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","impliedFormat":1},{"version":"9235e7b554d1c15ea04977b69cd123c79bd10f81704479ad5145e34d0205bf07","impliedFormat":1},{"version":"0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","impliedFormat":1},{"version":"269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","impliedFormat":1},{"version":"a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","impliedFormat":1},{"version":"486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","impliedFormat":1},{"version":"039f0a1f6d67514bbfea62ffbb0822007ce35ba180853ec9034431f60f63dbe6","impliedFormat":1},{"version":"fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","impliedFormat":1},{"version":"5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","impliedFormat":1},{"version":"71a9a3cf1e644ec071aa3ec6417ad05aae80c7bd55ef49b011be3cf1f17b7421","impliedFormat":1},{"version":"b7d1cdc9810b334734a7d607c195daa721df6d114d99e96d595ff52db1df627b","impliedFormat":1},{"version":"79150b9d6ee93942e4e45dddf3ef823b7298b3dda0a894ac8235206cf2909587","impliedFormat":1},{"version":"77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","impliedFormat":1},{"version":"57b242af775e000ef0e0abb946542b0094fdb761ea52affb69b59b85ad83d34f","impliedFormat":1},{"version":"75ff8ea2c0c632719c14f50849c1fc7aa2d49f42b08c54373688536b3f995ee7","impliedFormat":1},{"version":"85a915dbb768b89cb92f5e6c165d776bfebd065883c34fee4e0219c3ed321b47","impliedFormat":1},{"version":"83df2f39cb14971adea51d1c84e7d146a34e9b7f84ad118450a51bdc3138412c","impliedFormat":1},{"version":"96d6742b440a834780d550fffc57d94d0aece2e04e485bce8d817dc5fb9b05d7","impliedFormat":1},{"version":"bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","impliedFormat":1},{"version":"7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","impliedFormat":1},{"version":"f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","impliedFormat":1},{"version":"9da2649fb89af9bd08b2215621ad1cfda50f798d0acbd0d5fee2274ee940c827","impliedFormat":1},{"version":"df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","impliedFormat":1},{"version":"595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","impliedFormat":1},{"version":"737fc8159cb99bf39a201c4d7097e92ad654927da76a1297ace7ffe358a2eda3","impliedFormat":1},{"version":"e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","impliedFormat":1},{"version":"676088e53ca31e9e21e53f5a8996345d1b8a7d153737208029db964279004c3e","impliedFormat":1},{"version":"de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","impliedFormat":1},{"version":"896e4b676a6f55ca66d40856b63ec2ff7f4f594d6350f8ae04eaee8876da0bc5","impliedFormat":1},{"version":"0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","impliedFormat":1},{"version":"869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","impliedFormat":1},{"version":"bc7b5906a6ce6c5744a640c314e020856be6c50a693e77dc12aff2d77b12ca76","impliedFormat":1},{"version":"56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","impliedFormat":1},{"version":"6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","impliedFormat":1},{"version":"2586bc43511ba0f0c4d8e35dacf25ed596dde8ec50b9598ecd80194af52f992f","impliedFormat":1},{"version":"a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","impliedFormat":1},{"version":"b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","impliedFormat":1},{"version":"9a9fba3a20769b0a74923e7032997451b61c1bd371c519429b29019399040d74","impliedFormat":1},{"version":"4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","impliedFormat":1},{"version":"d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","impliedFormat":1},{"version":"ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","impliedFormat":1},{"version":"32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","impliedFormat":1},{"version":"29befd9bb08a9ed1660fd7ac0bc2ad24a56da550b75b8334ac76c2cfceda974a","impliedFormat":1},{"version":"5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","impliedFormat":1},{"version":"0aba767f26742d337f50e46f702a95f83ce694101fa9b8455786928a5672bb9b","impliedFormat":1},{"version":"8db57d8da0ab49e839fb2d0874cfe456553077d387f423a7730c54ef5f494318","impliedFormat":1},{"version":"ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","impliedFormat":1},{"version":"cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","impliedFormat":1},{"version":"16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","impliedFormat":1},{"version":"52e8612d284467b4417143ca8fe54d30145fdfc3815f5b5ea9b14b677f422be5","impliedFormat":1},{"version":"a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","impliedFormat":1},{"version":"151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d","impliedFormat":1},{"version":"412a06aa68e902bc67d69f381c06f8fd52497921c5746fabddadd44f624741f5","impliedFormat":1},{"version":"c469120d20804fda2fc836f4d7007dfd5c1cef70443868858cb524fd6e54def1","impliedFormat":1},{"version":"a32cc760d7c937dde05523434e3d7036dd6ca0ba8cb69b8f4f9557ffd80028b7","impliedFormat":1},{"version":"48538435bb0c9b00f2dd11a64a84d4e932c9b21a90a4797ef34242cfee368cba","impliedFormat":1},{"version":"c59e4d72a8f0a30fc56ff0e3caf4fb102dba3c5fcc00acdc15d761a757813d79","impliedFormat":1},{"version":"ac1aa27bfee4a03f5f2ae389c16622d4775c7537c8efbbf2ea89c4d02511c662","impliedFormat":1},{"version":"58005ebc2c5ed8fee37f2de3f6c79fea3511eb2ebd67baf50d59ff3815e04dde","impliedFormat":1},{"version":"019ce220000437db46b9a4522acb3db6adfa19b07cf32effea9c03ff3c30a789","impliedFormat":1},{"version":"311384762d2269ef1cb228766aea72e5a4ce9fbadac32eaf70c6a307cedaf78d","impliedFormat":1},{"version":"03b6445a96f2b745a119b25e67d5a0cc07861a991da921f9a6a3f68e612e4390","impliedFormat":99},{"version":"b99690b5222fafe0c64c55263dd7f878d28b05c1342410c44f85138a57b91e2e","impliedFormat":99},{"version":"848d5ba405670223bb90f53a75df12b77fa3a022ad07b2448a94d3a14c3905f2","impliedFormat":99},{"version":"9b9983f27a7f1ad2eaaf8fef6561ee20a34c5134d748a013457360b506acfdc2","signature":"01f05d96b243a9afbb5430f6394b2b4afba1a47f7f6a5840901b879954d1e7fa"},"c8b522443467b7879bea12bc0949cbf39588d32b4a7c7b38cfa51aed08acb67d","6b87048834cd18b6db0dc8cbf3d43cb90e575b34cd47f55b8dd320031e418179","7b341d432d53d98a8f18a633a9272f6fe216ded345677a234bf7eead55ce2c94","ad7c3dbd5deffe7fa1459a79cde872165cff6a3775a273ac4ec544f0bb9a3bdb","86b731dca74feba8f442550a9ab0be81e9700926c1b43da34ec4c1423acc3715","3681e8597d659c72f0509825375420fd147a68f402cf7b076e76f0cba46df36a","5f65eb084799de26479d38e84fbc21364e8e429b6463cabfddcb074269b9d9e3","7de4e924516fdcef54d27bcfd777e8623ec242753eabc1373bd7528f3f4748e7","9fdf0c48d6c150d72649ea559397cca91f7dd106909549e1bd385de4ef57aa26","9b0031454718b15b5ed62cafd97a65bc1e49eb490c958569d18875056244b15d","5a102c27838acf4043a0c74a6b5f2bf11646c441dc47e2620e6d097d4c6857a6","2508ad97ec8e1757b7145fc7b59fff8c7dca4b5355a4fd42ed94b57e1c987c2b","61656be6b2f920ff2edb243bea1a75905599b05c52512b80f2a2aaf468a40848","788ee38b71e887d2a8c59d80aca2110643f61901ed47820e87f2496d58d456c5","9f3a0eb970512e53f785abc02551c146720d0f67200f26c42b1e54f7012504da","7fb8cba71f66f5ab9f8709706b71bcba1de095fed120be36f40ffe976ecc885a","55a165b24452a7197783577f892862f333e169be49941dca30a52e58fc9af6dd","c09a74a808a6a2e080356ec7f09ecdb86b065ce6fbe616172a24a60004b44cc9","10c88c1b814d47f43420b7a787eb63e0348b3c22f3068cfacfaecbafa9df9f4a","06c88cbbe41afdd04d9cd0f5181aa70c99e927c52fb29244405ce04e118c3827","9d1704403d72f2949cabd34c504d26adf8db746d046c972379df5189b60cd47a","78f800a57502cdd7c7f29a6c01ec3d161cc3796f0bfa9766d83c7d6449cc906b","cb49cb1ed39d6b9999e62b83a5aa9d1caf36acfc58b31d4eb9ac712af4308f52","7717bbe2ba392bd2bb38ac14e63fc7d080dbbcecde065fd6af60ed1bb666f2a0","e10ee8944ddce506b71eb332d8ae527383209787e8e93191bc8fe139d89edeb7","c180840b02f21dfd0d9f37a7784192238876f6217a552882d1cce839e37fc317","c21f991f1145fed7a3106194d254d4966b9ecb0de9893599ccd9907760b23f98","8d715b56e6e38f758d9c5d660840f328d4fd2ac97f433d94d5c9f2102d105b21","a0e4f7d0b20a909eede892aeeaa1fcfc2ccce953ff4317e5f2a8bc5ae8f6dbff","32ca386161e5650588833e4de6e54430ea061772f5ec603bfc5ca115d9860302","8d0a540219b9c1b569e14fa85ebbd426457597e437306852e3a4817d2f345c1a","f84e892554d75a296d35f932eafb88d9097b88068057bdb9e4e8e69f698884ef","86d649ae647910d85266f4f9882d62b7484d5e8424cf2b454d841f46387a6676","cc7413a6331fef51e3aceeb963d1ebd8c9aeab681400dcd76add4cd4b957847b","840f7d8f288648ae7ec366d1eca49dc2051a3d4b1f2ca5c8c934cdbbbfb9a794","55d0ad789741fa58e6390fe3b5635f297192a30a97c869c9db4dd60e47cdd8b9","6957e58f112a784bb3bdbd9cabec153b26cf404e9db0c5a39740d004bd16ed3c","cfca4606ccac17d58653ca317a60758658d4797495b3ae8f2cebe4f0364df531","e453aad9c26b345e7ff8f4d1867cbf52c3665e4359b49e848cc4576ea94827ed","1691e31de3c6cbe1c8d0317a9ddfc36e2dbc4fe18605ddf432d434b11909103f","8d1ed28ad70c3a3514f41077825a11b67d6cf89a7fe12defec189a969102460f","95a58ada6fa0fc6a912b967dddd6e48e064189da3ea85d1bf67e91eb2beb2955","6dbc1cc7aa1cabf4411c3ae58a4cbbb938d8c81827550ae30b4ebb43e3f9cadf","806687997c7059e5030496115fb56d528ab91311e2a91f0bd007b455d0e25883","7ca6da86e54beeae03cdb2de11c6b8fe681777362633fa05986461c9be45e290","8fa8aba48eed14439f21d75392bf8786e5af2df5185276de1760f6f01de383d6","7a3b3144fb4510f1eb4872f1608ca27627f93e7fde43e5acce6ef405c4be931f","1fa67c1921f1b402055cdfb136e5e0304ffc0f914ff02727294dc203c5316714","0068794b26679bea1dc4640c46c51160f9235e6cf8345d3520ef9684844b9f01","23b310152fc216f55311a1a38feacd6d9bac5994e161aa3a07d05d1cdd80d62f","b320e6fb9b5a923a134ad9dca91d552e50c7bea42c505ab4482964ad6cc5107f","1ef3da1207f8b2331736a470198a3e029622bf9234057113d33568f7e0b6eaea","535806d9cd8424d3a9927d03b436805acb2b54155d4304056dee78685f2d28c4","e0ae7ae7441862560ba61ab904624e18ceca5cebb559ccd04ace09df1ca73486","9493430bcc6806aa13573fd4b7bc6766717420def3666b6f4765e2acfd860d6c",{"version":"c4f14496c33e271fdb86a102fa8d5417abd19eef2c50c003dd9b1d324ce4e4b2","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},"c4d75beddeec661f80e377ee3745de66622afccd706bdc115df53fd2ddc649d7","5256aa0851f2c8fdead3a50804c0248f97c9185d295c5df92f5a4823a93f6095","52e19a1176e2a9234b27288ebc83e04f070993e53b4e2ff0c132b5a0f04d53f9","3b9c1f959d4d47fdad8b4a7eb8c5df8c367e1ef991344c3f074a37425d180e3d","2e380aa398547706cc2ff361b8ccc0844a4bc7aeeffceca3df9a87d209d396d4","0a4ba51ac5beccee5ca3f9e2bdaec3185ff2c2ca5b1118185ae1b7c3be1055d1","e3d8c97ef985aaa2ac3aab6b2e6f69cfa6f09aac6ebda5e65ac5108eeb2a7fe8","adc72329a436885ba7fd1455c87c778fea6120a7bd38dede3f0c6b5979a01d35","8529c2c67429b8b59d45dc091b5b8cee26d69f90b093a06d861a694e3507a465","bb1f8b129ed4d5b93f572a2cfe047f8447cf164a274d80bcae7480808d486ef2","497530d798d745daec8aa3b18b402af294394d147be6c649cdf1d696b2b809c8",{"version":"596730725c1ace4f58c5d0c6ba340cd1441e4370ac722b0c7095f37bf5a7653f","affectsGlobalScope":true},{"version":"0c4ad167b75e307672b0f965fcb16f378f433da88f839cecf448e6536462f08d","signature":"4f1767e73fee41e39191289b4e813d7ade370b9290b4ce1d42573449f7b25b99"},{"version":"05f60a4ecc80245b002eb335b986d967468b05b64c7f6ba4e29fe9f64ca0764f","signature":"eb6458f10a1f38534234b16a23c29348e8a116286718f00d1f72a3194adb167a"},"8d636b88d20bae647bc3c451018efeb83349d8510e8bc59e82768a2ddc1df016","d1de16bed4d3a60da122800365fac6e65ef2823e2bd9ec0419dfd02d62842e01",{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"438b41419b1df9f1fbe33b5e1b18f5853432be205991d1b19f5b7f351675541e","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"24371e69a38fc33e268d4a8716dbcda430d6c2c414a99ff9669239c4b8f40dea","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"c63b9ada8c72f95aac5db92aea07e5e87ec810353cdf63b2d78f49a58662cf6c","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"435b3711465425770ed2ee2f1cf00ce071835265e0851a7dc4600ab4b007550e","impliedFormat":1},{"version":"7e49f52a159435fc8df4de9dc377ef5860732ca2dc9efec1640531d3cf5da7a3","impliedFormat":1},{"version":"dd4bde4bdc2e5394aed6855e98cf135dfdf5dd6468cad842e03116d31bbcc9bc","impliedFormat":1},{"version":"4d4e879009a84a47c05350b8dca823036ba3a29a3038efed1be76c9f81e45edf","affectsGlobalScope":true,"impliedFormat":1},{"version":"237ba5ac2a95702a114a309e39c53a5bddff5f6333b325db9764df9b34f3502b","impliedFormat":1},{"version":"9ba13b47cb450a438e3076c4a3f6afb9dc85e17eae50f26d4b2d72c0688c9251","impliedFormat":1},{"version":"b64cd4401633ea4ecadfd700ddc8323a13b63b106ac7127c1d2726f32424622c","impliedFormat":1},{"version":"37c6e5fe5715814412b43cc9b50b24c67a63c4e04e753e0d1305970d65417a60","impliedFormat":1},{"version":"1d024184fb57c58c5c91823f9d10b4915a4867b7934e89115fd0d861a9df27c8","impliedFormat":1},{"version":"ee0e4946247f842c6dd483cbb60a5e6b484fee07996e3a7bc7343dfb68a04c5d","impliedFormat":1},{"version":"ef051f42b7e0ef5ca04552f54c4552eac84099d64b6c5ad0ef4033574b6035b8","impliedFormat":1},{"version":"853a43154f1d01b0173d9cbd74063507ece57170bad7a3b68f3fa1229ad0a92f","impliedFormat":1},{"version":"56231e3c39a031bfb0afb797690b20ed4537670c93c0318b72d5180833d98b72","impliedFormat":1},{"version":"5cc7c39031bfd8b00ad58f32143d59eb6ffc24f5d41a20931269011dccd36c5e","impliedFormat":1},{"version":"b0b69c61b0f0ec8ca15db4c8c41f6e77f4cacb784d42bca948f42dea33e8757e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f96a48183254c00d24575401f1a761b4ce4927d927407e7862a83e06ce5d6964","impliedFormat":1},{"version":"cc25940cfb27aa538e60d465f98bb5068d4d7d33131861ace43f04fe6947d68f","impliedFormat":1},{"version":"f83fb2b1338afbb3f9d733c7d6e8b135826c41b0518867df0c0ace18ae1aa270","impliedFormat":1},{"version":"01ff95aa1443e3f7248974e5a771f513cb2ac158c8898f470a1792f817bee497","impliedFormat":1},{"version":"757227c8b345c57d76f7f0e3bbad7a91ffca23f1b2547cbed9e10025816c9cb7","impliedFormat":1},{"version":"42a05d8f239f74587d4926aba8cc54792eed8e8a442c7adc9b38b516642aadfe","impliedFormat":1},{"version":"5d21b58d60383cc6ab9ad3d3e265d7d25af24a2c9b506247e0e50b0a884920be","impliedFormat":1},{"version":"101f482fd48cb4c7c0468dcc6d62c843d842977aea6235644b1edd05e81fbf22","impliedFormat":1},{"version":"ae6757460f37078884b1571a3de3ebaf724d827d7e1d53626c02b3c2a408ac63","affectsGlobalScope":true,"impliedFormat":1},{"version":"9451a46a89ed209e2e08329e6cac59f89356eae79a7230f916d8cc38725407c7","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"3ef397f12387eff17f550bc484ea7c27d21d43816bbe609d495107f44b97e933","impliedFormat":1},{"version":"1023282e2ba810bc07905d3668349fbd37a26411f0c8f94a70ef3c05fe523fcf","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"e236b5eba291f51bdf32c231673e6cab81b5410850e61f51a7a524dddadc0f95","impliedFormat":1},{"version":"f7ba0e839daa0702e3ff1a1a871c0d8ea2d586ce684dd8a72c786c36a680b1d9","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f2c62938251b45715fd2a9887060ec4fbc8724727029d1cbce373747252bdd7","impliedFormat":1},{"version":"e3ace08b6bbd84655d41e244677b474fd995923ffef7149ddb68af8848b60b05","impliedFormat":1},{"version":"132580b0e86c48fab152bab850fc57a4b74fe915c8958d2ccb052b809a44b61c","impliedFormat":1},{"version":"af4ab0aa8908fc9a655bb833d3bc28e117c4f0e1038c5a891546158beb25accb","impliedFormat":1},{"version":"69c9a5a9392e8564bd81116e1ed93b13205201fb44cb35a7fde8c9f9e21c4b23","impliedFormat":1},{"version":"5f8fc37f8434691ffac1bfd8fc2634647da2c0e84253ab5d2dd19a7718915b35","impliedFormat":1},{"version":"5981c2340fd8b076cae8efbae818d42c11ffc615994cb060b1cd390795f1be2b","impliedFormat":1},{"version":"f64deb26664af64dc274637343bde8d82f930c77af05a412c7d310b77207a448","impliedFormat":1},{"version":"ed4f674fc8c0c993cc7e145069ac44129e03519b910c62be206a0cc777bdc60b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0250da3eb85c99624f974e77ef355cdf86f43980251bc371475c2b397ba55bcd","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"3d3a5f27ffbc06c885dd4d5f9ee20de61faf877fe2c3a7051c4825903d9a7fdc","impliedFormat":1},{"version":"12806f9f085598ef930edaf2467a5fa1789a878fba077cd27e85dc5851e11834","impliedFormat":1},{"version":"bce309f4d9b67c18d4eeff5bba6cf3e67b2b0aead9f03f75d6060c553974d7ba","impliedFormat":1},{"version":"a43fe41c33d0a192a0ecaf9b92e87bef3709c9972e6d53c42c49251ccb962d69","impliedFormat":1},{"version":"a177959203c017fad3ecc4f3d96c8757a840957a4959a3ae00dab9d35961ca6c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc727ccf9b36e257ff982ea0badeffbfc2c151802f741bddff00c6af3b784cf","impliedFormat":1},{"version":"fde38b23ab057617351c1676047d3317f651b1a6d207084e41c056ed158a77f9","impliedFormat":1},{"version":"4844a4c9b4b1e812b257676ed8a80b3f3be0e29bf05e742cc2ea9c3c6865e6c6","impliedFormat":1},{"version":"064878a60367e0407c42fb7ba02a2ea4d83257357dc20088e549bd4d89433e9c","impliedFormat":1},{"version":"14d4bd22d1b05824971b98f7e91b2484c90f1a684805c330476641417c3d9735","impliedFormat":1},{"version":"c3877fef8a43cd434f9728f25a97575b0eb73d92f38b5c87c840daccc3e21d97","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"1dbd83860e7634f9c236647f45dbc5d3c4f9eba8827d87209d6e9826fdf4dbd5","impliedFormat":1},{"version":"41ef7992c555671a8fe54db302788adefa191ded810a50329b79d20a6772d14c","impliedFormat":1},{"version":"041a7781b9127ab568d2cdcce62c58fdea7c7407f40b8c50045d7866a2727130","impliedFormat":1},{"version":"b37f83e7deea729aa9ce5593f78905afb45b7532fdff63041d374f60059e7852","impliedFormat":1},{"version":"e1cb68f3ef3a8dd7b2a9dfb3de482ed6c0f1586ba0db4e7d73c1d2147b6ffc51","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[189,[325,328]],"options":{"allowJs":false,"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":3,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noStrictGenericChecks":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"..","rootDir":"../../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[188,1],[186,2],[187,3],[181,4],[183,5],[185,6],[182,7],[180,3],[184,5],[106,8],[105,9],[391,10],[392,10],[393,11],[331,12],[394,13],[395,14],[396,15],[329,3],[397,16],[398,17],[399,18],[400,19],[401,20],[402,21],[403,21],[404,22],[405,23],[406,24],[407,25],[332,3],[330,3],[408,26],[409,27],[410,28],[451,29],[411,30],[412,31],[413,30],[414,32],[415,33],[417,34],[418,35],[419,35],[420,35],[421,36],[422,37],[423,38],[424,39],[425,40],[426,41],[427,41],[428,42],[429,3],[430,3],[431,43],[432,44],[433,43],[434,45],[435,46],[436,47],[437,48],[438,49],[439,50],[440,51],[441,52],[442,53],[443,54],[444,55],[445,56],[446,57],[447,58],[448,59],[333,30],[334,3],[335,60],[336,61],[337,3],[338,62],[339,3],[382,63],[383,64],[384,65],[385,65],[386,66],[387,3],[388,13],[389,67],[390,64],[449,68],[450,69],[88,3],[90,70],[416,3],[89,3],[245,3],[115,71],[116,3],[111,72],[117,3],[118,73],[121,74],[122,3],[123,75],[124,76],[144,77],[125,3],[126,78],[128,79],[130,80],[131,81],[132,82],[133,83],[99,83],[134,84],[101,85],[135,86],[136,76],[137,87],[138,88],[139,3],[96,89],[141,90],[143,91],[142,92],[140,93],[100,84],[97,94],[98,95],[145,3],[127,96],[119,96],[120,97],[104,98],[102,3],[103,3],[146,96],[147,99],[148,3],[149,79],[107,100],[109,101],[150,3],[151,102],[152,3],[153,3],[154,3],[156,103],[157,3],[108,81],[160,104],[158,81],[159,105],[161,3],[162,106],[164,106],[163,106],[114,106],[113,107],[112,108],[110,109],[165,3],[166,110],[167,111],[94,105],[168,74],[169,74],[177,3],[178,2],[171,112],[172,96],[155,3],[173,3],[174,3],[86,3],[83,3],[175,3],[170,3],[87,113],[179,114],[82,3],[84,111],[85,115],[129,3],[91,3],[176,2],[92,3],[95,94],[93,81],[80,3],[81,3],[13,3],[15,3],[14,3],[2,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[3,3],[24,3],[25,3],[4,3],[26,3],[30,3],[27,3],[28,3],[29,3],[31,3],[32,3],[33,3],[5,3],[34,3],[35,3],[36,3],[37,3],[6,3],[41,3],[38,3],[39,3],[40,3],[42,3],[7,3],[43,3],[48,3],[49,3],[44,3],[45,3],[46,3],[47,3],[8,3],[53,3],[50,3],[51,3],[52,3],[54,3],[9,3],[55,3],[56,3],[57,3],[59,3],[58,3],[60,3],[61,3],[10,3],[62,3],[63,3],[64,3],[11,3],[65,3],[66,3],[67,3],[68,3],[69,3],[1,3],[70,3],[71,3],[12,3],[75,3],[73,3],[78,3],[77,3],[72,3],[76,3],[74,3],[79,3],[358,116],[370,117],[355,118],[371,119],[380,120],[346,121],[347,122],[345,123],[379,124],[374,125],[378,126],[349,127],[367,128],[348,129],[377,130],[343,131],[344,125],[350,132],[351,3],[357,133],[354,132],[341,134],[381,135],[372,136],[361,137],[360,132],[362,138],[365,139],[359,140],[363,141],[375,124],[352,142],[353,143],[366,144],[342,119],[369,145],[368,132],[356,143],[364,146],[373,3],[340,3],[376,147],[309,148],[253,149],[255,150],[308,3],[254,151],[312,152],[311,153],[310,154],[246,3],[256,149],[257,3],[248,155],[252,156],[247,3],[249,157],[250,158],[251,3],[258,159],[259,159],[260,159],[261,159],[262,159],[263,159],[264,159],[265,159],[266,159],[267,159],[268,159],[269,159],[270,159],[272,159],[271,159],[273,159],[274,159],[275,159],[276,159],[307,160],[277,159],[278,159],[279,159],[280,159],[281,159],[282,159],[283,159],[284,159],[285,159],[286,159],[287,159],[288,159],[289,159],[291,159],[290,159],[292,159],[293,159],[294,159],[295,159],[296,159],[297,159],[298,159],[299,159],[300,159],[301,159],[302,159],[303,159],[306,159],[304,159],[305,159],[189,161],[327,3],[328,162],[326,163],[325,164],[314,3],[196,165],[323,166],[319,3],[320,3],[209,3],[321,3],[322,167],[192,3],[193,168],[195,169],[214,170],[203,171],[211,172],[208,173],[205,174],[216,175],[212,172],[230,176],[218,166],[220,177],[224,178],[222,167],[226,179],[228,180],[324,181],[199,182],[198,165],[231,182],[235,182],[202,183],[233,184],[207,185],[232,182],[236,182],[234,184],[201,186],[200,182],[243,182],[237,187],[238,177],[240,182],[239,167],[241,165],[242,188],[194,189],[190,3],[229,189],[213,189],[217,189],[197,190],[210,191],[206,189],[219,189],[204,189],[223,189],[225,189],[215,189],[221,189],[227,189],[313,192],[318,193],[315,166],[317,166],[316,166],[191,165],[244,194]],"latestChangedDtsFile":"../ResourceFetcherUtils.d.ts","version":"5.9.3"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-native-executorch-bare-resource-fetcher",
|
|
3
|
+
"version": "0.8.0-rc1",
|
|
4
|
+
"description": "Bare React Native resource fetcher for react-native-executorch",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./lib/index.js",
|
|
10
|
+
"types": "./lib/index.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"lib"
|
|
15
|
+
],
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/software-mansion/react-native-executorch.git",
|
|
20
|
+
"directory": "packages/bare-resource-fetcher"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"prepare": "tsc",
|
|
24
|
+
"typecheck": "tsc --noEmit",
|
|
25
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
26
|
+
"clean": "del-cli lib"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"@dr.pogodin/react-native-fs": "^2.0.0",
|
|
30
|
+
"@kesha-antonov/react-native-background-downloader": "^4.0.0",
|
|
31
|
+
"react-native": "*",
|
|
32
|
+
"react-native-executorch": "*"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@dr.pogodin/react-native-fs": "^2.36.2",
|
|
36
|
+
"@kesha-antonov/react-native-background-downloader": "^4.4.5",
|
|
37
|
+
"@types/react": "~19.1.10",
|
|
38
|
+
"react": "19.1.0",
|
|
39
|
+
"react-native": "0.81.5",
|
|
40
|
+
"react-native-executorch": "workspace:*",
|
|
41
|
+
"typescript": "~5.9.2"
|
|
42
|
+
}
|
|
43
|
+
}
|