Spaces:
Runtime error
Runtime error
Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +2 -0
- Empty Document +45 -0
- README.md +3 -9
- app/.gitignore +9 -0
- app/Empty Document +6 -0
- app/README.md +10 -0
- app/backend/gradio_app/__init__.py +4 -0
- app/backend/gradio_app/app.py +15 -0
- app/backend/gradio_app/app.pyi +16 -0
- app/demo/__init__.py +0 -0
- app/demo/app.py +11 -0
- app/frontend/Example.svelte +19 -0
- app/frontend/Index.svelte +35 -0
- app/frontend/node_modules/.bin/acorn +3 -0
- app/frontend/node_modules/.bin/esbuild +3 -0
- app/frontend/node_modules/.bin/svelte-i18n +3 -0
- app/frontend/node_modules/.package-lock.json +600 -0
- app/frontend/node_modules/@ampproject/remapping/LICENSE +202 -0
- app/frontend/node_modules/@ampproject/remapping/README.md +218 -0
- app/frontend/node_modules/@ampproject/remapping/dist/remapping.mjs +191 -0
- app/frontend/node_modules/@ampproject/remapping/dist/remapping.mjs.map +1 -0
- app/frontend/node_modules/@ampproject/remapping/dist/remapping.umd.js +196 -0
- app/frontend/node_modules/@ampproject/remapping/dist/remapping.umd.js.map +1 -0
- app/frontend/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts +14 -0
- app/frontend/node_modules/@ampproject/remapping/dist/types/remapping.d.ts +19 -0
- app/frontend/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts +42 -0
- app/frontend/node_modules/@ampproject/remapping/dist/types/source-map.d.ts +17 -0
- app/frontend/node_modules/@ampproject/remapping/dist/types/types.d.ts +14 -0
- app/frontend/node_modules/@ampproject/remapping/package.json +75 -0
- app/frontend/node_modules/@esbuild/linux-x64/README.md +3 -0
- app/frontend/node_modules/@esbuild/linux-x64/bin/esbuild +3 -0
- app/frontend/node_modules/@esbuild/linux-x64/package.json +17 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/262.d.ts +92 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/262.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/262.js +362 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts +6 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.js +12 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts +9 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.js +21 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts +7 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.js +16 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.d.ts +9 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.js +14 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts +10 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts.map +1 -0
- app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.js +18 -0
.gitattributes
CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
36 |
+
app/frontend/node_modules/@esbuild/linux-x64/bin/esbuild filter=lfs diff=lfs merge=lfs -text
|
37 |
+
app/frontend/node_modules/esbuild/bin/esbuild filter=lfs diff=lfs merge=lfs -text
|
Empty Document
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import insightface
|
3 |
+
import onnxruntime
|
4 |
+
from insightface.app import FaceAnalysis
|
5 |
+
|
6 |
+
def face_swap(user_image, celebrity_image):
|
7 |
+
|
8 |
+
# Загрузка моделей
|
9 |
+
detector = insightface.model_zoo.get_model('retinaface_r50_v1')
|
10 |
+
arcface = insightface.model_zoo.get_model('arcface_r100_v1')
|
11 |
+
|
12 |
+
# Определение пути к модели замены лица
|
13 |
+
onnx_model_path = 'face_swap_model.onnx'
|
14 |
+
|
15 |
+
# Обнаружение лиц
|
16 |
+
user_bbox, user_landmarks = detector.detect(user_image)
|
17 |
+
celebrity_bbox, celebrity_landmarks = detector.detect(celebrity_image)
|
18 |
+
|
19 |
+
# Выравнивание лиц
|
20 |
+
user_aligned = FaceAnalysis.align(user_image, user_landmarks)
|
21 |
+
celebrity_aligned = FaceAnalysis.align(celebrity_image, celebrity_landmarks)
|
22 |
+
|
23 |
+
# Получение векторных представлений лиц
|
24 |
+
user_embedding = arcface.get_embedding(user_aligned)
|
25 |
+
celebrity_embedding = arcface.get_embedding(celebrity_aligned)
|
26 |
+
|
27 |
+
# Загрузка модели ONNX
|
28 |
+
session = onnxruntime.InferenceSession(onnx_model_path)
|
29 |
+
|
30 |
+
# Подготовка входных данных
|
31 |
+
input_name = session.get_inputs()[0].name
|
32 |
+
user_data = user_aligned.transpose(2, 0, 1)
|
33 |
+
celebrity_data = celebrity_aligned.transpose(2, 0, 1)
|
34 |
+
input_feed = {input_name: np.concatenate([user_data, celebrity_data], axis=0)}
|
35 |
+
|
36 |
+
# Замена лица
|
37 |
+
results = session.run(None, input_feed)
|
38 |
+
swapped_face = results[0].transpose(1, 2, 0)
|
39 |
+
|
40 |
+
return swapped_face
|
41 |
+
|
42 |
+
|
43 |
+
iface = gr.Interface(fn=face_swap, inputs=["image", "image"], outputs="image")
|
44 |
+
|
45 |
+
iface.launch()
|
README.md
CHANGED
@@ -1,12 +1,6 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
|
4 |
-
colorFrom: pink
|
5 |
-
colorTo: pink
|
6 |
sdk: gradio
|
7 |
-
sdk_version: 4.
|
8 |
-
app_file: app.py
|
9 |
-
pinned: false
|
10 |
---
|
11 |
-
|
12 |
-
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
|
|
1 |
---
|
2 |
+
title: gradio_app
|
3 |
+
app_file: run.py
|
|
|
|
|
4 |
sdk: gradio
|
5 |
+
sdk_version: 4.0.2
|
|
|
|
|
6 |
---
|
|
|
|
app/.gitignore
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.eggs/
|
2 |
+
dist/
|
3 |
+
*.pyc
|
4 |
+
__pycache__/
|
5 |
+
*.py[cod]
|
6 |
+
*$py.class
|
7 |
+
__tmp/*
|
8 |
+
*.pyi
|
9 |
+
node_modules
|
app/Empty Document
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def face_swap(user_image, celebrity_image):
|
2 |
+
|
3 |
+
# Здесь должен быть ваш код для замены лица с использованием InsightFace и ONNX
|
4 |
+
return swapped_image
|
5 |
+
|
6 |
+
|
app/README.md
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
# gradio_app
|
3 |
+
A Custom Gradio component.
|
4 |
+
|
5 |
+
## Example usage
|
6 |
+
|
7 |
+
```python
|
8 |
+
import gradio as gr
|
9 |
+
from gradio_app import app
|
10 |
+
```
|
app/backend/gradio_app/__init__.py
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from .app import app
|
3 |
+
|
4 |
+
__all__ = ['app']
|
app/backend/gradio_app/app.py
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from gradio.components.base import Component
|
2 |
+
|
3 |
+
|
4 |
+
class app(Component):
|
5 |
+
def preprocess(self, payload):
|
6 |
+
return payload
|
7 |
+
|
8 |
+
def postprocess(self, value):
|
9 |
+
return value
|
10 |
+
|
11 |
+
def example_inputs(self):
|
12 |
+
return {"foo": "bar"}
|
13 |
+
|
14 |
+
def api_info(self):
|
15 |
+
return {"type": {}, "description": "any valid json"}
|
app/backend/gradio_app/app.pyi
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from gradio.components.base import Component
|
2 |
+
|
3 |
+
from gradio.events import Dependency
|
4 |
+
|
5 |
+
class app(Component):
|
6 |
+
def preprocess(self, payload):
|
7 |
+
return payload
|
8 |
+
|
9 |
+
def postprocess(self, value):
|
10 |
+
return value
|
11 |
+
|
12 |
+
def example_inputs(self):
|
13 |
+
return {"foo": "bar"}
|
14 |
+
|
15 |
+
def api_info(self):
|
16 |
+
return {"type": {}, "description": "any valid json"}
|
app/demo/__init__.py
ADDED
File without changes
|
app/demo/app.py
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import gradio as gr
|
3 |
+
from gradio_app import app
|
4 |
+
|
5 |
+
|
6 |
+
with gr.Blocks() as demo:
|
7 |
+
gr.Markdown("# Change the value (keep it JSON) and the front-end will update automatically.")
|
8 |
+
app(value={"message": "Hello from Gradio!"}, label="Static")
|
9 |
+
|
10 |
+
|
11 |
+
demo.launch()
|
app/frontend/Example.svelte
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
export let value: string;
|
3 |
+
export let type: "gallery" | "table";
|
4 |
+
export let selected = false;
|
5 |
+
</script>
|
6 |
+
|
7 |
+
<div
|
8 |
+
class:table={type === "table"}
|
9 |
+
class:gallery={type === "gallery"}
|
10 |
+
class:selected
|
11 |
+
>
|
12 |
+
{value}
|
13 |
+
</div>
|
14 |
+
|
15 |
+
<style>
|
16 |
+
.gallery {
|
17 |
+
padding: var(--size-1) var(--size-2);
|
18 |
+
}
|
19 |
+
</style>
|
app/frontend/Index.svelte
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { JsonView } from "@zerodevx/svelte-json-view";
|
3 |
+
|
4 |
+
import type { Gradio } from "@gradio/utils";
|
5 |
+
import { Block, Info } from "@gradio/atoms";
|
6 |
+
import { StatusTracker } from "@gradio/statustracker";
|
7 |
+
import type { LoadingStatus } from "@gradio/statustracker";
|
8 |
+
import type { SelectData } from "@gradio/utils";
|
9 |
+
|
10 |
+
export let elem_id = "";
|
11 |
+
export let elem_classes: string[] = [];
|
12 |
+
export let visible = true;
|
13 |
+
export let value = false;
|
14 |
+
export let container = true;
|
15 |
+
export let scale: number | null = null;
|
16 |
+
export let min_width: number | undefined = undefined;
|
17 |
+
export let loading_status: LoadingStatus;
|
18 |
+
export let gradio: Gradio<{
|
19 |
+
change: never;
|
20 |
+
select: SelectData;
|
21 |
+
input: never;
|
22 |
+
}>;
|
23 |
+
</script>
|
24 |
+
|
25 |
+
<Block {visible} {elem_id} {elem_classes} {container} {scale} {min_width}>
|
26 |
+
{#if loading_status}
|
27 |
+
<StatusTracker
|
28 |
+
autoscroll={gradio.autoscroll}
|
29 |
+
i18n={gradio.i18n}
|
30 |
+
{...loading_status}
|
31 |
+
/>
|
32 |
+
{/if}
|
33 |
+
|
34 |
+
<JsonView json={value} />
|
35 |
+
</Block>
|
app/frontend/node_modules/.bin/acorn
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4c3eb6f1d8932790dbff043839f8ee7686bc614a59ef577e96fed618a4a4b1b8
|
3 |
+
size 60
|
app/frontend/node_modules/.bin/esbuild
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f5e95cf71da076b05263e9109f9aa0bd8e7b55e8ac8f1c4bf32e6eab444fcfab
|
3 |
+
size 9424896
|
app/frontend/node_modules/.bin/svelte-i18n
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d53e121c392192a4f539fea8a6f0676bba78bae5a80aef425fe7b8d05435803d
|
3 |
+
size 9211
|
app/frontend/node_modules/.package-lock.json
ADDED
@@ -0,0 +1,600 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "gradio_app",
|
3 |
+
"version": "0.2.0",
|
4 |
+
"lockfileVersion": 3,
|
5 |
+
"requires": true,
|
6 |
+
"packages": {
|
7 |
+
"node_modules/@ampproject/remapping": {
|
8 |
+
"version": "2.2.1",
|
9 |
+
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
|
10 |
+
"integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
|
11 |
+
"peer": true,
|
12 |
+
"dependencies": {
|
13 |
+
"@jridgewell/gen-mapping": "^0.3.0",
|
14 |
+
"@jridgewell/trace-mapping": "^0.3.9"
|
15 |
+
},
|
16 |
+
"engines": {
|
17 |
+
"node": ">=6.0.0"
|
18 |
+
}
|
19 |
+
},
|
20 |
+
"node_modules/@esbuild/linux-x64": {
|
21 |
+
"version": "0.19.5",
|
22 |
+
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz",
|
23 |
+
"integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==",
|
24 |
+
"cpu": [
|
25 |
+
"x64"
|
26 |
+
],
|
27 |
+
"optional": true,
|
28 |
+
"os": [
|
29 |
+
"linux"
|
30 |
+
],
|
31 |
+
"engines": {
|
32 |
+
"node": ">=12"
|
33 |
+
}
|
34 |
+
},
|
35 |
+
"node_modules/@formatjs/ecma402-abstract": {
|
36 |
+
"version": "1.11.4",
|
37 |
+
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz",
|
38 |
+
"integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==",
|
39 |
+
"dependencies": {
|
40 |
+
"@formatjs/intl-localematcher": "0.2.25",
|
41 |
+
"tslib": "^2.1.0"
|
42 |
+
}
|
43 |
+
},
|
44 |
+
"node_modules/@formatjs/fast-memoize": {
|
45 |
+
"version": "1.2.1",
|
46 |
+
"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz",
|
47 |
+
"integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==",
|
48 |
+
"dependencies": {
|
49 |
+
"tslib": "^2.1.0"
|
50 |
+
}
|
51 |
+
},
|
52 |
+
"node_modules/@formatjs/icu-messageformat-parser": {
|
53 |
+
"version": "2.1.0",
|
54 |
+
"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz",
|
55 |
+
"integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==",
|
56 |
+
"dependencies": {
|
57 |
+
"@formatjs/ecma402-abstract": "1.11.4",
|
58 |
+
"@formatjs/icu-skeleton-parser": "1.3.6",
|
59 |
+
"tslib": "^2.1.0"
|
60 |
+
}
|
61 |
+
},
|
62 |
+
"node_modules/@formatjs/icu-skeleton-parser": {
|
63 |
+
"version": "1.3.6",
|
64 |
+
"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz",
|
65 |
+
"integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==",
|
66 |
+
"dependencies": {
|
67 |
+
"@formatjs/ecma402-abstract": "1.11.4",
|
68 |
+
"tslib": "^2.1.0"
|
69 |
+
}
|
70 |
+
},
|
71 |
+
"node_modules/@formatjs/intl-localematcher": {
|
72 |
+
"version": "0.2.25",
|
73 |
+
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz",
|
74 |
+
"integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==",
|
75 |
+
"dependencies": {
|
76 |
+
"tslib": "^2.1.0"
|
77 |
+
}
|
78 |
+
},
|
79 |
+
"node_modules/@gradio/atoms": {
|
80 |
+
"version": "0.2.0",
|
81 |
+
"resolved": "https://registry.npmjs.org/@gradio/atoms/-/atoms-0.2.0.tgz",
|
82 |
+
"integrity": "sha512-7pTXJTZv+KECtTG9vqeq9j7vz5OKkp+TRvh+O4yMbtkvxFEbhYaaUngkWFX26btGiveD+V4RG4qrP17jqpSdGA==",
|
83 |
+
"dependencies": {
|
84 |
+
"@gradio/icons": "^0.2.0",
|
85 |
+
"@gradio/utils": "^0.2.0"
|
86 |
+
}
|
87 |
+
},
|
88 |
+
"node_modules/@gradio/column": {
|
89 |
+
"version": "0.1.0",
|
90 |
+
"resolved": "https://registry.npmjs.org/@gradio/column/-/column-0.1.0.tgz",
|
91 |
+
"integrity": "sha512-P24nqqVnMXBaDA1f/zSN5HZRho4PxP8Dq+7VltPHlmxIEiZYik2AJ4J0LeuIha34FDO0guu/16evdrpvGIUAfw=="
|
92 |
+
},
|
93 |
+
"node_modules/@gradio/icons": {
|
94 |
+
"version": "0.2.0",
|
95 |
+
"resolved": "https://registry.npmjs.org/@gradio/icons/-/icons-0.2.0.tgz",
|
96 |
+
"integrity": "sha512-rfCSmOF+ALqBOjTWL1ICasyA8JuO0MPwFrtlVMyAWp7R14AN8YChC/gbz5fZ0kNBiGGEYOOfqpKxyvC95jGGlg=="
|
97 |
+
},
|
98 |
+
"node_modules/@gradio/statustracker": {
|
99 |
+
"version": "0.3.0",
|
100 |
+
"resolved": "https://registry.npmjs.org/@gradio/statustracker/-/statustracker-0.3.0.tgz",
|
101 |
+
"integrity": "sha512-8F3ezqPoGpq7B0EFYGVJkiYOrXCJLMEBcjLTOk2NeM2tXUoOCTieSvJEOstLzM0KkHwY7FvVrc3Dn5iqfIq2lQ==",
|
102 |
+
"dependencies": {
|
103 |
+
"@gradio/atoms": "^0.2.0",
|
104 |
+
"@gradio/column": "^0.1.0",
|
105 |
+
"@gradio/icons": "^0.2.0",
|
106 |
+
"@gradio/utils": "^0.2.0"
|
107 |
+
}
|
108 |
+
},
|
109 |
+
"node_modules/@gradio/theme": {
|
110 |
+
"version": "0.2.0",
|
111 |
+
"resolved": "https://registry.npmjs.org/@gradio/theme/-/theme-0.2.0.tgz",
|
112 |
+
"integrity": "sha512-33c68Nk7oRXLn08OxPfjcPm7S4tXGOUV1I1bVgzdM2YV5o1QBOS1GEnXPZPu/CEYPePLMB6bsDwffrLEyLGWVQ=="
|
113 |
+
},
|
114 |
+
"node_modules/@gradio/utils": {
|
115 |
+
"version": "0.2.0",
|
116 |
+
"resolved": "https://registry.npmjs.org/@gradio/utils/-/utils-0.2.0.tgz",
|
117 |
+
"integrity": "sha512-YkwzXufi6IxQrlMW+1sFo8Yn6F9NLL69ZoBsbo7QEhms0v5L7pmOTw+dfd7M3dwbRP2lgjrb52i1kAIN3n6aqQ==",
|
118 |
+
"dependencies": {
|
119 |
+
"@gradio/theme": "^0.2.0",
|
120 |
+
"svelte-i18n": "^3.6.0"
|
121 |
+
}
|
122 |
+
},
|
123 |
+
"node_modules/@jridgewell/gen-mapping": {
|
124 |
+
"version": "0.3.3",
|
125 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
|
126 |
+
"integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
|
127 |
+
"peer": true,
|
128 |
+
"dependencies": {
|
129 |
+
"@jridgewell/set-array": "^1.0.1",
|
130 |
+
"@jridgewell/sourcemap-codec": "^1.4.10",
|
131 |
+
"@jridgewell/trace-mapping": "^0.3.9"
|
132 |
+
},
|
133 |
+
"engines": {
|
134 |
+
"node": ">=6.0.0"
|
135 |
+
}
|
136 |
+
},
|
137 |
+
"node_modules/@jridgewell/resolve-uri": {
|
138 |
+
"version": "3.1.1",
|
139 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
|
140 |
+
"integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
|
141 |
+
"peer": true,
|
142 |
+
"engines": {
|
143 |
+
"node": ">=6.0.0"
|
144 |
+
}
|
145 |
+
},
|
146 |
+
"node_modules/@jridgewell/set-array": {
|
147 |
+
"version": "1.1.2",
|
148 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
|
149 |
+
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
|
150 |
+
"peer": true,
|
151 |
+
"engines": {
|
152 |
+
"node": ">=6.0.0"
|
153 |
+
}
|
154 |
+
},
|
155 |
+
"node_modules/@jridgewell/sourcemap-codec": {
|
156 |
+
"version": "1.4.15",
|
157 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
158 |
+
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
|
159 |
+
"peer": true
|
160 |
+
},
|
161 |
+
"node_modules/@jridgewell/trace-mapping": {
|
162 |
+
"version": "0.3.20",
|
163 |
+
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
|
164 |
+
"integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
|
165 |
+
"peer": true,
|
166 |
+
"dependencies": {
|
167 |
+
"@jridgewell/resolve-uri": "^3.1.0",
|
168 |
+
"@jridgewell/sourcemap-codec": "^1.4.14"
|
169 |
+
}
|
170 |
+
},
|
171 |
+
"node_modules/@types/estree": {
|
172 |
+
"version": "1.0.4",
|
173 |
+
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz",
|
174 |
+
"integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==",
|
175 |
+
"peer": true
|
176 |
+
},
|
177 |
+
"node_modules/@zerodevx/svelte-json-view": {
|
178 |
+
"version": "1.0.7",
|
179 |
+
"resolved": "https://registry.npmjs.org/@zerodevx/svelte-json-view/-/svelte-json-view-1.0.7.tgz",
|
180 |
+
"integrity": "sha512-yW0MV+9BCKOwzt3h86y3xDqYdI5st+Rxk+L5pa0Utq7nlPD+VvxyhL7R1gJoLxQvWwjyAvY/fyUCFTdwDyI14w==",
|
181 |
+
"peerDependencies": {
|
182 |
+
"svelte": "^3.57.0 || ^4.0.0"
|
183 |
+
}
|
184 |
+
},
|
185 |
+
"node_modules/acorn": {
|
186 |
+
"version": "8.11.2",
|
187 |
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
|
188 |
+
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
|
189 |
+
"peer": true,
|
190 |
+
"bin": {
|
191 |
+
"acorn": "bin/acorn"
|
192 |
+
},
|
193 |
+
"engines": {
|
194 |
+
"node": ">=0.4.0"
|
195 |
+
}
|
196 |
+
},
|
197 |
+
"node_modules/aria-query": {
|
198 |
+
"version": "5.3.0",
|
199 |
+
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
|
200 |
+
"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
|
201 |
+
"peer": true,
|
202 |
+
"dependencies": {
|
203 |
+
"dequal": "^2.0.3"
|
204 |
+
}
|
205 |
+
},
|
206 |
+
"node_modules/axobject-query": {
|
207 |
+
"version": "3.2.1",
|
208 |
+
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
|
209 |
+
"integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
|
210 |
+
"peer": true,
|
211 |
+
"dependencies": {
|
212 |
+
"dequal": "^2.0.3"
|
213 |
+
}
|
214 |
+
},
|
215 |
+
"node_modules/cli-color": {
|
216 |
+
"version": "2.0.3",
|
217 |
+
"resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
|
218 |
+
"integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
|
219 |
+
"dependencies": {
|
220 |
+
"d": "^1.0.1",
|
221 |
+
"es5-ext": "^0.10.61",
|
222 |
+
"es6-iterator": "^2.0.3",
|
223 |
+
"memoizee": "^0.4.15",
|
224 |
+
"timers-ext": "^0.1.7"
|
225 |
+
},
|
226 |
+
"engines": {
|
227 |
+
"node": ">=0.10"
|
228 |
+
}
|
229 |
+
},
|
230 |
+
"node_modules/code-red": {
|
231 |
+
"version": "1.0.4",
|
232 |
+
"resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
|
233 |
+
"integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
|
234 |
+
"peer": true,
|
235 |
+
"dependencies": {
|
236 |
+
"@jridgewell/sourcemap-codec": "^1.4.15",
|
237 |
+
"@types/estree": "^1.0.1",
|
238 |
+
"acorn": "^8.10.0",
|
239 |
+
"estree-walker": "^3.0.3",
|
240 |
+
"periscopic": "^3.1.0"
|
241 |
+
}
|
242 |
+
},
|
243 |
+
"node_modules/css-tree": {
|
244 |
+
"version": "2.3.1",
|
245 |
+
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
|
246 |
+
"integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
|
247 |
+
"peer": true,
|
248 |
+
"dependencies": {
|
249 |
+
"mdn-data": "2.0.30",
|
250 |
+
"source-map-js": "^1.0.1"
|
251 |
+
},
|
252 |
+
"engines": {
|
253 |
+
"node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
|
254 |
+
}
|
255 |
+
},
|
256 |
+
"node_modules/d": {
|
257 |
+
"version": "1.0.1",
|
258 |
+
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
|
259 |
+
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
|
260 |
+
"dependencies": {
|
261 |
+
"es5-ext": "^0.10.50",
|
262 |
+
"type": "^1.0.1"
|
263 |
+
}
|
264 |
+
},
|
265 |
+
"node_modules/deepmerge": {
|
266 |
+
"version": "4.3.1",
|
267 |
+
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
|
268 |
+
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
269 |
+
"engines": {
|
270 |
+
"node": ">=0.10.0"
|
271 |
+
}
|
272 |
+
},
|
273 |
+
"node_modules/dequal": {
|
274 |
+
"version": "2.0.3",
|
275 |
+
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
|
276 |
+
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
|
277 |
+
"peer": true,
|
278 |
+
"engines": {
|
279 |
+
"node": ">=6"
|
280 |
+
}
|
281 |
+
},
|
282 |
+
"node_modules/es5-ext": {
|
283 |
+
"version": "0.10.62",
|
284 |
+
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
|
285 |
+
"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
|
286 |
+
"hasInstallScript": true,
|
287 |
+
"dependencies": {
|
288 |
+
"es6-iterator": "^2.0.3",
|
289 |
+
"es6-symbol": "^3.1.3",
|
290 |
+
"next-tick": "^1.1.0"
|
291 |
+
},
|
292 |
+
"engines": {
|
293 |
+
"node": ">=0.10"
|
294 |
+
}
|
295 |
+
},
|
296 |
+
"node_modules/es6-iterator": {
|
297 |
+
"version": "2.0.3",
|
298 |
+
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
299 |
+
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
|
300 |
+
"dependencies": {
|
301 |
+
"d": "1",
|
302 |
+
"es5-ext": "^0.10.35",
|
303 |
+
"es6-symbol": "^3.1.1"
|
304 |
+
}
|
305 |
+
},
|
306 |
+
"node_modules/es6-symbol": {
|
307 |
+
"version": "3.1.3",
|
308 |
+
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
|
309 |
+
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
|
310 |
+
"dependencies": {
|
311 |
+
"d": "^1.0.1",
|
312 |
+
"ext": "^1.1.2"
|
313 |
+
}
|
314 |
+
},
|
315 |
+
"node_modules/es6-weak-map": {
|
316 |
+
"version": "2.0.3",
|
317 |
+
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
|
318 |
+
"integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
|
319 |
+
"dependencies": {
|
320 |
+
"d": "1",
|
321 |
+
"es5-ext": "^0.10.46",
|
322 |
+
"es6-iterator": "^2.0.3",
|
323 |
+
"es6-symbol": "^3.1.1"
|
324 |
+
}
|
325 |
+
},
|
326 |
+
"node_modules/esbuild": {
|
327 |
+
"version": "0.19.5",
|
328 |
+
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz",
|
329 |
+
"integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==",
|
330 |
+
"hasInstallScript": true,
|
331 |
+
"bin": {
|
332 |
+
"esbuild": "bin/esbuild"
|
333 |
+
},
|
334 |
+
"engines": {
|
335 |
+
"node": ">=12"
|
336 |
+
},
|
337 |
+
"optionalDependencies": {
|
338 |
+
"@esbuild/android-arm": "0.19.5",
|
339 |
+
"@esbuild/android-arm64": "0.19.5",
|
340 |
+
"@esbuild/android-x64": "0.19.5",
|
341 |
+
"@esbuild/darwin-arm64": "0.19.5",
|
342 |
+
"@esbuild/darwin-x64": "0.19.5",
|
343 |
+
"@esbuild/freebsd-arm64": "0.19.5",
|
344 |
+
"@esbuild/freebsd-x64": "0.19.5",
|
345 |
+
"@esbuild/linux-arm": "0.19.5",
|
346 |
+
"@esbuild/linux-arm64": "0.19.5",
|
347 |
+
"@esbuild/linux-ia32": "0.19.5",
|
348 |
+
"@esbuild/linux-loong64": "0.19.5",
|
349 |
+
"@esbuild/linux-mips64el": "0.19.5",
|
350 |
+
"@esbuild/linux-ppc64": "0.19.5",
|
351 |
+
"@esbuild/linux-riscv64": "0.19.5",
|
352 |
+
"@esbuild/linux-s390x": "0.19.5",
|
353 |
+
"@esbuild/linux-x64": "0.19.5",
|
354 |
+
"@esbuild/netbsd-x64": "0.19.5",
|
355 |
+
"@esbuild/openbsd-x64": "0.19.5",
|
356 |
+
"@esbuild/sunos-x64": "0.19.5",
|
357 |
+
"@esbuild/win32-arm64": "0.19.5",
|
358 |
+
"@esbuild/win32-ia32": "0.19.5",
|
359 |
+
"@esbuild/win32-x64": "0.19.5"
|
360 |
+
}
|
361 |
+
},
|
362 |
+
"node_modules/estree-walker": {
|
363 |
+
"version": "3.0.3",
|
364 |
+
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
|
365 |
+
"integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
|
366 |
+
"peer": true,
|
367 |
+
"dependencies": {
|
368 |
+
"@types/estree": "^1.0.0"
|
369 |
+
}
|
370 |
+
},
|
371 |
+
"node_modules/event-emitter": {
|
372 |
+
"version": "0.3.5",
|
373 |
+
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
|
374 |
+
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
|
375 |
+
"dependencies": {
|
376 |
+
"d": "1",
|
377 |
+
"es5-ext": "~0.10.14"
|
378 |
+
}
|
379 |
+
},
|
380 |
+
"node_modules/ext": {
|
381 |
+
"version": "1.7.0",
|
382 |
+
"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
|
383 |
+
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
|
384 |
+
"dependencies": {
|
385 |
+
"type": "^2.7.2"
|
386 |
+
}
|
387 |
+
},
|
388 |
+
"node_modules/ext/node_modules/type": {
|
389 |
+
"version": "2.7.2",
|
390 |
+
"resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
|
391 |
+
"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
|
392 |
+
},
|
393 |
+
"node_modules/globalyzer": {
|
394 |
+
"version": "0.1.0",
|
395 |
+
"resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
|
396 |
+
"integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q=="
|
397 |
+
},
|
398 |
+
"node_modules/globrex": {
|
399 |
+
"version": "0.1.2",
|
400 |
+
"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
|
401 |
+
"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
|
402 |
+
},
|
403 |
+
"node_modules/intl-messageformat": {
|
404 |
+
"version": "9.13.0",
|
405 |
+
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz",
|
406 |
+
"integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==",
|
407 |
+
"dependencies": {
|
408 |
+
"@formatjs/ecma402-abstract": "1.11.4",
|
409 |
+
"@formatjs/fast-memoize": "1.2.1",
|
410 |
+
"@formatjs/icu-messageformat-parser": "2.1.0",
|
411 |
+
"tslib": "^2.1.0"
|
412 |
+
}
|
413 |
+
},
|
414 |
+
"node_modules/is-promise": {
|
415 |
+
"version": "2.2.2",
|
416 |
+
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
|
417 |
+
"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
|
418 |
+
},
|
419 |
+
"node_modules/is-reference": {
|
420 |
+
"version": "3.0.2",
|
421 |
+
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
|
422 |
+
"integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
|
423 |
+
"peer": true,
|
424 |
+
"dependencies": {
|
425 |
+
"@types/estree": "*"
|
426 |
+
}
|
427 |
+
},
|
428 |
+
"node_modules/locate-character": {
|
429 |
+
"version": "3.0.0",
|
430 |
+
"resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
|
431 |
+
"integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
|
432 |
+
"peer": true
|
433 |
+
},
|
434 |
+
"node_modules/lru-queue": {
|
435 |
+
"version": "0.1.0",
|
436 |
+
"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
|
437 |
+
"integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
|
438 |
+
"dependencies": {
|
439 |
+
"es5-ext": "~0.10.2"
|
440 |
+
}
|
441 |
+
},
|
442 |
+
"node_modules/magic-string": {
|
443 |
+
"version": "0.30.5",
|
444 |
+
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
|
445 |
+
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
|
446 |
+
"peer": true,
|
447 |
+
"dependencies": {
|
448 |
+
"@jridgewell/sourcemap-codec": "^1.4.15"
|
449 |
+
},
|
450 |
+
"engines": {
|
451 |
+
"node": ">=12"
|
452 |
+
}
|
453 |
+
},
|
454 |
+
"node_modules/mdn-data": {
|
455 |
+
"version": "2.0.30",
|
456 |
+
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
|
457 |
+
"integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
|
458 |
+
"peer": true
|
459 |
+
},
|
460 |
+
"node_modules/memoizee": {
|
461 |
+
"version": "0.4.15",
|
462 |
+
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
|
463 |
+
"integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
|
464 |
+
"dependencies": {
|
465 |
+
"d": "^1.0.1",
|
466 |
+
"es5-ext": "^0.10.53",
|
467 |
+
"es6-weak-map": "^2.0.3",
|
468 |
+
"event-emitter": "^0.3.5",
|
469 |
+
"is-promise": "^2.2.2",
|
470 |
+
"lru-queue": "^0.1.0",
|
471 |
+
"next-tick": "^1.1.0",
|
472 |
+
"timers-ext": "^0.1.7"
|
473 |
+
}
|
474 |
+
},
|
475 |
+
"node_modules/mri": {
|
476 |
+
"version": "1.2.0",
|
477 |
+
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
|
478 |
+
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
|
479 |
+
"engines": {
|
480 |
+
"node": ">=4"
|
481 |
+
}
|
482 |
+
},
|
483 |
+
"node_modules/next-tick": {
|
484 |
+
"version": "1.1.0",
|
485 |
+
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
|
486 |
+
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
|
487 |
+
},
|
488 |
+
"node_modules/periscopic": {
|
489 |
+
"version": "3.1.0",
|
490 |
+
"resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
|
491 |
+
"integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
|
492 |
+
"peer": true,
|
493 |
+
"dependencies": {
|
494 |
+
"@types/estree": "^1.0.0",
|
495 |
+
"estree-walker": "^3.0.0",
|
496 |
+
"is-reference": "^3.0.0"
|
497 |
+
}
|
498 |
+
},
|
499 |
+
"node_modules/sade": {
|
500 |
+
"version": "1.8.1",
|
501 |
+
"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
|
502 |
+
"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
|
503 |
+
"dependencies": {
|
504 |
+
"mri": "^1.1.0"
|
505 |
+
},
|
506 |
+
"engines": {
|
507 |
+
"node": ">=6"
|
508 |
+
}
|
509 |
+
},
|
510 |
+
"node_modules/source-map-js": {
|
511 |
+
"version": "1.0.2",
|
512 |
+
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
513 |
+
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
514 |
+
"peer": true,
|
515 |
+
"engines": {
|
516 |
+
"node": ">=0.10.0"
|
517 |
+
}
|
518 |
+
},
|
519 |
+
"node_modules/svelte": {
|
520 |
+
"version": "4.2.2",
|
521 |
+
"resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.2.tgz",
|
522 |
+
"integrity": "sha512-My2tytF2e2NnHSpn2M7/3VdXT4JdTglYVUuSuK/mXL2XtulPYbeBfl8Dm1QiaKRn0zoULRnL+EtfZHHP0k4H3A==",
|
523 |
+
"peer": true,
|
524 |
+
"dependencies": {
|
525 |
+
"@ampproject/remapping": "^2.2.1",
|
526 |
+
"@jridgewell/sourcemap-codec": "^1.4.15",
|
527 |
+
"@jridgewell/trace-mapping": "^0.3.18",
|
528 |
+
"acorn": "^8.9.0",
|
529 |
+
"aria-query": "^5.3.0",
|
530 |
+
"axobject-query": "^3.2.1",
|
531 |
+
"code-red": "^1.0.3",
|
532 |
+
"css-tree": "^2.3.1",
|
533 |
+
"estree-walker": "^3.0.3",
|
534 |
+
"is-reference": "^3.0.1",
|
535 |
+
"locate-character": "^3.0.0",
|
536 |
+
"magic-string": "^0.30.4",
|
537 |
+
"periscopic": "^3.1.0"
|
538 |
+
},
|
539 |
+
"engines": {
|
540 |
+
"node": ">=16"
|
541 |
+
}
|
542 |
+
},
|
543 |
+
"node_modules/svelte-i18n": {
|
544 |
+
"version": "3.7.4",
|
545 |
+
"resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-3.7.4.tgz",
|
546 |
+
"integrity": "sha512-yGRCNo+eBT4cPuU7IVsYTYjxB7I2V8qgUZPlHnNctJj5IgbJgV78flsRzpjZ/8iUYZrS49oCt7uxlU3AZv/N5Q==",
|
547 |
+
"dependencies": {
|
548 |
+
"cli-color": "^2.0.3",
|
549 |
+
"deepmerge": "^4.2.2",
|
550 |
+
"esbuild": "^0.19.2",
|
551 |
+
"estree-walker": "^2",
|
552 |
+
"intl-messageformat": "^9.13.0",
|
553 |
+
"sade": "^1.8.1",
|
554 |
+
"tiny-glob": "^0.2.9"
|
555 |
+
},
|
556 |
+
"bin": {
|
557 |
+
"svelte-i18n": "dist/cli.js"
|
558 |
+
},
|
559 |
+
"engines": {
|
560 |
+
"node": ">= 16"
|
561 |
+
},
|
562 |
+
"peerDependencies": {
|
563 |
+
"svelte": "^3 || ^4"
|
564 |
+
}
|
565 |
+
},
|
566 |
+
"node_modules/svelte-i18n/node_modules/estree-walker": {
|
567 |
+
"version": "2.0.2",
|
568 |
+
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
569 |
+
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
|
570 |
+
},
|
571 |
+
"node_modules/timers-ext": {
|
572 |
+
"version": "0.1.7",
|
573 |
+
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
|
574 |
+
"integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
|
575 |
+
"dependencies": {
|
576 |
+
"es5-ext": "~0.10.46",
|
577 |
+
"next-tick": "1"
|
578 |
+
}
|
579 |
+
},
|
580 |
+
"node_modules/tiny-glob": {
|
581 |
+
"version": "0.2.9",
|
582 |
+
"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
|
583 |
+
"integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
|
584 |
+
"dependencies": {
|
585 |
+
"globalyzer": "0.1.0",
|
586 |
+
"globrex": "^0.1.2"
|
587 |
+
}
|
588 |
+
},
|
589 |
+
"node_modules/tslib": {
|
590 |
+
"version": "2.6.2",
|
591 |
+
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
592 |
+
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
593 |
+
},
|
594 |
+
"node_modules/type": {
|
595 |
+
"version": "1.2.0",
|
596 |
+
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
|
597 |
+
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
|
598 |
+
}
|
599 |
+
}
|
600 |
+
}
|
app/frontend/node_modules/@ampproject/remapping/LICENSE
ADDED
@@ -0,0 +1,202 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
Apache License
|
3 |
+
Version 2.0, January 2004
|
4 |
+
http://www.apache.org/licenses/
|
5 |
+
|
6 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7 |
+
|
8 |
+
1. Definitions.
|
9 |
+
|
10 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
11 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
12 |
+
|
13 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
14 |
+
the copyright owner that is granting the License.
|
15 |
+
|
16 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
17 |
+
other entities that control, are controlled by, or are under common
|
18 |
+
control with that entity. For the purposes of this definition,
|
19 |
+
"control" means (i) the power, direct or indirect, to cause the
|
20 |
+
direction or management of such entity, whether by contract or
|
21 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
22 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
23 |
+
|
24 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
25 |
+
exercising permissions granted by this License.
|
26 |
+
|
27 |
+
"Source" form shall mean the preferred form for making modifications,
|
28 |
+
including but not limited to software source code, documentation
|
29 |
+
source, and configuration files.
|
30 |
+
|
31 |
+
"Object" form shall mean any form resulting from mechanical
|
32 |
+
transformation or translation of a Source form, including but
|
33 |
+
not limited to compiled object code, generated documentation,
|
34 |
+
and conversions to other media types.
|
35 |
+
|
36 |
+
"Work" shall mean the work of authorship, whether in Source or
|
37 |
+
Object form, made available under the License, as indicated by a
|
38 |
+
copyright notice that is included in or attached to the work
|
39 |
+
(an example is provided in the Appendix below).
|
40 |
+
|
41 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
42 |
+
form, that is based on (or derived from) the Work and for which the
|
43 |
+
editorial revisions, annotations, elaborations, or other modifications
|
44 |
+
represent, as a whole, an original work of authorship. For the purposes
|
45 |
+
of this License, Derivative Works shall not include works that remain
|
46 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
47 |
+
the Work and Derivative Works thereof.
|
48 |
+
|
49 |
+
"Contribution" shall mean any work of authorship, including
|
50 |
+
the original version of the Work and any modifications or additions
|
51 |
+
to that Work or Derivative Works thereof, that is intentionally
|
52 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
53 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
54 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
55 |
+
means any form of electronic, verbal, or written communication sent
|
56 |
+
to the Licensor or its representatives, including but not limited to
|
57 |
+
communication on electronic mailing lists, source code control systems,
|
58 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
59 |
+
Licensor for the purpose of discussing and improving the Work, but
|
60 |
+
excluding communication that is conspicuously marked or otherwise
|
61 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
62 |
+
|
63 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64 |
+
on behalf of whom a Contribution has been received by Licensor and
|
65 |
+
subsequently incorporated within the Work.
|
66 |
+
|
67 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
68 |
+
this License, each Contributor hereby grants to You a perpetual,
|
69 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
70 |
+
copyright license to reproduce, prepare Derivative Works of,
|
71 |
+
publicly display, publicly perform, sublicense, and distribute the
|
72 |
+
Work and such Derivative Works in Source or Object form.
|
73 |
+
|
74 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
75 |
+
this License, each Contributor hereby grants to You a perpetual,
|
76 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
77 |
+
(except as stated in this section) patent license to make, have made,
|
78 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
79 |
+
where such license applies only to those patent claims licensable
|
80 |
+
by such Contributor that are necessarily infringed by their
|
81 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
82 |
+
with the Work to which such Contribution(s) was submitted. If You
|
83 |
+
institute patent litigation against any entity (including a
|
84 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
85 |
+
or a Contribution incorporated within the Work constitutes direct
|
86 |
+
or contributory patent infringement, then any patent licenses
|
87 |
+
granted to You under this License for that Work shall terminate
|
88 |
+
as of the date such litigation is filed.
|
89 |
+
|
90 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
91 |
+
Work or Derivative Works thereof in any medium, with or without
|
92 |
+
modifications, and in Source or Object form, provided that You
|
93 |
+
meet the following conditions:
|
94 |
+
|
95 |
+
(a) You must give any other recipients of the Work or
|
96 |
+
Derivative Works a copy of this License; and
|
97 |
+
|
98 |
+
(b) You must cause any modified files to carry prominent notices
|
99 |
+
stating that You changed the files; and
|
100 |
+
|
101 |
+
(c) You must retain, in the Source form of any Derivative Works
|
102 |
+
that You distribute, all copyright, patent, trademark, and
|
103 |
+
attribution notices from the Source form of the Work,
|
104 |
+
excluding those notices that do not pertain to any part of
|
105 |
+
the Derivative Works; and
|
106 |
+
|
107 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
108 |
+
distribution, then any Derivative Works that You distribute must
|
109 |
+
include a readable copy of the attribution notices contained
|
110 |
+
within such NOTICE file, excluding those notices that do not
|
111 |
+
pertain to any part of the Derivative Works, in at least one
|
112 |
+
of the following places: within a NOTICE text file distributed
|
113 |
+
as part of the Derivative Works; within the Source form or
|
114 |
+
documentation, if provided along with the Derivative Works; or,
|
115 |
+
within a display generated by the Derivative Works, if and
|
116 |
+
wherever such third-party notices normally appear. The contents
|
117 |
+
of the NOTICE file are for informational purposes only and
|
118 |
+
do not modify the License. You may add Your own attribution
|
119 |
+
notices within Derivative Works that You distribute, alongside
|
120 |
+
or as an addendum to the NOTICE text from the Work, provided
|
121 |
+
that such additional attribution notices cannot be construed
|
122 |
+
as modifying the License.
|
123 |
+
|
124 |
+
You may add Your own copyright statement to Your modifications and
|
125 |
+
may provide additional or different license terms and conditions
|
126 |
+
for use, reproduction, or distribution of Your modifications, or
|
127 |
+
for any such Derivative Works as a whole, provided Your use,
|
128 |
+
reproduction, and distribution of the Work otherwise complies with
|
129 |
+
the conditions stated in this License.
|
130 |
+
|
131 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
132 |
+
any Contribution intentionally submitted for inclusion in the Work
|
133 |
+
by You to the Licensor shall be under the terms and conditions of
|
134 |
+
this License, without any additional terms or conditions.
|
135 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
136 |
+
the terms of any separate license agreement you may have executed
|
137 |
+
with Licensor regarding such Contributions.
|
138 |
+
|
139 |
+
6. Trademarks. This License does not grant permission to use the trade
|
140 |
+
names, trademarks, service marks, or product names of the Licensor,
|
141 |
+
except as required for reasonable and customary use in describing the
|
142 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
143 |
+
|
144 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
145 |
+
agreed to in writing, Licensor provides the Work (and each
|
146 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
147 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
148 |
+
implied, including, without limitation, any warranties or conditions
|
149 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
150 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
151 |
+
appropriateness of using or redistributing the Work and assume any
|
152 |
+
risks associated with Your exercise of permissions under this License.
|
153 |
+
|
154 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
155 |
+
whether in tort (including negligence), contract, or otherwise,
|
156 |
+
unless required by applicable law (such as deliberate and grossly
|
157 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
158 |
+
liable to You for damages, including any direct, indirect, special,
|
159 |
+
incidental, or consequential damages of any character arising as a
|
160 |
+
result of this License or out of the use or inability to use the
|
161 |
+
Work (including but not limited to damages for loss of goodwill,
|
162 |
+
work stoppage, computer failure or malfunction, or any and all
|
163 |
+
other commercial damages or losses), even if such Contributor
|
164 |
+
has been advised of the possibility of such damages.
|
165 |
+
|
166 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
167 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
168 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
169 |
+
or other liability obligations and/or rights consistent with this
|
170 |
+
License. However, in accepting such obligations, You may act only
|
171 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
172 |
+
of any other Contributor, and only if You agree to indemnify,
|
173 |
+
defend, and hold each Contributor harmless for any liability
|
174 |
+
incurred by, or claims asserted against, such Contributor by reason
|
175 |
+
of your accepting any such warranty or additional liability.
|
176 |
+
|
177 |
+
END OF TERMS AND CONDITIONS
|
178 |
+
|
179 |
+
APPENDIX: How to apply the Apache License to your work.
|
180 |
+
|
181 |
+
To apply the Apache License to your work, attach the following
|
182 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
183 |
+
replaced with your own identifying information. (Don't include
|
184 |
+
the brackets!) The text should be enclosed in the appropriate
|
185 |
+
comment syntax for the file format. We also recommend that a
|
186 |
+
file or class name and description of purpose be included on the
|
187 |
+
same "printed page" as the copyright notice for easier
|
188 |
+
identification within third-party archives.
|
189 |
+
|
190 |
+
Copyright [yyyy] [name of copyright owner]
|
191 |
+
|
192 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193 |
+
you may not use this file except in compliance with the License.
|
194 |
+
You may obtain a copy of the License at
|
195 |
+
|
196 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
197 |
+
|
198 |
+
Unless required by applicable law or agreed to in writing, software
|
199 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201 |
+
See the License for the specific language governing permissions and
|
202 |
+
limitations under the License.
|
app/frontend/node_modules/@ampproject/remapping/README.md
ADDED
@@ -0,0 +1,218 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @ampproject/remapping
|
2 |
+
|
3 |
+
> Remap sequential sourcemaps through transformations to point at the original source code
|
4 |
+
|
5 |
+
Remapping allows you to take the sourcemaps generated through transforming your code and "remap"
|
6 |
+
them to the original source locations. Think "my minified code, transformed with babel and bundled
|
7 |
+
with webpack", all pointing to the correct location in your original source code.
|
8 |
+
|
9 |
+
With remapping, none of your source code transformations need to be aware of the input's sourcemap,
|
10 |
+
they only need to generate an output sourcemap. This greatly simplifies building custom
|
11 |
+
transformations (think a find-and-replace).
|
12 |
+
|
13 |
+
## Installation
|
14 |
+
|
15 |
+
```sh
|
16 |
+
npm install @ampproject/remapping
|
17 |
+
```
|
18 |
+
|
19 |
+
## Usage
|
20 |
+
|
21 |
+
```typescript
|
22 |
+
function remapping(
|
23 |
+
map: SourceMap | SourceMap[],
|
24 |
+
loader: (file: string, ctx: LoaderContext) => (SourceMap | null | undefined),
|
25 |
+
options?: { excludeContent: boolean, decodedMappings: boolean }
|
26 |
+
): SourceMap;
|
27 |
+
|
28 |
+
// LoaderContext gives the loader the importing sourcemap, tree depth, the ability to override the
|
29 |
+
// "source" location (where child sources are resolved relative to, or the location of original
|
30 |
+
// source), and the ability to override the "content" of an original source for inclusion in the
|
31 |
+
// output sourcemap.
|
32 |
+
type LoaderContext = {
|
33 |
+
readonly importer: string;
|
34 |
+
readonly depth: number;
|
35 |
+
source: string;
|
36 |
+
content: string | null | undefined;
|
37 |
+
}
|
38 |
+
```
|
39 |
+
|
40 |
+
`remapping` takes the final output sourcemap, and a `loader` function. For every source file pointer
|
41 |
+
in the sourcemap, the `loader` will be called with the resolved path. If the path itself represents
|
42 |
+
a transformed file (it has a sourcmap associated with it), then the `loader` should return that
|
43 |
+
sourcemap. If not, the path will be treated as an original, untransformed source code.
|
44 |
+
|
45 |
+
```js
|
46 |
+
// Babel transformed "helloworld.js" into "transformed.js"
|
47 |
+
const transformedMap = JSON.stringify({
|
48 |
+
file: 'transformed.js',
|
49 |
+
// 1st column of 2nd line of output file translates into the 1st source
|
50 |
+
// file, line 3, column 2
|
51 |
+
mappings: ';CAEE',
|
52 |
+
sources: ['helloworld.js'],
|
53 |
+
version: 3,
|
54 |
+
});
|
55 |
+
|
56 |
+
// Uglify minified "transformed.js" into "transformed.min.js"
|
57 |
+
const minifiedTransformedMap = JSON.stringify({
|
58 |
+
file: 'transformed.min.js',
|
59 |
+
// 0th column of 1st line of output file translates into the 1st source
|
60 |
+
// file, line 2, column 1.
|
61 |
+
mappings: 'AACC',
|
62 |
+
names: [],
|
63 |
+
sources: ['transformed.js'],
|
64 |
+
version: 3,
|
65 |
+
});
|
66 |
+
|
67 |
+
const remapped = remapping(
|
68 |
+
minifiedTransformedMap,
|
69 |
+
(file, ctx) => {
|
70 |
+
|
71 |
+
// The "transformed.js" file is an transformed file.
|
72 |
+
if (file === 'transformed.js') {
|
73 |
+
// The root importer is empty.
|
74 |
+
console.assert(ctx.importer === '');
|
75 |
+
// The depth in the sourcemap tree we're currently loading.
|
76 |
+
// The root `minifiedTransformedMap` is depth 0, and its source children are depth 1, etc.
|
77 |
+
console.assert(ctx.depth === 1);
|
78 |
+
|
79 |
+
return transformedMap;
|
80 |
+
}
|
81 |
+
|
82 |
+
// Loader will be called to load transformedMap's source file pointers as well.
|
83 |
+
console.assert(file === 'helloworld.js');
|
84 |
+
// `transformed.js`'s sourcemap points into `helloworld.js`.
|
85 |
+
console.assert(ctx.importer === 'transformed.js');
|
86 |
+
// This is a source child of `transformed`, which is a source child of `minifiedTransformedMap`.
|
87 |
+
console.assert(ctx.depth === 2);
|
88 |
+
return null;
|
89 |
+
}
|
90 |
+
);
|
91 |
+
|
92 |
+
console.log(remapped);
|
93 |
+
// {
|
94 |
+
// file: 'transpiled.min.js',
|
95 |
+
// mappings: 'AAEE',
|
96 |
+
// sources: ['helloworld.js'],
|
97 |
+
// version: 3,
|
98 |
+
// };
|
99 |
+
```
|
100 |
+
|
101 |
+
In this example, `loader` will be called twice:
|
102 |
+
|
103 |
+
1. `"transformed.js"`, the first source file pointer in the `minifiedTransformedMap`. We return the
|
104 |
+
associated sourcemap for it (its a transformed file, after all) so that sourcemap locations can
|
105 |
+
be traced through it into the source files it represents.
|
106 |
+
2. `"helloworld.js"`, our original, unmodified source code. This file does not have a sourcemap, so
|
107 |
+
we return `null`.
|
108 |
+
|
109 |
+
The `remapped` sourcemap now points from `transformed.min.js` into locations in `helloworld.js`. If
|
110 |
+
you were to read the `mappings`, it says "0th column of the first line output line points to the 1st
|
111 |
+
column of the 2nd line of the file `helloworld.js`".
|
112 |
+
|
113 |
+
### Multiple transformations of a file
|
114 |
+
|
115 |
+
As a convenience, if you have multiple single-source transformations of a file, you may pass an
|
116 |
+
array of sourcemap files in the order of most-recent transformation sourcemap first. Note that this
|
117 |
+
changes the `importer` and `depth` of each call to our loader. So our above example could have been
|
118 |
+
written as:
|
119 |
+
|
120 |
+
```js
|
121 |
+
const remapped = remapping(
|
122 |
+
[minifiedTransformedMap, transformedMap],
|
123 |
+
() => null
|
124 |
+
);
|
125 |
+
|
126 |
+
console.log(remapped);
|
127 |
+
// {
|
128 |
+
// file: 'transpiled.min.js',
|
129 |
+
// mappings: 'AAEE',
|
130 |
+
// sources: ['helloworld.js'],
|
131 |
+
// version: 3,
|
132 |
+
// };
|
133 |
+
```
|
134 |
+
|
135 |
+
### Advanced control of the loading graph
|
136 |
+
|
137 |
+
#### `source`
|
138 |
+
|
139 |
+
The `source` property can overridden to any value to change the location of the current load. Eg,
|
140 |
+
for an original source file, it allows us to change the location to the original source regardless
|
141 |
+
of what the sourcemap source entry says. And for transformed files, it allows us to change the
|
142 |
+
relative resolving location for child sources of the loaded sourcemap.
|
143 |
+
|
144 |
+
```js
|
145 |
+
const remapped = remapping(
|
146 |
+
minifiedTransformedMap,
|
147 |
+
(file, ctx) => {
|
148 |
+
|
149 |
+
if (file === 'transformed.js') {
|
150 |
+
// We pretend the transformed.js file actually exists in the 'src/' directory. When the nested
|
151 |
+
// source files are loaded, they will now be relative to `src/`.
|
152 |
+
ctx.source = 'src/transformed.js';
|
153 |
+
return transformedMap;
|
154 |
+
}
|
155 |
+
|
156 |
+
console.assert(file === 'src/helloworld.js');
|
157 |
+
// We could futher change the source of this original file, eg, to be inside a nested directory
|
158 |
+
// itself. This will be reflected in the remapped sourcemap.
|
159 |
+
ctx.source = 'src/nested/transformed.js';
|
160 |
+
return null;
|
161 |
+
}
|
162 |
+
);
|
163 |
+
|
164 |
+
console.log(remapped);
|
165 |
+
// {
|
166 |
+
// …,
|
167 |
+
// sources: ['src/nested/helloworld.js'],
|
168 |
+
// };
|
169 |
+
```
|
170 |
+
|
171 |
+
|
172 |
+
#### `content`
|
173 |
+
|
174 |
+
The `content` property can be overridden when we encounter an original source file. Eg, this allows
|
175 |
+
you to manually provide the source content of the original file regardless of whether the
|
176 |
+
`sourcesContent` field is present in the parent sourcemap. It can also be set to `null` to remove
|
177 |
+
the source content.
|
178 |
+
|
179 |
+
```js
|
180 |
+
const remapped = remapping(
|
181 |
+
minifiedTransformedMap,
|
182 |
+
(file, ctx) => {
|
183 |
+
|
184 |
+
if (file === 'transformed.js') {
|
185 |
+
// transformedMap does not include a `sourcesContent` field, so usually the remapped sourcemap
|
186 |
+
// would not include any `sourcesContent` values.
|
187 |
+
return transformedMap;
|
188 |
+
}
|
189 |
+
|
190 |
+
console.assert(file === 'helloworld.js');
|
191 |
+
// We can read the file to provide the source content.
|
192 |
+
ctx.content = fs.readFileSync(file, 'utf8');
|
193 |
+
return null;
|
194 |
+
}
|
195 |
+
);
|
196 |
+
|
197 |
+
console.log(remapped);
|
198 |
+
// {
|
199 |
+
// …,
|
200 |
+
// sourcesContent: [
|
201 |
+
// 'console.log("Hello world!")',
|
202 |
+
// ],
|
203 |
+
// };
|
204 |
+
```
|
205 |
+
|
206 |
+
### Options
|
207 |
+
|
208 |
+
#### excludeContent
|
209 |
+
|
210 |
+
By default, `excludeContent` is `false`. Passing `{ excludeContent: true }` will exclude the
|
211 |
+
`sourcesContent` field from the returned sourcemap. This is mainly useful when you want to reduce
|
212 |
+
the size out the sourcemap.
|
213 |
+
|
214 |
+
#### decodedMappings
|
215 |
+
|
216 |
+
By default, `decodedMappings` is `false`. Passing `{ decodedMappings: true }` will leave the
|
217 |
+
`mappings` field in a [decoded state](https://github.com/rich-harris/sourcemap-codec) instead of
|
218 |
+
encoding into a VLQ string.
|
app/frontend/node_modules/@ampproject/remapping/dist/remapping.mjs
ADDED
@@ -0,0 +1,191 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { decodedMappings, traceSegment, TraceMap } from '@jridgewell/trace-mapping';
|
2 |
+
import { GenMapping, maybeAddSegment, setSourceContent, toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';
|
3 |
+
|
4 |
+
const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);
|
5 |
+
const EMPTY_SOURCES = [];
|
6 |
+
function SegmentObject(source, line, column, name, content) {
|
7 |
+
return { source, line, column, name, content };
|
8 |
+
}
|
9 |
+
function Source(map, sources, source, content) {
|
10 |
+
return {
|
11 |
+
map,
|
12 |
+
sources,
|
13 |
+
source,
|
14 |
+
content,
|
15 |
+
};
|
16 |
+
}
|
17 |
+
/**
|
18 |
+
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
19 |
+
* (which may themselves be SourceMapTrees).
|
20 |
+
*/
|
21 |
+
function MapSource(map, sources) {
|
22 |
+
return Source(map, sources, '', null);
|
23 |
+
}
|
24 |
+
/**
|
25 |
+
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
26 |
+
* segment tracing ends at the `OriginalSource`.
|
27 |
+
*/
|
28 |
+
function OriginalSource(source, content) {
|
29 |
+
return Source(null, EMPTY_SOURCES, source, content);
|
30 |
+
}
|
31 |
+
/**
|
32 |
+
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
33 |
+
* resolving each mapping in terms of the original source files.
|
34 |
+
*/
|
35 |
+
function traceMappings(tree) {
|
36 |
+
// TODO: Eventually support sourceRoot, which has to be removed because the sources are already
|
37 |
+
// fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
|
38 |
+
const gen = new GenMapping({ file: tree.map.file });
|
39 |
+
const { sources: rootSources, map } = tree;
|
40 |
+
const rootNames = map.names;
|
41 |
+
const rootMappings = decodedMappings(map);
|
42 |
+
for (let i = 0; i < rootMappings.length; i++) {
|
43 |
+
const segments = rootMappings[i];
|
44 |
+
for (let j = 0; j < segments.length; j++) {
|
45 |
+
const segment = segments[j];
|
46 |
+
const genCol = segment[0];
|
47 |
+
let traced = SOURCELESS_MAPPING;
|
48 |
+
// 1-length segments only move the current generated column, there's no source information
|
49 |
+
// to gather from it.
|
50 |
+
if (segment.length !== 1) {
|
51 |
+
const source = rootSources[segment[1]];
|
52 |
+
traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
|
53 |
+
// If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
|
54 |
+
// respective segment into an original source.
|
55 |
+
if (traced == null)
|
56 |
+
continue;
|
57 |
+
}
|
58 |
+
const { column, line, name, content, source } = traced;
|
59 |
+
maybeAddSegment(gen, i, genCol, source, line, column, name);
|
60 |
+
if (source && content != null)
|
61 |
+
setSourceContent(gen, source, content);
|
62 |
+
}
|
63 |
+
}
|
64 |
+
return gen;
|
65 |
+
}
|
66 |
+
/**
|
67 |
+
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
68 |
+
* child SourceMapTrees, until we find the original source map.
|
69 |
+
*/
|
70 |
+
function originalPositionFor(source, line, column, name) {
|
71 |
+
if (!source.map) {
|
72 |
+
return SegmentObject(source.source, line, column, name, source.content);
|
73 |
+
}
|
74 |
+
const segment = traceSegment(source.map, line, column);
|
75 |
+
// If we couldn't find a segment, then this doesn't exist in the sourcemap.
|
76 |
+
if (segment == null)
|
77 |
+
return null;
|
78 |
+
// 1-length segments only move the current generated column, there's no source information
|
79 |
+
// to gather from it.
|
80 |
+
if (segment.length === 1)
|
81 |
+
return SOURCELESS_MAPPING;
|
82 |
+
return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
|
83 |
+
}
|
84 |
+
|
85 |
+
function asArray(value) {
|
86 |
+
if (Array.isArray(value))
|
87 |
+
return value;
|
88 |
+
return [value];
|
89 |
+
}
|
90 |
+
/**
|
91 |
+
* Recursively builds a tree structure out of sourcemap files, with each node
|
92 |
+
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
93 |
+
* `OriginalSource`s and `SourceMapTree`s.
|
94 |
+
*
|
95 |
+
* Every sourcemap is composed of a collection of source files and mappings
|
96 |
+
* into locations of those source files. When we generate a `SourceMapTree` for
|
97 |
+
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
98 |
+
* does not have an associated sourcemap, it is considered an original,
|
99 |
+
* unmodified source file.
|
100 |
+
*/
|
101 |
+
function buildSourceMapTree(input, loader) {
|
102 |
+
const maps = asArray(input).map((m) => new TraceMap(m, ''));
|
103 |
+
const map = maps.pop();
|
104 |
+
for (let i = 0; i < maps.length; i++) {
|
105 |
+
if (maps[i].sources.length > 1) {
|
106 |
+
throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
|
107 |
+
'Did you specify these with the most recent transformation maps first?');
|
108 |
+
}
|
109 |
+
}
|
110 |
+
let tree = build(map, loader, '', 0);
|
111 |
+
for (let i = maps.length - 1; i >= 0; i--) {
|
112 |
+
tree = MapSource(maps[i], [tree]);
|
113 |
+
}
|
114 |
+
return tree;
|
115 |
+
}
|
116 |
+
function build(map, loader, importer, importerDepth) {
|
117 |
+
const { resolvedSources, sourcesContent } = map;
|
118 |
+
const depth = importerDepth + 1;
|
119 |
+
const children = resolvedSources.map((sourceFile, i) => {
|
120 |
+
// The loading context gives the loader more information about why this file is being loaded
|
121 |
+
// (eg, from which importer). It also allows the loader to override the location of the loaded
|
122 |
+
// sourcemap/original source, or to override the content in the sourcesContent field if it's
|
123 |
+
// an unmodified source file.
|
124 |
+
const ctx = {
|
125 |
+
importer,
|
126 |
+
depth,
|
127 |
+
source: sourceFile || '',
|
128 |
+
content: undefined,
|
129 |
+
};
|
130 |
+
// Use the provided loader callback to retrieve the file's sourcemap.
|
131 |
+
// TODO: We should eventually support async loading of sourcemap files.
|
132 |
+
const sourceMap = loader(ctx.source, ctx);
|
133 |
+
const { source, content } = ctx;
|
134 |
+
// If there is a sourcemap, then we need to recurse into it to load its source files.
|
135 |
+
if (sourceMap)
|
136 |
+
return build(new TraceMap(sourceMap, source), loader, source, depth);
|
137 |
+
// Else, it's an an unmodified source file.
|
138 |
+
// The contents of this unmodified source file can be overridden via the loader context,
|
139 |
+
// allowing it to be explicitly null or a string. If it remains undefined, we fall back to
|
140 |
+
// the importing sourcemap's `sourcesContent` field.
|
141 |
+
const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
|
142 |
+
return OriginalSource(source, sourceContent);
|
143 |
+
});
|
144 |
+
return MapSource(map, children);
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
149 |
+
* provided to it.
|
150 |
+
*/
|
151 |
+
class SourceMap {
|
152 |
+
constructor(map, options) {
|
153 |
+
const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);
|
154 |
+
this.version = out.version; // SourceMap spec says this should be first.
|
155 |
+
this.file = out.file;
|
156 |
+
this.mappings = out.mappings;
|
157 |
+
this.names = out.names;
|
158 |
+
this.sourceRoot = out.sourceRoot;
|
159 |
+
this.sources = out.sources;
|
160 |
+
if (!options.excludeContent) {
|
161 |
+
this.sourcesContent = out.sourcesContent;
|
162 |
+
}
|
163 |
+
}
|
164 |
+
toString() {
|
165 |
+
return JSON.stringify(this);
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Traces through all the mappings in the root sourcemap, through the sources
|
171 |
+
* (and their sourcemaps), all the way back to the original source location.
|
172 |
+
*
|
173 |
+
* `loader` will be called every time we encounter a source file. If it returns
|
174 |
+
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
175 |
+
* it returns a falsey value, that source file is treated as an original,
|
176 |
+
* unmodified source file.
|
177 |
+
*
|
178 |
+
* Pass `excludeContent` to exclude any self-containing source file content
|
179 |
+
* from the output sourcemap.
|
180 |
+
*
|
181 |
+
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
182 |
+
* VLQ encoded) mappings.
|
183 |
+
*/
|
184 |
+
function remapping(input, loader, options) {
|
185 |
+
const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
|
186 |
+
const tree = buildSourceMapTree(input, loader);
|
187 |
+
return new SourceMap(traceMappings(tree), opts);
|
188 |
+
}
|
189 |
+
|
190 |
+
export { remapping as default };
|
191 |
+
//# sourceMappingURL=remapping.mjs.map
|
app/frontend/node_modules/@ampproject/remapping/dist/remapping.mjs.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"remapping.mjs","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null\n): SourceMapSegmentObject {\n return { source, line, column, name, content };\n}\n\nfunction Source(map: TraceMap, sources: Sources[], source: '', content: null): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(source: string, content: string | null): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray<T>(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n return OriginalSource(source, sourceContent);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":[],"mappings":"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"}
|
app/frontend/node_modules/@ampproject/remapping/dist/remapping.umd.js
ADDED
@@ -0,0 +1,196 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function (global, factory) {
|
2 |
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@jridgewell/trace-mapping'), require('@jridgewell/gen-mapping')) :
|
3 |
+
typeof define === 'function' && define.amd ? define(['@jridgewell/trace-mapping', '@jridgewell/gen-mapping'], factory) :
|
4 |
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.remapping = factory(global.traceMapping, global.genMapping));
|
5 |
+
})(this, (function (traceMapping, genMapping) { 'use strict';
|
6 |
+
|
7 |
+
const SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);
|
8 |
+
const EMPTY_SOURCES = [];
|
9 |
+
function SegmentObject(source, line, column, name, content) {
|
10 |
+
return { source, line, column, name, content };
|
11 |
+
}
|
12 |
+
function Source(map, sources, source, content) {
|
13 |
+
return {
|
14 |
+
map,
|
15 |
+
sources,
|
16 |
+
source,
|
17 |
+
content,
|
18 |
+
};
|
19 |
+
}
|
20 |
+
/**
|
21 |
+
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
22 |
+
* (which may themselves be SourceMapTrees).
|
23 |
+
*/
|
24 |
+
function MapSource(map, sources) {
|
25 |
+
return Source(map, sources, '', null);
|
26 |
+
}
|
27 |
+
/**
|
28 |
+
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
29 |
+
* segment tracing ends at the `OriginalSource`.
|
30 |
+
*/
|
31 |
+
function OriginalSource(source, content) {
|
32 |
+
return Source(null, EMPTY_SOURCES, source, content);
|
33 |
+
}
|
34 |
+
/**
|
35 |
+
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
36 |
+
* resolving each mapping in terms of the original source files.
|
37 |
+
*/
|
38 |
+
function traceMappings(tree) {
|
39 |
+
// TODO: Eventually support sourceRoot, which has to be removed because the sources are already
|
40 |
+
// fully resolved. We'll need to make sources relative to the sourceRoot before adding them.
|
41 |
+
const gen = new genMapping.GenMapping({ file: tree.map.file });
|
42 |
+
const { sources: rootSources, map } = tree;
|
43 |
+
const rootNames = map.names;
|
44 |
+
const rootMappings = traceMapping.decodedMappings(map);
|
45 |
+
for (let i = 0; i < rootMappings.length; i++) {
|
46 |
+
const segments = rootMappings[i];
|
47 |
+
for (let j = 0; j < segments.length; j++) {
|
48 |
+
const segment = segments[j];
|
49 |
+
const genCol = segment[0];
|
50 |
+
let traced = SOURCELESS_MAPPING;
|
51 |
+
// 1-length segments only move the current generated column, there's no source information
|
52 |
+
// to gather from it.
|
53 |
+
if (segment.length !== 1) {
|
54 |
+
const source = rootSources[segment[1]];
|
55 |
+
traced = originalPositionFor(source, segment[2], segment[3], segment.length === 5 ? rootNames[segment[4]] : '');
|
56 |
+
// If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a
|
57 |
+
// respective segment into an original source.
|
58 |
+
if (traced == null)
|
59 |
+
continue;
|
60 |
+
}
|
61 |
+
const { column, line, name, content, source } = traced;
|
62 |
+
genMapping.maybeAddSegment(gen, i, genCol, source, line, column, name);
|
63 |
+
if (source && content != null)
|
64 |
+
genMapping.setSourceContent(gen, source, content);
|
65 |
+
}
|
66 |
+
}
|
67 |
+
return gen;
|
68 |
+
}
|
69 |
+
/**
|
70 |
+
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
71 |
+
* child SourceMapTrees, until we find the original source map.
|
72 |
+
*/
|
73 |
+
function originalPositionFor(source, line, column, name) {
|
74 |
+
if (!source.map) {
|
75 |
+
return SegmentObject(source.source, line, column, name, source.content);
|
76 |
+
}
|
77 |
+
const segment = traceMapping.traceSegment(source.map, line, column);
|
78 |
+
// If we couldn't find a segment, then this doesn't exist in the sourcemap.
|
79 |
+
if (segment == null)
|
80 |
+
return null;
|
81 |
+
// 1-length segments only move the current generated column, there's no source information
|
82 |
+
// to gather from it.
|
83 |
+
if (segment.length === 1)
|
84 |
+
return SOURCELESS_MAPPING;
|
85 |
+
return originalPositionFor(source.sources[segment[1]], segment[2], segment[3], segment.length === 5 ? source.map.names[segment[4]] : name);
|
86 |
+
}
|
87 |
+
|
88 |
+
function asArray(value) {
|
89 |
+
if (Array.isArray(value))
|
90 |
+
return value;
|
91 |
+
return [value];
|
92 |
+
}
|
93 |
+
/**
|
94 |
+
* Recursively builds a tree structure out of sourcemap files, with each node
|
95 |
+
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
96 |
+
* `OriginalSource`s and `SourceMapTree`s.
|
97 |
+
*
|
98 |
+
* Every sourcemap is composed of a collection of source files and mappings
|
99 |
+
* into locations of those source files. When we generate a `SourceMapTree` for
|
100 |
+
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
101 |
+
* does not have an associated sourcemap, it is considered an original,
|
102 |
+
* unmodified source file.
|
103 |
+
*/
|
104 |
+
function buildSourceMapTree(input, loader) {
|
105 |
+
const maps = asArray(input).map((m) => new traceMapping.TraceMap(m, ''));
|
106 |
+
const map = maps.pop();
|
107 |
+
for (let i = 0; i < maps.length; i++) {
|
108 |
+
if (maps[i].sources.length > 1) {
|
109 |
+
throw new Error(`Transformation map ${i} must have exactly one source file.\n` +
|
110 |
+
'Did you specify these with the most recent transformation maps first?');
|
111 |
+
}
|
112 |
+
}
|
113 |
+
let tree = build(map, loader, '', 0);
|
114 |
+
for (let i = maps.length - 1; i >= 0; i--) {
|
115 |
+
tree = MapSource(maps[i], [tree]);
|
116 |
+
}
|
117 |
+
return tree;
|
118 |
+
}
|
119 |
+
function build(map, loader, importer, importerDepth) {
|
120 |
+
const { resolvedSources, sourcesContent } = map;
|
121 |
+
const depth = importerDepth + 1;
|
122 |
+
const children = resolvedSources.map((sourceFile, i) => {
|
123 |
+
// The loading context gives the loader more information about why this file is being loaded
|
124 |
+
// (eg, from which importer). It also allows the loader to override the location of the loaded
|
125 |
+
// sourcemap/original source, or to override the content in the sourcesContent field if it's
|
126 |
+
// an unmodified source file.
|
127 |
+
const ctx = {
|
128 |
+
importer,
|
129 |
+
depth,
|
130 |
+
source: sourceFile || '',
|
131 |
+
content: undefined,
|
132 |
+
};
|
133 |
+
// Use the provided loader callback to retrieve the file's sourcemap.
|
134 |
+
// TODO: We should eventually support async loading of sourcemap files.
|
135 |
+
const sourceMap = loader(ctx.source, ctx);
|
136 |
+
const { source, content } = ctx;
|
137 |
+
// If there is a sourcemap, then we need to recurse into it to load its source files.
|
138 |
+
if (sourceMap)
|
139 |
+
return build(new traceMapping.TraceMap(sourceMap, source), loader, source, depth);
|
140 |
+
// Else, it's an an unmodified source file.
|
141 |
+
// The contents of this unmodified source file can be overridden via the loader context,
|
142 |
+
// allowing it to be explicitly null or a string. If it remains undefined, we fall back to
|
143 |
+
// the importing sourcemap's `sourcesContent` field.
|
144 |
+
const sourceContent = content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;
|
145 |
+
return OriginalSource(source, sourceContent);
|
146 |
+
});
|
147 |
+
return MapSource(map, children);
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
152 |
+
* provided to it.
|
153 |
+
*/
|
154 |
+
class SourceMap {
|
155 |
+
constructor(map, options) {
|
156 |
+
const out = options.decodedMappings ? genMapping.toDecodedMap(map) : genMapping.toEncodedMap(map);
|
157 |
+
this.version = out.version; // SourceMap spec says this should be first.
|
158 |
+
this.file = out.file;
|
159 |
+
this.mappings = out.mappings;
|
160 |
+
this.names = out.names;
|
161 |
+
this.sourceRoot = out.sourceRoot;
|
162 |
+
this.sources = out.sources;
|
163 |
+
if (!options.excludeContent) {
|
164 |
+
this.sourcesContent = out.sourcesContent;
|
165 |
+
}
|
166 |
+
}
|
167 |
+
toString() {
|
168 |
+
return JSON.stringify(this);
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Traces through all the mappings in the root sourcemap, through the sources
|
174 |
+
* (and their sourcemaps), all the way back to the original source location.
|
175 |
+
*
|
176 |
+
* `loader` will be called every time we encounter a source file. If it returns
|
177 |
+
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
178 |
+
* it returns a falsey value, that source file is treated as an original,
|
179 |
+
* unmodified source file.
|
180 |
+
*
|
181 |
+
* Pass `excludeContent` to exclude any self-containing source file content
|
182 |
+
* from the output sourcemap.
|
183 |
+
*
|
184 |
+
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
185 |
+
* VLQ encoded) mappings.
|
186 |
+
*/
|
187 |
+
function remapping(input, loader, options) {
|
188 |
+
const opts = typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };
|
189 |
+
const tree = buildSourceMapTree(input, loader);
|
190 |
+
return new SourceMap(traceMappings(tree), opts);
|
191 |
+
}
|
192 |
+
|
193 |
+
return remapping;
|
194 |
+
|
195 |
+
}));
|
196 |
+
//# sourceMappingURL=remapping.umd.js.map
|
app/frontend/node_modules/@ampproject/remapping/dist/remapping.umd.js.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"remapping.umd.js","sources":["../src/source-map-tree.ts","../src/build-source-map-tree.ts","../src/source-map.ts","../src/remapping.ts"],"sourcesContent":["import { GenMapping, maybeAddSegment, setSourceContent } from '@jridgewell/gen-mapping';\nimport { traceSegment, decodedMappings } from '@jridgewell/trace-mapping';\n\nimport type { TraceMap } from '@jridgewell/trace-mapping';\n\nexport type SourceMapSegmentObject = {\n column: number;\n line: number;\n name: string;\n source: string;\n content: string | null;\n};\n\nexport type OriginalSource = {\n map: null;\n sources: Sources[];\n source: string;\n content: string | null;\n};\n\nexport type MapSource = {\n map: TraceMap;\n sources: Sources[];\n source: string;\n content: null;\n};\n\nexport type Sources = OriginalSource | MapSource;\n\nconst SOURCELESS_MAPPING = /* #__PURE__ */ SegmentObject('', -1, -1, '', null);\nconst EMPTY_SOURCES: Sources[] = [];\n\nfunction SegmentObject(\n source: string,\n line: number,\n column: number,\n name: string,\n content: string | null\n): SourceMapSegmentObject {\n return { source, line, column, name, content };\n}\n\nfunction Source(map: TraceMap, sources: Sources[], source: '', content: null): MapSource;\nfunction Source(\n map: null,\n sources: Sources[],\n source: string,\n content: string | null\n): OriginalSource;\nfunction Source(\n map: TraceMap | null,\n sources: Sources[],\n source: string | '',\n content: string | null\n): Sources {\n return {\n map,\n sources,\n source,\n content,\n } as any;\n}\n\n/**\n * MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes\n * (which may themselves be SourceMapTrees).\n */\nexport function MapSource(map: TraceMap, sources: Sources[]): MapSource {\n return Source(map, sources, '', null);\n}\n\n/**\n * A \"leaf\" node in the sourcemap tree, representing an original, unmodified source file. Recursive\n * segment tracing ends at the `OriginalSource`.\n */\nexport function OriginalSource(source: string, content: string | null): OriginalSource {\n return Source(null, EMPTY_SOURCES, source, content);\n}\n\n/**\n * traceMappings is only called on the root level SourceMapTree, and begins the process of\n * resolving each mapping in terms of the original source files.\n */\nexport function traceMappings(tree: MapSource): GenMapping {\n // TODO: Eventually support sourceRoot, which has to be removed because the sources are already\n // fully resolved. We'll need to make sources relative to the sourceRoot before adding them.\n const gen = new GenMapping({ file: tree.map.file });\n const { sources: rootSources, map } = tree;\n const rootNames = map.names;\n const rootMappings = decodedMappings(map);\n\n for (let i = 0; i < rootMappings.length; i++) {\n const segments = rootMappings[i];\n\n for (let j = 0; j < segments.length; j++) {\n const segment = segments[j];\n const genCol = segment[0];\n let traced: SourceMapSegmentObject | null = SOURCELESS_MAPPING;\n\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length !== 1) {\n const source = rootSources[segment[1]];\n traced = originalPositionFor(\n source,\n segment[2],\n segment[3],\n segment.length === 5 ? rootNames[segment[4]] : ''\n );\n\n // If the trace is invalid, then the trace ran into a sourcemap that doesn't contain a\n // respective segment into an original source.\n if (traced == null) continue;\n }\n\n const { column, line, name, content, source } = traced;\n\n maybeAddSegment(gen, i, genCol, source, line, column, name);\n if (source && content != null) setSourceContent(gen, source, content);\n }\n }\n\n return gen;\n}\n\n/**\n * originalPositionFor is only called on children SourceMapTrees. It recurses down into its own\n * child SourceMapTrees, until we find the original source map.\n */\nexport function originalPositionFor(\n source: Sources,\n line: number,\n column: number,\n name: string\n): SourceMapSegmentObject | null {\n if (!source.map) {\n return SegmentObject(source.source, line, column, name, source.content);\n }\n\n const segment = traceSegment(source.map, line, column);\n\n // If we couldn't find a segment, then this doesn't exist in the sourcemap.\n if (segment == null) return null;\n // 1-length segments only move the current generated column, there's no source information\n // to gather from it.\n if (segment.length === 1) return SOURCELESS_MAPPING;\n\n return originalPositionFor(\n source.sources[segment[1]],\n segment[2],\n segment[3],\n segment.length === 5 ? source.map.names[segment[4]] : name\n );\n}\n","import { TraceMap } from '@jridgewell/trace-mapping';\n\nimport { OriginalSource, MapSource } from './source-map-tree';\n\nimport type { Sources, MapSource as MapSourceType } from './source-map-tree';\nimport type { SourceMapInput, SourceMapLoader, LoaderContext } from './types';\n\nfunction asArray<T>(value: T | T[]): T[] {\n if (Array.isArray(value)) return value;\n return [value];\n}\n\n/**\n * Recursively builds a tree structure out of sourcemap files, with each node\n * being either an `OriginalSource` \"leaf\" or a `SourceMapTree` composed of\n * `OriginalSource`s and `SourceMapTree`s.\n *\n * Every sourcemap is composed of a collection of source files and mappings\n * into locations of those source files. When we generate a `SourceMapTree` for\n * the sourcemap, we attempt to load each source file's own sourcemap. If it\n * does not have an associated sourcemap, it is considered an original,\n * unmodified source file.\n */\nexport default function buildSourceMapTree(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader\n): MapSourceType {\n const maps = asArray(input).map((m) => new TraceMap(m, ''));\n const map = maps.pop()!;\n\n for (let i = 0; i < maps.length; i++) {\n if (maps[i].sources.length > 1) {\n throw new Error(\n `Transformation map ${i} must have exactly one source file.\\n` +\n 'Did you specify these with the most recent transformation maps first?'\n );\n }\n }\n\n let tree = build(map, loader, '', 0);\n for (let i = maps.length - 1; i >= 0; i--) {\n tree = MapSource(maps[i], [tree]);\n }\n return tree;\n}\n\nfunction build(\n map: TraceMap,\n loader: SourceMapLoader,\n importer: string,\n importerDepth: number\n): MapSourceType {\n const { resolvedSources, sourcesContent } = map;\n\n const depth = importerDepth + 1;\n const children = resolvedSources.map((sourceFile: string | null, i: number): Sources => {\n // The loading context gives the loader more information about why this file is being loaded\n // (eg, from which importer). It also allows the loader to override the location of the loaded\n // sourcemap/original source, or to override the content in the sourcesContent field if it's\n // an unmodified source file.\n const ctx: LoaderContext = {\n importer,\n depth,\n source: sourceFile || '',\n content: undefined,\n };\n\n // Use the provided loader callback to retrieve the file's sourcemap.\n // TODO: We should eventually support async loading of sourcemap files.\n const sourceMap = loader(ctx.source, ctx);\n\n const { source, content } = ctx;\n\n // If there is a sourcemap, then we need to recurse into it to load its source files.\n if (sourceMap) return build(new TraceMap(sourceMap, source), loader, source, depth);\n\n // Else, it's an an unmodified source file.\n // The contents of this unmodified source file can be overridden via the loader context,\n // allowing it to be explicitly null or a string. If it remains undefined, we fall back to\n // the importing sourcemap's `sourcesContent` field.\n const sourceContent =\n content !== undefined ? content : sourcesContent ? sourcesContent[i] : null;\n return OriginalSource(source, sourceContent);\n });\n\n return MapSource(map, children);\n}\n","import { toDecodedMap, toEncodedMap } from '@jridgewell/gen-mapping';\n\nimport type { GenMapping } from '@jridgewell/gen-mapping';\nimport type { DecodedSourceMap, EncodedSourceMap, Options } from './types';\n\n/**\n * A SourceMap v3 compatible sourcemap, which only includes fields that were\n * provided to it.\n */\nexport default class SourceMap {\n declare file?: string | null;\n declare mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];\n declare sourceRoot?: string;\n declare names: string[];\n declare sources: (string | null)[];\n declare sourcesContent?: (string | null)[];\n declare version: 3;\n\n constructor(map: GenMapping, options: Options) {\n const out = options.decodedMappings ? toDecodedMap(map) : toEncodedMap(map);\n this.version = out.version; // SourceMap spec says this should be first.\n this.file = out.file;\n this.mappings = out.mappings as SourceMap['mappings'];\n this.names = out.names as SourceMap['names'];\n\n this.sourceRoot = out.sourceRoot;\n\n this.sources = out.sources as SourceMap['sources'];\n if (!options.excludeContent) {\n this.sourcesContent = out.sourcesContent as SourceMap['sourcesContent'];\n }\n }\n\n toString(): string {\n return JSON.stringify(this);\n }\n}\n","import buildSourceMapTree from './build-source-map-tree';\nimport { traceMappings } from './source-map-tree';\nimport SourceMap from './source-map';\n\nimport type { SourceMapInput, SourceMapLoader, Options } from './types';\nexport type {\n SourceMapSegment,\n EncodedSourceMap,\n EncodedSourceMap as RawSourceMap,\n DecodedSourceMap,\n SourceMapInput,\n SourceMapLoader,\n LoaderContext,\n Options,\n} from './types';\n\n/**\n * Traces through all the mappings in the root sourcemap, through the sources\n * (and their sourcemaps), all the way back to the original source location.\n *\n * `loader` will be called every time we encounter a source file. If it returns\n * a sourcemap, we will recurse into that sourcemap to continue the trace. If\n * it returns a falsey value, that source file is treated as an original,\n * unmodified source file.\n *\n * Pass `excludeContent` to exclude any self-containing source file content\n * from the output sourcemap.\n *\n * Pass `decodedMappings` to receive a SourceMap with decoded (instead of\n * VLQ encoded) mappings.\n */\nexport default function remapping(\n input: SourceMapInput | SourceMapInput[],\n loader: SourceMapLoader,\n options?: boolean | Options\n): SourceMap {\n const opts =\n typeof options === 'object' ? options : { excludeContent: !!options, decodedMappings: false };\n const tree = buildSourceMapTree(input, loader);\n return new SourceMap(traceMappings(tree), opts);\n}\n"],"names":["GenMapping","decodedMappings","maybeAddSegment","setSourceContent","traceSegment","TraceMap","toDecodedMap","toEncodedMap"],"mappings":"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"}
|
app/frontend/node_modules/@ampproject/remapping/dist/types/build-source-map-tree.d.ts
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { MapSource as MapSourceType } from './source-map-tree';
|
2 |
+
import type { SourceMapInput, SourceMapLoader } from './types';
|
3 |
+
/**
|
4 |
+
* Recursively builds a tree structure out of sourcemap files, with each node
|
5 |
+
* being either an `OriginalSource` "leaf" or a `SourceMapTree` composed of
|
6 |
+
* `OriginalSource`s and `SourceMapTree`s.
|
7 |
+
*
|
8 |
+
* Every sourcemap is composed of a collection of source files and mappings
|
9 |
+
* into locations of those source files. When we generate a `SourceMapTree` for
|
10 |
+
* the sourcemap, we attempt to load each source file's own sourcemap. If it
|
11 |
+
* does not have an associated sourcemap, it is considered an original,
|
12 |
+
* unmodified source file.
|
13 |
+
*/
|
14 |
+
export default function buildSourceMapTree(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader): MapSourceType;
|
app/frontend/node_modules/@ampproject/remapping/dist/types/remapping.d.ts
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import SourceMap from './source-map';
|
2 |
+
import type { SourceMapInput, SourceMapLoader, Options } from './types';
|
3 |
+
export type { SourceMapSegment, EncodedSourceMap, EncodedSourceMap as RawSourceMap, DecodedSourceMap, SourceMapInput, SourceMapLoader, LoaderContext, Options, } from './types';
|
4 |
+
/**
|
5 |
+
* Traces through all the mappings in the root sourcemap, through the sources
|
6 |
+
* (and their sourcemaps), all the way back to the original source location.
|
7 |
+
*
|
8 |
+
* `loader` will be called every time we encounter a source file. If it returns
|
9 |
+
* a sourcemap, we will recurse into that sourcemap to continue the trace. If
|
10 |
+
* it returns a falsey value, that source file is treated as an original,
|
11 |
+
* unmodified source file.
|
12 |
+
*
|
13 |
+
* Pass `excludeContent` to exclude any self-containing source file content
|
14 |
+
* from the output sourcemap.
|
15 |
+
*
|
16 |
+
* Pass `decodedMappings` to receive a SourceMap with decoded (instead of
|
17 |
+
* VLQ encoded) mappings.
|
18 |
+
*/
|
19 |
+
export default function remapping(input: SourceMapInput | SourceMapInput[], loader: SourceMapLoader, options?: boolean | Options): SourceMap;
|
app/frontend/node_modules/@ampproject/remapping/dist/types/source-map-tree.d.ts
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { GenMapping } from '@jridgewell/gen-mapping';
|
2 |
+
import type { TraceMap } from '@jridgewell/trace-mapping';
|
3 |
+
export declare type SourceMapSegmentObject = {
|
4 |
+
column: number;
|
5 |
+
line: number;
|
6 |
+
name: string;
|
7 |
+
source: string;
|
8 |
+
content: string | null;
|
9 |
+
};
|
10 |
+
export declare type OriginalSource = {
|
11 |
+
map: null;
|
12 |
+
sources: Sources[];
|
13 |
+
source: string;
|
14 |
+
content: string | null;
|
15 |
+
};
|
16 |
+
export declare type MapSource = {
|
17 |
+
map: TraceMap;
|
18 |
+
sources: Sources[];
|
19 |
+
source: string;
|
20 |
+
content: null;
|
21 |
+
};
|
22 |
+
export declare type Sources = OriginalSource | MapSource;
|
23 |
+
/**
|
24 |
+
* MapSource represents a single sourcemap, with the ability to trace mappings into its child nodes
|
25 |
+
* (which may themselves be SourceMapTrees).
|
26 |
+
*/
|
27 |
+
export declare function MapSource(map: TraceMap, sources: Sources[]): MapSource;
|
28 |
+
/**
|
29 |
+
* A "leaf" node in the sourcemap tree, representing an original, unmodified source file. Recursive
|
30 |
+
* segment tracing ends at the `OriginalSource`.
|
31 |
+
*/
|
32 |
+
export declare function OriginalSource(source: string, content: string | null): OriginalSource;
|
33 |
+
/**
|
34 |
+
* traceMappings is only called on the root level SourceMapTree, and begins the process of
|
35 |
+
* resolving each mapping in terms of the original source files.
|
36 |
+
*/
|
37 |
+
export declare function traceMappings(tree: MapSource): GenMapping;
|
38 |
+
/**
|
39 |
+
* originalPositionFor is only called on children SourceMapTrees. It recurses down into its own
|
40 |
+
* child SourceMapTrees, until we find the original source map.
|
41 |
+
*/
|
42 |
+
export declare function originalPositionFor(source: Sources, line: number, column: number, name: string): SourceMapSegmentObject | null;
|
app/frontend/node_modules/@ampproject/remapping/dist/types/source-map.d.ts
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { GenMapping } from '@jridgewell/gen-mapping';
|
2 |
+
import type { DecodedSourceMap, EncodedSourceMap, Options } from './types';
|
3 |
+
/**
|
4 |
+
* A SourceMap v3 compatible sourcemap, which only includes fields that were
|
5 |
+
* provided to it.
|
6 |
+
*/
|
7 |
+
export default class SourceMap {
|
8 |
+
file?: string | null;
|
9 |
+
mappings: EncodedSourceMap['mappings'] | DecodedSourceMap['mappings'];
|
10 |
+
sourceRoot?: string;
|
11 |
+
names: string[];
|
12 |
+
sources: (string | null)[];
|
13 |
+
sourcesContent?: (string | null)[];
|
14 |
+
version: 3;
|
15 |
+
constructor(map: GenMapping, options: Options);
|
16 |
+
toString(): string;
|
17 |
+
}
|
app/frontend/node_modules/@ampproject/remapping/dist/types/types.d.ts
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { SourceMapInput } from '@jridgewell/trace-mapping';
|
2 |
+
export type { SourceMapSegment, DecodedSourceMap, EncodedSourceMap, } from '@jridgewell/trace-mapping';
|
3 |
+
export type { SourceMapInput };
|
4 |
+
export declare type LoaderContext = {
|
5 |
+
readonly importer: string;
|
6 |
+
readonly depth: number;
|
7 |
+
source: string;
|
8 |
+
content: string | null | undefined;
|
9 |
+
};
|
10 |
+
export declare type SourceMapLoader = (file: string, ctx: LoaderContext) => SourceMapInput | null | undefined | void;
|
11 |
+
export declare type Options = {
|
12 |
+
excludeContent?: boolean;
|
13 |
+
decodedMappings?: boolean;
|
14 |
+
};
|
app/frontend/node_modules/@ampproject/remapping/package.json
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "@ampproject/remapping",
|
3 |
+
"version": "2.2.1",
|
4 |
+
"description": "Remap sequential sourcemaps through transformations to point at the original source code",
|
5 |
+
"keywords": [
|
6 |
+
"source",
|
7 |
+
"map",
|
8 |
+
"remap"
|
9 |
+
],
|
10 |
+
"main": "dist/remapping.umd.js",
|
11 |
+
"module": "dist/remapping.mjs",
|
12 |
+
"types": "dist/types/remapping.d.ts",
|
13 |
+
"exports": {
|
14 |
+
".": [
|
15 |
+
{
|
16 |
+
"types": "./dist/types/remapping.d.ts",
|
17 |
+
"browser": "./dist/remapping.umd.js",
|
18 |
+
"require": "./dist/remapping.umd.js",
|
19 |
+
"import": "./dist/remapping.mjs"
|
20 |
+
},
|
21 |
+
"./dist/remapping.umd.js"
|
22 |
+
],
|
23 |
+
"./package.json": "./package.json"
|
24 |
+
},
|
25 |
+
"files": [
|
26 |
+
"dist"
|
27 |
+
],
|
28 |
+
"author": "Justin Ridgewell <[email protected]>",
|
29 |
+
"repository": {
|
30 |
+
"type": "git",
|
31 |
+
"url": "git+https://github.com/ampproject/remapping.git"
|
32 |
+
},
|
33 |
+
"license": "Apache-2.0",
|
34 |
+
"engines": {
|
35 |
+
"node": ">=6.0.0"
|
36 |
+
},
|
37 |
+
"scripts": {
|
38 |
+
"build": "run-s -n build:*",
|
39 |
+
"build:rollup": "rollup -c rollup.config.js",
|
40 |
+
"build:ts": "tsc --project tsconfig.build.json",
|
41 |
+
"lint": "run-s -n lint:*",
|
42 |
+
"lint:prettier": "npm run test:lint:prettier -- --write",
|
43 |
+
"lint:ts": "npm run test:lint:ts -- --fix",
|
44 |
+
"prebuild": "rm -rf dist",
|
45 |
+
"prepublishOnly": "npm run preversion",
|
46 |
+
"preversion": "run-s test build",
|
47 |
+
"test": "run-s -n test:lint test:only",
|
48 |
+
"test:debug": "node --inspect-brk node_modules/.bin/jest --runInBand",
|
49 |
+
"test:lint": "run-s -n test:lint:*",
|
50 |
+
"test:lint:prettier": "prettier --check '{src,test}/**/*.ts'",
|
51 |
+
"test:lint:ts": "eslint '{src,test}/**/*.ts'",
|
52 |
+
"test:only": "jest --coverage",
|
53 |
+
"test:watch": "jest --coverage --watch"
|
54 |
+
},
|
55 |
+
"devDependencies": {
|
56 |
+
"@rollup/plugin-typescript": "8.3.2",
|
57 |
+
"@types/jest": "27.4.1",
|
58 |
+
"@typescript-eslint/eslint-plugin": "5.20.0",
|
59 |
+
"@typescript-eslint/parser": "5.20.0",
|
60 |
+
"eslint": "8.14.0",
|
61 |
+
"eslint-config-prettier": "8.5.0",
|
62 |
+
"jest": "27.5.1",
|
63 |
+
"jest-config": "27.5.1",
|
64 |
+
"npm-run-all": "4.1.5",
|
65 |
+
"prettier": "2.6.2",
|
66 |
+
"rollup": "2.70.2",
|
67 |
+
"ts-jest": "27.1.4",
|
68 |
+
"tslib": "2.4.0",
|
69 |
+
"typescript": "4.6.3"
|
70 |
+
},
|
71 |
+
"dependencies": {
|
72 |
+
"@jridgewell/gen-mapping": "^0.3.0",
|
73 |
+
"@jridgewell/trace-mapping": "^0.3.9"
|
74 |
+
}
|
75 |
+
}
|
app/frontend/node_modules/@esbuild/linux-x64/README.md
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
# esbuild
|
2 |
+
|
3 |
+
This is the Linux 64-bit binary for esbuild, a JavaScript bundler and minifier. See https://github.com/evanw/esbuild for details.
|
app/frontend/node_modules/@esbuild/linux-x64/bin/esbuild
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f5e95cf71da076b05263e9109f9aa0bd8e7b55e8ac8f1c4bf32e6eab444fcfab
|
3 |
+
size 9424896
|
app/frontend/node_modules/@esbuild/linux-x64/package.json
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "@esbuild/linux-x64",
|
3 |
+
"version": "0.19.5",
|
4 |
+
"description": "The Linux 64-bit binary for esbuild, a JavaScript bundler.",
|
5 |
+
"repository": "https://github.com/evanw/esbuild",
|
6 |
+
"license": "MIT",
|
7 |
+
"preferUnplugged": true,
|
8 |
+
"engines": {
|
9 |
+
"node": ">=12"
|
10 |
+
},
|
11 |
+
"os": [
|
12 |
+
"linux"
|
13 |
+
],
|
14 |
+
"cpu": [
|
15 |
+
"x64"
|
16 |
+
]
|
17 |
+
}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/262.d.ts
ADDED
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* https://tc39.es/ecma262/#sec-tostring
|
3 |
+
*/
|
4 |
+
export declare function ToString(o: unknown): string;
|
5 |
+
/**
|
6 |
+
* https://tc39.es/ecma262/#sec-tonumber
|
7 |
+
* @param val
|
8 |
+
*/
|
9 |
+
export declare function ToNumber(val: any): number;
|
10 |
+
/**
|
11 |
+
* https://tc39.es/ecma262/#sec-timeclip
|
12 |
+
* @param time
|
13 |
+
*/
|
14 |
+
export declare function TimeClip(time: number): number;
|
15 |
+
/**
|
16 |
+
* https://tc39.es/ecma262/#sec-toobject
|
17 |
+
* @param arg
|
18 |
+
*/
|
19 |
+
export declare function ToObject<T>(arg: T): T extends null ? never : T extends undefined ? never : T;
|
20 |
+
/**
|
21 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue
|
22 |
+
* @param x
|
23 |
+
* @param y
|
24 |
+
*/
|
25 |
+
export declare function SameValue(x: any, y: any): boolean;
|
26 |
+
/**
|
27 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate
|
28 |
+
* @param len
|
29 |
+
*/
|
30 |
+
export declare function ArrayCreate(len: number): any[];
|
31 |
+
/**
|
32 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty
|
33 |
+
* @param o
|
34 |
+
* @param prop
|
35 |
+
*/
|
36 |
+
export declare function HasOwnProperty(o: object, prop: string): boolean;
|
37 |
+
/**
|
38 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type
|
39 |
+
* @param x
|
40 |
+
*/
|
41 |
+
export declare function Type(x: any): "Null" | "Undefined" | "Object" | "Number" | "Boolean" | "String" | "Symbol" | "BigInt" | undefined;
|
42 |
+
/**
|
43 |
+
* https://tc39.es/ecma262/#eqn-Day
|
44 |
+
* @param t
|
45 |
+
*/
|
46 |
+
export declare function Day(t: number): number;
|
47 |
+
/**
|
48 |
+
* https://tc39.es/ecma262/#sec-week-day
|
49 |
+
* @param t
|
50 |
+
*/
|
51 |
+
export declare function WeekDay(t: number): number;
|
52 |
+
/**
|
53 |
+
* https://tc39.es/ecma262/#sec-year-number
|
54 |
+
* @param y
|
55 |
+
*/
|
56 |
+
export declare function DayFromYear(y: number): number;
|
57 |
+
/**
|
58 |
+
* https://tc39.es/ecma262/#sec-year-number
|
59 |
+
* @param y
|
60 |
+
*/
|
61 |
+
export declare function TimeFromYear(y: number): number;
|
62 |
+
/**
|
63 |
+
* https://tc39.es/ecma262/#sec-year-number
|
64 |
+
* @param t
|
65 |
+
*/
|
66 |
+
export declare function YearFromTime(t: number): number;
|
67 |
+
export declare function DaysInYear(y: number): 365 | 366;
|
68 |
+
export declare function DayWithinYear(t: number): number;
|
69 |
+
export declare function InLeapYear(t: number): 0 | 1;
|
70 |
+
/**
|
71 |
+
* https://tc39.es/ecma262/#sec-month-number
|
72 |
+
* @param t
|
73 |
+
*/
|
74 |
+
export declare function MonthFromTime(t: number): 0 | 1 | 2 | 3 | 4 | 7 | 5 | 6 | 8 | 9 | 10 | 11;
|
75 |
+
export declare function DateFromTime(t: number): number;
|
76 |
+
export declare function HourFromTime(t: number): number;
|
77 |
+
export declare function MinFromTime(t: number): number;
|
78 |
+
export declare function SecFromTime(t: number): number;
|
79 |
+
/**
|
80 |
+
* The abstract operation OrdinaryHasInstance implements
|
81 |
+
* the default algorithm for determining if an object O
|
82 |
+
* inherits from the instance object inheritance path
|
83 |
+
* provided by constructor C.
|
84 |
+
* @param C class
|
85 |
+
* @param O object
|
86 |
+
* @param internalSlots internalSlots
|
87 |
+
*/
|
88 |
+
export declare function OrdinaryHasInstance(C: Object, O: any, internalSlots?: {
|
89 |
+
boundTargetFunction: any;
|
90 |
+
}): boolean;
|
91 |
+
export declare function msFromTime(t: number): number;
|
92 |
+
//# sourceMappingURL=262.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/262.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"262.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/262.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAM3C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAiBzC;AAwBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAQpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE,CAAC,GACL,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAK1D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAYvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,SAEtC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAErD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,GAAG,uGAyB1B;AAcD;;;GAGG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,UAE5B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,UAEhC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAErC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAErC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,aAWnC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,UAEtC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAE3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,mDAwCtC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAyCrC;AASD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,UAErC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,UAEpC;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,UAEpC;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,GAAG,EACN,aAAa,CAAC,EAAE;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAC,WAmB3C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5C"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/262.js
ADDED
@@ -0,0 +1,362 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
+
exports.msFromTime = exports.OrdinaryHasInstance = exports.SecFromTime = exports.MinFromTime = exports.HourFromTime = exports.DateFromTime = exports.MonthFromTime = exports.InLeapYear = exports.DayWithinYear = exports.DaysInYear = exports.YearFromTime = exports.TimeFromYear = exports.DayFromYear = exports.WeekDay = exports.Day = exports.Type = exports.HasOwnProperty = exports.ArrayCreate = exports.SameValue = exports.ToObject = exports.TimeClip = exports.ToNumber = exports.ToString = void 0;
|
4 |
+
/**
|
5 |
+
* https://tc39.es/ecma262/#sec-tostring
|
6 |
+
*/
|
7 |
+
function ToString(o) {
|
8 |
+
// Only symbol is irregular...
|
9 |
+
if (typeof o === 'symbol') {
|
10 |
+
throw TypeError('Cannot convert a Symbol value to a string');
|
11 |
+
}
|
12 |
+
return String(o);
|
13 |
+
}
|
14 |
+
exports.ToString = ToString;
|
15 |
+
/**
|
16 |
+
* https://tc39.es/ecma262/#sec-tonumber
|
17 |
+
* @param val
|
18 |
+
*/
|
19 |
+
function ToNumber(val) {
|
20 |
+
if (val === undefined) {
|
21 |
+
return NaN;
|
22 |
+
}
|
23 |
+
if (val === null) {
|
24 |
+
return +0;
|
25 |
+
}
|
26 |
+
if (typeof val === 'boolean') {
|
27 |
+
return val ? 1 : +0;
|
28 |
+
}
|
29 |
+
if (typeof val === 'number') {
|
30 |
+
return val;
|
31 |
+
}
|
32 |
+
if (typeof val === 'symbol' || typeof val === 'bigint') {
|
33 |
+
throw new TypeError('Cannot convert symbol/bigint to number');
|
34 |
+
}
|
35 |
+
return Number(val);
|
36 |
+
}
|
37 |
+
exports.ToNumber = ToNumber;
|
38 |
+
/**
|
39 |
+
* https://tc39.es/ecma262/#sec-tointeger
|
40 |
+
* @param n
|
41 |
+
*/
|
42 |
+
function ToInteger(n) {
|
43 |
+
var number = ToNumber(n);
|
44 |
+
if (isNaN(number) || SameValue(number, -0)) {
|
45 |
+
return 0;
|
46 |
+
}
|
47 |
+
if (isFinite(number)) {
|
48 |
+
return number;
|
49 |
+
}
|
50 |
+
var integer = Math.floor(Math.abs(number));
|
51 |
+
if (number < 0) {
|
52 |
+
integer = -integer;
|
53 |
+
}
|
54 |
+
if (SameValue(integer, -0)) {
|
55 |
+
return 0;
|
56 |
+
}
|
57 |
+
return integer;
|
58 |
+
}
|
59 |
+
/**
|
60 |
+
* https://tc39.es/ecma262/#sec-timeclip
|
61 |
+
* @param time
|
62 |
+
*/
|
63 |
+
function TimeClip(time) {
|
64 |
+
if (!isFinite(time)) {
|
65 |
+
return NaN;
|
66 |
+
}
|
67 |
+
if (Math.abs(time) > 8.64 * 1e15) {
|
68 |
+
return NaN;
|
69 |
+
}
|
70 |
+
return ToInteger(time);
|
71 |
+
}
|
72 |
+
exports.TimeClip = TimeClip;
|
73 |
+
/**
|
74 |
+
* https://tc39.es/ecma262/#sec-toobject
|
75 |
+
* @param arg
|
76 |
+
*/
|
77 |
+
function ToObject(arg) {
|
78 |
+
if (arg == null) {
|
79 |
+
throw new TypeError('undefined/null cannot be converted to object');
|
80 |
+
}
|
81 |
+
return Object(arg);
|
82 |
+
}
|
83 |
+
exports.ToObject = ToObject;
|
84 |
+
/**
|
85 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue
|
86 |
+
* @param x
|
87 |
+
* @param y
|
88 |
+
*/
|
89 |
+
function SameValue(x, y) {
|
90 |
+
if (Object.is) {
|
91 |
+
return Object.is(x, y);
|
92 |
+
}
|
93 |
+
// SameValue algorithm
|
94 |
+
if (x === y) {
|
95 |
+
// Steps 1-5, 7-10
|
96 |
+
// Steps 6.b-6.e: +0 != -0
|
97 |
+
return x !== 0 || 1 / x === 1 / y;
|
98 |
+
}
|
99 |
+
// Step 6.a: NaN == NaN
|
100 |
+
return x !== x && y !== y;
|
101 |
+
}
|
102 |
+
exports.SameValue = SameValue;
|
103 |
+
/**
|
104 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate
|
105 |
+
* @param len
|
106 |
+
*/
|
107 |
+
function ArrayCreate(len) {
|
108 |
+
return new Array(len);
|
109 |
+
}
|
110 |
+
exports.ArrayCreate = ArrayCreate;
|
111 |
+
/**
|
112 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty
|
113 |
+
* @param o
|
114 |
+
* @param prop
|
115 |
+
*/
|
116 |
+
function HasOwnProperty(o, prop) {
|
117 |
+
return Object.prototype.hasOwnProperty.call(o, prop);
|
118 |
+
}
|
119 |
+
exports.HasOwnProperty = HasOwnProperty;
|
120 |
+
/**
|
121 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type
|
122 |
+
* @param x
|
123 |
+
*/
|
124 |
+
function Type(x) {
|
125 |
+
if (x === null) {
|
126 |
+
return 'Null';
|
127 |
+
}
|
128 |
+
if (typeof x === 'undefined') {
|
129 |
+
return 'Undefined';
|
130 |
+
}
|
131 |
+
if (typeof x === 'function' || typeof x === 'object') {
|
132 |
+
return 'Object';
|
133 |
+
}
|
134 |
+
if (typeof x === 'number') {
|
135 |
+
return 'Number';
|
136 |
+
}
|
137 |
+
if (typeof x === 'boolean') {
|
138 |
+
return 'Boolean';
|
139 |
+
}
|
140 |
+
if (typeof x === 'string') {
|
141 |
+
return 'String';
|
142 |
+
}
|
143 |
+
if (typeof x === 'symbol') {
|
144 |
+
return 'Symbol';
|
145 |
+
}
|
146 |
+
if (typeof x === 'bigint') {
|
147 |
+
return 'BigInt';
|
148 |
+
}
|
149 |
+
}
|
150 |
+
exports.Type = Type;
|
151 |
+
var MS_PER_DAY = 86400000;
|
152 |
+
/**
|
153 |
+
* https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo
|
154 |
+
* @param x
|
155 |
+
* @param y
|
156 |
+
* @return k of the same sign as y
|
157 |
+
*/
|
158 |
+
function mod(x, y) {
|
159 |
+
return x - Math.floor(x / y) * y;
|
160 |
+
}
|
161 |
+
/**
|
162 |
+
* https://tc39.es/ecma262/#eqn-Day
|
163 |
+
* @param t
|
164 |
+
*/
|
165 |
+
function Day(t) {
|
166 |
+
return Math.floor(t / MS_PER_DAY);
|
167 |
+
}
|
168 |
+
exports.Day = Day;
|
169 |
+
/**
|
170 |
+
* https://tc39.es/ecma262/#sec-week-day
|
171 |
+
* @param t
|
172 |
+
*/
|
173 |
+
function WeekDay(t) {
|
174 |
+
return mod(Day(t) + 4, 7);
|
175 |
+
}
|
176 |
+
exports.WeekDay = WeekDay;
|
177 |
+
/**
|
178 |
+
* https://tc39.es/ecma262/#sec-year-number
|
179 |
+
* @param y
|
180 |
+
*/
|
181 |
+
function DayFromYear(y) {
|
182 |
+
return Date.UTC(y, 0) / MS_PER_DAY;
|
183 |
+
}
|
184 |
+
exports.DayFromYear = DayFromYear;
|
185 |
+
/**
|
186 |
+
* https://tc39.es/ecma262/#sec-year-number
|
187 |
+
* @param y
|
188 |
+
*/
|
189 |
+
function TimeFromYear(y) {
|
190 |
+
return Date.UTC(y, 0);
|
191 |
+
}
|
192 |
+
exports.TimeFromYear = TimeFromYear;
|
193 |
+
/**
|
194 |
+
* https://tc39.es/ecma262/#sec-year-number
|
195 |
+
* @param t
|
196 |
+
*/
|
197 |
+
function YearFromTime(t) {
|
198 |
+
return new Date(t).getUTCFullYear();
|
199 |
+
}
|
200 |
+
exports.YearFromTime = YearFromTime;
|
201 |
+
function DaysInYear(y) {
|
202 |
+
if (y % 4 !== 0) {
|
203 |
+
return 365;
|
204 |
+
}
|
205 |
+
if (y % 100 !== 0) {
|
206 |
+
return 366;
|
207 |
+
}
|
208 |
+
if (y % 400 !== 0) {
|
209 |
+
return 365;
|
210 |
+
}
|
211 |
+
return 366;
|
212 |
+
}
|
213 |
+
exports.DaysInYear = DaysInYear;
|
214 |
+
function DayWithinYear(t) {
|
215 |
+
return Day(t) - DayFromYear(YearFromTime(t));
|
216 |
+
}
|
217 |
+
exports.DayWithinYear = DayWithinYear;
|
218 |
+
function InLeapYear(t) {
|
219 |
+
return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1;
|
220 |
+
}
|
221 |
+
exports.InLeapYear = InLeapYear;
|
222 |
+
/**
|
223 |
+
* https://tc39.es/ecma262/#sec-month-number
|
224 |
+
* @param t
|
225 |
+
*/
|
226 |
+
function MonthFromTime(t) {
|
227 |
+
var dwy = DayWithinYear(t);
|
228 |
+
var leap = InLeapYear(t);
|
229 |
+
if (dwy >= 0 && dwy < 31) {
|
230 |
+
return 0;
|
231 |
+
}
|
232 |
+
if (dwy < 59 + leap) {
|
233 |
+
return 1;
|
234 |
+
}
|
235 |
+
if (dwy < 90 + leap) {
|
236 |
+
return 2;
|
237 |
+
}
|
238 |
+
if (dwy < 120 + leap) {
|
239 |
+
return 3;
|
240 |
+
}
|
241 |
+
if (dwy < 151 + leap) {
|
242 |
+
return 4;
|
243 |
+
}
|
244 |
+
if (dwy < 181 + leap) {
|
245 |
+
return 5;
|
246 |
+
}
|
247 |
+
if (dwy < 212 + leap) {
|
248 |
+
return 6;
|
249 |
+
}
|
250 |
+
if (dwy < 243 + leap) {
|
251 |
+
return 7;
|
252 |
+
}
|
253 |
+
if (dwy < 273 + leap) {
|
254 |
+
return 8;
|
255 |
+
}
|
256 |
+
if (dwy < 304 + leap) {
|
257 |
+
return 9;
|
258 |
+
}
|
259 |
+
if (dwy < 334 + leap) {
|
260 |
+
return 10;
|
261 |
+
}
|
262 |
+
if (dwy < 365 + leap) {
|
263 |
+
return 11;
|
264 |
+
}
|
265 |
+
throw new Error('Invalid time');
|
266 |
+
}
|
267 |
+
exports.MonthFromTime = MonthFromTime;
|
268 |
+
function DateFromTime(t) {
|
269 |
+
var dwy = DayWithinYear(t);
|
270 |
+
var mft = MonthFromTime(t);
|
271 |
+
var leap = InLeapYear(t);
|
272 |
+
if (mft === 0) {
|
273 |
+
return dwy + 1;
|
274 |
+
}
|
275 |
+
if (mft === 1) {
|
276 |
+
return dwy - 30;
|
277 |
+
}
|
278 |
+
if (mft === 2) {
|
279 |
+
return dwy - 58 - leap;
|
280 |
+
}
|
281 |
+
if (mft === 3) {
|
282 |
+
return dwy - 89 - leap;
|
283 |
+
}
|
284 |
+
if (mft === 4) {
|
285 |
+
return dwy - 119 - leap;
|
286 |
+
}
|
287 |
+
if (mft === 5) {
|
288 |
+
return dwy - 150 - leap;
|
289 |
+
}
|
290 |
+
if (mft === 6) {
|
291 |
+
return dwy - 180 - leap;
|
292 |
+
}
|
293 |
+
if (mft === 7) {
|
294 |
+
return dwy - 211 - leap;
|
295 |
+
}
|
296 |
+
if (mft === 8) {
|
297 |
+
return dwy - 242 - leap;
|
298 |
+
}
|
299 |
+
if (mft === 9) {
|
300 |
+
return dwy - 272 - leap;
|
301 |
+
}
|
302 |
+
if (mft === 10) {
|
303 |
+
return dwy - 303 - leap;
|
304 |
+
}
|
305 |
+
if (mft === 11) {
|
306 |
+
return dwy - 333 - leap;
|
307 |
+
}
|
308 |
+
throw new Error('Invalid time');
|
309 |
+
}
|
310 |
+
exports.DateFromTime = DateFromTime;
|
311 |
+
var HOURS_PER_DAY = 24;
|
312 |
+
var MINUTES_PER_HOUR = 60;
|
313 |
+
var SECONDS_PER_MINUTE = 60;
|
314 |
+
var MS_PER_SECOND = 1e3;
|
315 |
+
var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;
|
316 |
+
var MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;
|
317 |
+
function HourFromTime(t) {
|
318 |
+
return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);
|
319 |
+
}
|
320 |
+
exports.HourFromTime = HourFromTime;
|
321 |
+
function MinFromTime(t) {
|
322 |
+
return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);
|
323 |
+
}
|
324 |
+
exports.MinFromTime = MinFromTime;
|
325 |
+
function SecFromTime(t) {
|
326 |
+
return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);
|
327 |
+
}
|
328 |
+
exports.SecFromTime = SecFromTime;
|
329 |
+
function IsCallable(fn) {
|
330 |
+
return typeof fn === 'function';
|
331 |
+
}
|
332 |
+
/**
|
333 |
+
* The abstract operation OrdinaryHasInstance implements
|
334 |
+
* the default algorithm for determining if an object O
|
335 |
+
* inherits from the instance object inheritance path
|
336 |
+
* provided by constructor C.
|
337 |
+
* @param C class
|
338 |
+
* @param O object
|
339 |
+
* @param internalSlots internalSlots
|
340 |
+
*/
|
341 |
+
function OrdinaryHasInstance(C, O, internalSlots) {
|
342 |
+
if (!IsCallable(C)) {
|
343 |
+
return false;
|
344 |
+
}
|
345 |
+
if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) {
|
346 |
+
var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction;
|
347 |
+
return O instanceof BC;
|
348 |
+
}
|
349 |
+
if (typeof O !== 'object') {
|
350 |
+
return false;
|
351 |
+
}
|
352 |
+
var P = C.prototype;
|
353 |
+
if (typeof P !== 'object') {
|
354 |
+
throw new TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
|
355 |
+
}
|
356 |
+
return Object.prototype.isPrototypeOf.call(P, O);
|
357 |
+
}
|
358 |
+
exports.OrdinaryHasInstance = OrdinaryHasInstance;
|
359 |
+
function msFromTime(t) {
|
360 |
+
return mod(t, MS_PER_SECOND);
|
361 |
+
}
|
362 |
+
exports.msFromTime = msFromTime;
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
|
3 |
+
* @param locales
|
4 |
+
*/
|
5 |
+
export declare function CanonicalizeLocaleList(locales?: string | string[]): string[];
|
6 |
+
//# sourceMappingURL=CanonicalizeLocaleList.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"CanonicalizeLocaleList.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/CanonicalizeLocaleList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAG5E"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
+
exports.CanonicalizeLocaleList = void 0;
|
4 |
+
/**
|
5 |
+
* http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist
|
6 |
+
* @param locales
|
7 |
+
*/
|
8 |
+
function CanonicalizeLocaleList(locales) {
|
9 |
+
// TODO
|
10 |
+
return Intl.getCanonicalLocales(locales);
|
11 |
+
}
|
12 |
+
exports.CanonicalizeLocaleList = CanonicalizeLocaleList;
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* https://tc39.es/ecma402/#sec-canonicalizetimezonename
|
3 |
+
* @param tz
|
4 |
+
*/
|
5 |
+
export declare function CanonicalizeTimeZoneName(tz: string, { tzData, uppercaseLinks, }: {
|
6 |
+
tzData: Record<string, unknown>;
|
7 |
+
uppercaseLinks: Record<string, string>;
|
8 |
+
}): string;
|
9 |
+
//# sourceMappingURL=CanonicalizeTimeZoneName.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"CanonicalizeTimeZoneName.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/CanonicalizeTimeZoneName.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,EACV,EACE,MAAM,EACN,cAAc,GACf,EAAE;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,UAgBF"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.js
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
+
exports.CanonicalizeTimeZoneName = void 0;
|
4 |
+
/**
|
5 |
+
* https://tc39.es/ecma402/#sec-canonicalizetimezonename
|
6 |
+
* @param tz
|
7 |
+
*/
|
8 |
+
function CanonicalizeTimeZoneName(tz, _a) {
|
9 |
+
var tzData = _a.tzData, uppercaseLinks = _a.uppercaseLinks;
|
10 |
+
var uppercasedTz = tz.toUpperCase();
|
11 |
+
var uppercasedZones = Object.keys(tzData).reduce(function (all, z) {
|
12 |
+
all[z.toUpperCase()] = z;
|
13 |
+
return all;
|
14 |
+
}, {});
|
15 |
+
var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];
|
16 |
+
if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {
|
17 |
+
return 'UTC';
|
18 |
+
}
|
19 |
+
return ianaTimeZone;
|
20 |
+
}
|
21 |
+
exports.CanonicalizeTimeZoneName = CanonicalizeTimeZoneName;
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* https://tc39.es/ecma402/#sec-coerceoptionstoobject
|
3 |
+
* @param options
|
4 |
+
* @returns
|
5 |
+
*/
|
6 |
+
export declare function CoerceOptionsToObject<T>(options?: T): T;
|
7 |
+
//# sourceMappingURL=CoerceOptionsToObject.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"CoerceOptionsToObject.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/CoerceOptionsToObject.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAKvD"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.js
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
+
exports.CoerceOptionsToObject = void 0;
|
4 |
+
var _262_1 = require("./262");
|
5 |
+
/**
|
6 |
+
* https://tc39.es/ecma402/#sec-coerceoptionstoobject
|
7 |
+
* @param options
|
8 |
+
* @returns
|
9 |
+
*/
|
10 |
+
function CoerceOptionsToObject(options) {
|
11 |
+
if (typeof options === 'undefined') {
|
12 |
+
return Object.create(null);
|
13 |
+
}
|
14 |
+
return (0, _262_1.ToObject)(options);
|
15 |
+
}
|
16 |
+
exports.CoerceOptionsToObject = CoerceOptionsToObject;
|
app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.d.ts
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* https://tc39.es/ecma402/#sec-defaultnumberoption
|
3 |
+
* @param val
|
4 |
+
* @param min
|
5 |
+
* @param max
|
6 |
+
* @param fallback
|
7 |
+
*/
|
8 |
+
export declare function DefaultNumberOption(val: any, min: number, max: number, fallback: number): number;
|
9 |
+
//# sourceMappingURL=DefaultNumberOption.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"DefaultNumberOption.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/DefaultNumberOption.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,MAAM,CAAA"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/DefaultNumberOption.js
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3 |
+
exports.DefaultNumberOption = void 0;
|
4 |
+
function DefaultNumberOption(val, min, max, fallback) {
|
5 |
+
if (val !== undefined) {
|
6 |
+
val = Number(val);
|
7 |
+
if (isNaN(val) || val < min || val > max) {
|
8 |
+
throw new RangeError("".concat(val, " is outside of range [").concat(min, ", ").concat(max, "]"));
|
9 |
+
}
|
10 |
+
return Math.floor(val);
|
11 |
+
}
|
12 |
+
return fallback;
|
13 |
+
}
|
14 |
+
exports.DefaultNumberOption = DefaultNumberOption;
|
app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* https://tc39.es/ecma402/#sec-getnumberoption
|
3 |
+
* @param options
|
4 |
+
* @param property
|
5 |
+
* @param min
|
6 |
+
* @param max
|
7 |
+
* @param fallback
|
8 |
+
*/
|
9 |
+
export declare function GetNumberOption<T extends object, K extends keyof T>(options: T, property: K, minimum: number, maximum: number, fallback: number): number;
|
10 |
+
//# sourceMappingURL=GetNumberOption.d.ts.map
|
app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts.map
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"version":3,"file":"GetNumberOption.d.ts","sourceRoot":"","sources":["../../../../../packages/ecma402-abstract/GetNumberOption.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EACjE,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,MAAM,CAAA"}
|
app/frontend/node_modules/@formatjs/ecma402-abstract/GetNumberOption.js
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"use strict";
|
2 |
+
/**
|
3 |
+
* https://tc39.es/ecma402/#sec-getnumberoption
|
4 |
+
* @param options
|
5 |
+
* @param property
|
6 |
+
* @param min
|
7 |
+
* @param max
|
8 |
+
* @param fallback
|
9 |
+
*/
|
10 |
+
Object.defineProperty(exports, "__esModule", { value: true });
|
11 |
+
exports.GetNumberOption = void 0;
|
12 |
+
var DefaultNumberOption_1 = require("./DefaultNumberOption");
|
13 |
+
function GetNumberOption(options, property, minimum, maximum, fallback) {
|
14 |
+
var val = options[property];
|
15 |
+
// @ts-expect-error
|
16 |
+
return (0, DefaultNumberOption_1.DefaultNumberOption)(val, minimum, maximum, fallback);
|
17 |
+
}
|
18 |
+
exports.GetNumberOption = GetNumberOption;
|