streamlit-pdf-viewer 0.0.22.dev0__tar.gz → 0.0.23.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/.bumpversion.toml +1 -1
- {streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer.egg-info → streamlit_pdf_viewer-0.0.23.dev0}/PKG-INFO +8 -4
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/README.md +7 -3
- streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/css/chunk-vendors.ee6905b7.css +3 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/index.html +1 -1
- streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/js/app.3d9d09f3.js +2 -0
- streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/js/app.3d9d09f3.js.map +1 -0
- streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/js/chunk-vendors.a7b421ed.js +53 -0
- streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer/frontend/dist/js/chunk-vendors.b91d51dd.js.map → streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/js/chunk-vendors.a7b421ed.js.map +1 -1
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer.egg-info}/PKG-INFO +8 -4
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer.egg-info/SOURCES.txt +5 -5
- streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer/frontend/dist/css/chunk-vendors.8a2a8d65.css +0 -3
- streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer/frontend/dist/js/app.8f18f7de.js +0 -2
- streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer/frontend/dist/js/app.8f18f7de.js.map +0 -1
- streamlit_pdf_viewer-0.0.22.dev0/streamlit_pdf_viewer/frontend/dist/js/chunk-vendors.b91d51dd.js +0 -53
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/MANIFEST.in +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/setup.cfg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/setup.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/__init__.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/css/app.1df382f3.css +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/altText_add.7748ee93.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/altText_done.1026be11.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/cursor-editorFreeHighlight.1fed7bb7.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/cursor-editorFreeText.0b596377.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/cursor-editorInk.f94c2f42.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/cursor-editorTextHighlight.5636640c.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/editor-toolbar-delete.6694a89f.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/toolbarButton-editorHighlight.c3287eaa.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer/frontend/dist/img/toolbarButton-menuArrow.37a6145d.svg +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer.egg-info/dependency_links.txt +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer.egg-info/requires.txt +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/streamlit_pdf_viewer.egg-info/top_level.txt +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/__init__.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/e2e_utils.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_embed_height.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_embed_no_args.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_embed_width.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_embed_width_height.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_iframe_height.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_iframe_no_args.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_iframe_width.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_iframe_width_height.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_invalid_params.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_rendering_text.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_resolution_boost.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_tabs.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_tabs_2.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_unwrap_height.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_unwrap_no_args.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_unwrap_width.py +0 -0
- {streamlit_pdf_viewer-0.0.22.dev0 → streamlit_pdf_viewer-0.0.23.dev0}/tests/test_unwrap_width_height.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: streamlit-pdf-viewer
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.23.dev0
|
|
4
4
|
Summary: Streamlit component for PDF visualisation and manipulation
|
|
5
5
|
Home-page: https://github.com/lfoppiano/streamlit-pdf-viewer
|
|
6
6
|
Author: Luca Foppiano, Tomoya Mato
|
|
@@ -83,7 +83,7 @@ In the following table the list of parameters that can be provided to the `pdf_v
|
|
|
83
83
|
|
|
84
84
|
| name | description |
|
|
85
85
|
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
86
|
-
| input | The source of the PDF file. Accepts a file path
|
|
86
|
+
| input | The source of the PDF file. Accepts a file path or binary data. |
|
|
87
87
|
| width | Width of the PDF viewer in pixels. It defaults to 700 pixels. It supports both integer (pixel, e.g. `700`) and string (percentages, e.g. `90%` will make the pdf render to 90% of the container/window/screen width. If the pdf width is larger than the screen width, it will horizontally scroll). |
|
|
88
88
|
| height | Height of the PDF viewer in pixels. If not provided, the viewer shows the whole content. |
|
|
89
89
|
| annotations | A list of annotations to be overlaid on the PDF. Format is described [here](#annotation-format). |
|
|
@@ -110,11 +110,14 @@ Here an example:
|
|
|
110
110
|
"y": 155,
|
|
111
111
|
"height": 22,
|
|
112
112
|
"width": 65,
|
|
113
|
-
"color": "red"
|
|
113
|
+
"color": "red",
|
|
114
|
+
"border": "solid"
|
|
114
115
|
},
|
|
115
116
|
[...]
|
|
116
117
|
```
|
|
117
118
|
|
|
119
|
+
The `border` parameter can be set with the following values: `solid`, `dashed`, `dotted`, `double`, `groove`, `ridge`, `inset`, `outset`. Any other value will result in the default value: `solid`.
|
|
120
|
+
|
|
118
121
|
The example shown in our screenshot can be found [here](resources/annotations.json).
|
|
119
122
|
|
|
120
123
|
### Custom callback for clicking on annotations
|
|
@@ -137,7 +140,8 @@ annotations = [
|
|
|
137
140
|
"y": 155,
|
|
138
141
|
"height": 22,
|
|
139
142
|
"width": 65,
|
|
140
|
-
"color": "red"
|
|
143
|
+
"color": "red",
|
|
144
|
+
"border": "dotted"
|
|
141
145
|
}
|
|
142
146
|
]
|
|
143
147
|
|
|
@@ -61,7 +61,7 @@ In the following table the list of parameters that can be provided to the `pdf_v
|
|
|
61
61
|
|
|
62
62
|
| name | description |
|
|
63
63
|
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
64
|
-
| input | The source of the PDF file. Accepts a file path
|
|
64
|
+
| input | The source of the PDF file. Accepts a file path or binary data. |
|
|
65
65
|
| width | Width of the PDF viewer in pixels. It defaults to 700 pixels. It supports both integer (pixel, e.g. `700`) and string (percentages, e.g. `90%` will make the pdf render to 90% of the container/window/screen width. If the pdf width is larger than the screen width, it will horizontally scroll). |
|
|
66
66
|
| height | Height of the PDF viewer in pixels. If not provided, the viewer shows the whole content. |
|
|
67
67
|
| annotations | A list of annotations to be overlaid on the PDF. Format is described [here](#annotation-format). |
|
|
@@ -88,11 +88,14 @@ Here an example:
|
|
|
88
88
|
"y": 155,
|
|
89
89
|
"height": 22,
|
|
90
90
|
"width": 65,
|
|
91
|
-
"color": "red"
|
|
91
|
+
"color": "red",
|
|
92
|
+
"border": "solid"
|
|
92
93
|
},
|
|
93
94
|
[...]
|
|
94
95
|
```
|
|
95
96
|
|
|
97
|
+
The `border` parameter can be set with the following values: `solid`, `dashed`, `dotted`, `double`, `groove`, `ridge`, `inset`, `outset`. Any other value will result in the default value: `solid`.
|
|
98
|
+
|
|
96
99
|
The example shown in our screenshot can be found [here](resources/annotations.json).
|
|
97
100
|
|
|
98
101
|
### Custom callback for clicking on annotations
|
|
@@ -115,7 +118,8 @@ annotations = [
|
|
|
115
118
|
"y": 155,
|
|
116
119
|
"height": 22,
|
|
117
120
|
"width": 65,
|
|
118
|
-
"color": "red"
|
|
121
|
+
"color": "red",
|
|
122
|
+
"border": "dotted"
|
|
119
123
|
}
|
|
120
124
|
]
|
|
121
125
|
|
streamlit_pdf_viewer-0.0.23.dev0/streamlit_pdf_viewer/frontend/dist/css/chunk-vendors.ee6905b7.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
.dialog{--dialog-bg-color:#fff;--dialog-border-color:#fff;--dialog-shadow:0 2px 14px 0 rgba(58,57,68,.2);--text-primary-color:#15141a;--text-secondary-color:#5b5b66;--hover-filter:brightness(0.9);--focus-ring-color:#0060df;--focus-ring-outline:2px solid var(--focus-ring-color);--textarea-border-color:#8f8f9d;--textarea-bg-color:#fff;--textarea-fg-color:var(--text-secondary-color);--radio-bg-color:#f0f0f4;--radio-checked-bg-color:#fbfbfe;--radio-border-color:#8f8f9d;--radio-checked-border-color:#0060df;--button-secondary-bg-color:#f0f0f4;--button-secondary-fg-color:var(--text-primary-color);--button-secondary-border-color:var(--button-secondary-bg-color);--button-secondary-hover-bg-color:var(--button-secondary-bg-color);--button-secondary-hover-fg-color:var(--button-secondary-fg-color);--button-secondary-hover-border-color:var(--button-secondary-hover-bg-color);--button-primary-bg-color:#0060df;--button-primary-fg-color:#fbfbfe;--button-primary-hover-bg-color:var(--button-primary-bg-color);--button-primary-hover-fg-color:var(--button-primary-fg-color);--button-primary-hover-border-color:var(--button-primary-hover-bg-color);font:message-box;font-size:13px;font-weight:400;line-height:150%;border-radius:4px;padding:12px 16px;border:1px solid var(--dialog-border-color);background:var(--dialog-bg-color);color:var(--text-primary-color);box-shadow:var(--dialog-shadow)}@media (prefers-color-scheme:dark){.dialog{--dialog-bg-color:#1c1b22;--dialog-border-color:#1c1b22;--dialog-shadow:0 2px 14px 0 #15141a;--text-primary-color:#fbfbfe;--text-secondary-color:#cfcfd8;--focus-ring-color:#0df;--hover-filter:brightness(1.4);--textarea-bg-color:#42414d;--radio-bg-color:#2b2a33;--radio-checked-bg-color:#15141a;--radio-checked-border-color:#0df;--button-secondary-bg-color:#2b2a33;--button-primary-bg-color:#0df;--button-primary-fg-color:#15141a}}@media screen and (forced-colors:active){.dialog{--dialog-bg-color:Canvas;--dialog-border-color:CanvasText;--dialog-shadow:none;--text-primary-color:CanvasText;--text-secondary-color:CanvasText;--hover-filter:none;--focus-ring-color:ButtonBorder;--textarea-border-color:ButtonBorder;--textarea-bg-color:Field;--textarea-fg-color:ButtonText;--radio-bg-color:ButtonFace;--radio-checked-bg-color:ButtonFace;--radio-border-color:ButtonText;--radio-checked-border-color:ButtonText;--button-secondary-bg-color:ButtonFace;--button-secondary-fg-color:ButtonText;--button-secondary-border-color:ButtonText;--button-secondary-hover-bg-color:AccentColor;--button-secondary-hover-fg-color:AccentColorText;--button-primary-bg-color:ButtonText;--button-primary-fg-color:ButtonFace;--button-primary-hover-bg-color:AccentColor;--button-primary-hover-fg-color:AccentColorText}}.dialog .mainContainer :focus-visible{outline:var(--focus-ring-outline);outline-offset:2px}.dialog .mainContainer .radio{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.dialog .mainContainer .radio>.radioButton{display:flex;gap:8px;align-self:stretch;align-items:center}.dialog .mainContainer .radio>.radioButton input{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background-color:var(--radio-bg-color);border:1px solid var(--radio-border-color)}.dialog .mainContainer .radio>.radioButton input:hover{filter:var(--hover-filter)}.dialog .mainContainer .radio>.radioButton input:checked{background-color:var(--radio-checked-bg-color);border:4px solid var(--radio-checked-border-color)}.dialog .mainContainer .radio>.radioLabel{display:flex;padding-inline-start:24px;align-items:flex-start;gap:10px;align-self:stretch}.dialog .mainContainer .radio>.radioLabel>span{flex:1 0 0;font-size:11px;color:var(--text-secondary-color)}.dialog .mainContainer button{border-radius:4px;border:1px solid;font:menu;font-weight:600;padding:4px 16px;width:auto;height:32px}.dialog .mainContainer button:hover{cursor:pointer;filter:var(--hover-filter)}.dialog .mainContainer button.secondaryButton{color:var(--button-secondary-fg-color);background-color:var(--button-secondary-bg-color);border-color:var(--button-secondary-border-color)}.dialog .mainContainer button.secondaryButton:hover{color:var(--button-secondary-hover-fg-color);background-color:var(--button-secondary-hover-bg-color);border-color:var(--button-secondary-hover-border-color)}.dialog .mainContainer button.primaryButton{opacity:1}.dialog .mainContainer button.primaryButton,.dialog .mainContainer button.primaryButton:hover{color:var(--button-primary-hover-fg-color);background-color:var(--button-primary-hover-bg-color);border-color:var(--button-primary-hover-border-color)}.dialog .mainContainer textarea{font:inherit;padding:8px;resize:none;margin:0;box-sizing:border-box;border-radius:4px;border:1px solid var(--textarea-border-color);background:var(--textarea-bg-color);color:var(--textarea-fg-color)}.dialog .mainContainer textarea:focus{outline-offset:0;border-color:transparent}.dialog .mainContainer textarea:disabled{pointer-events:none;opacity:.4}.textLayer{position:absolute;text-align:initial;inset:0;overflow:clip;opacity:1;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;caret-color:CanvasText;z-index:0}.textLayer.highlighting{touch-action:none}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .markedContent span:not(.markedContent),.textLayer>:not(.markedContent){z-index:1}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{--highlight-bg-color:rgba(180,0,170,.25);--highlight-selected-bg-color:rgba(0,100,0,.25);--highlight-backdrop-filter:none;--highlight-selected-backdrop-filter:none;margin:-1px;padding:1px;background-color:var(--highlight-bg-color);backdrop-filter:var(--highlight-backdrop-filter);border-radius:4px}@media screen and (forced-colors:active){.textLayer .highlight{--highlight-bg-color:transparent;--highlight-selected-bg-color:transparent;--highlight-backdrop-filter:var(--hcm-highlight-filter);--highlight-selected-backdrop-filter:var(
|
|
2
|
+
--hcm-highlight-selected-filter
|
|
3
|
+
)}}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color);backdrop-filter:var(--highlight-selected-backdrop-filter)}.textLayer ::-moz-selection{background:rgba(0,0,255,.25);background:color-mix(in srgb,AccentColor,transparent 75%)}.textLayer ::selection{background:rgba(0,0,255,.25);background:color-mix(in srgb,AccentColor,transparent 75%)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer .endOfContent.active{top:0}.annotationLayer{--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:#000;--link-outline:none;position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0}@media screen and (forced-colors:active){.annotationLayer{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.annotationLayer .linkAnnotation:hover{backdrop-filter:var(--hcm-highlight-filter)}.annotationLayer .linkAnnotation>a:hover{opacity:0!important;background:none!important;box-shadow:none}.annotationLayer .popupAnnotation .popup{outline:calc(1.5px*var(--scale-factor)) solid CanvasText!important;background-color:ButtonFace!important;color:ButtonText!important}.annotationLayer .highlightArea:hover:after{position:absolute;top:0;left:0;width:100%;height:100%;backdrop-filter:var(--hcm-highlight-filter);content:"";pointer-events:none}.annotationLayer .popupAnnotation.focused .popup{outline:calc(3px*var(--scale-factor)) solid Highlight!important}}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer.disabled .popup,.annotationLayer.disabled section{pointer-events:none}.annotationLayer .annotationContent{position:absolute;width:100%;height:100%;pointer-events:none}.annotationLayer .annotationContent.freetext{background:transparent;border:none;inset:0;overflow:visible;white-space:nowrap;font:10px sans-serif;line-height:1.35;-webkit-user-select:none;-moz-user-select:none;user-select:none}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0}.annotationLayer section:has(div.annotationContent) canvas.annotationContent{display:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton):not(.hasBorder)>a:hover{opacity:.2;background-color:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .linkAnnotation.hasBorder:hover{background-color:rgba(255,255,0,.2)}.annotationLayer .hasBorder{background-size:100% 100%}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation [disabled]:is(input,textarea){background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:25%;top:25%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{height:100%;width:100%}.annotationLayer .popupAnnotation{position:absolute;font-size:calc(9px*var(--scale-factor));pointer-events:none;width:-moz-max-content;width:max-content;max-width:45%;height:auto}.annotationLayer .popup{background-color:#ff9;box-shadow:0 calc(2px*var(--scale-factor)) calc(5px*var(--scale-factor)) #888;border-radius:calc(2px*var(--scale-factor));outline:1.5px solid #ffff4a;padding:calc(6px*var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popupAnnotation.focused .popup{outline-width:3px}.annotationLayer .popup *{font-size:calc(9px*var(--scale-factor))}.annotationLayer .popup>.header{display:inline-block}.annotationLayer .popup>.header h1{display:inline}.annotationLayer .popup>.header .popupDate{display:inline-block;margin-left:calc(5px*var(--scale-factor));width:-moz-fit-content;width:fit-content}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--scale-factor));padding-top:calc(2px*var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px*var(--scale-factor))}.annotationLayer .popupTriggerArea{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}.annotationLayer svg.quadrilateralsContainer{contain:strict;width:0;height:0;position:absolute;top:0;left:0;z-index:-1}:root{--xfa-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--xfa-focus-outline:auto}@media screen and (forced-colors:active){:root{--xfa-focus-outline:2px solid CanvasText}.xfaLayer :required{outline:1.5px solid selectedItem}}.xfaLayer{background-color:transparent}.xfaLayer .highlight{margin:-1px;padding:1px;background-color:#efcbed;border-radius:4px}.xfaLayer .highlight.appended{position:static}.xfaLayer .highlight.begin{border-radius:4px 0 0 4px}.xfaLayer .highlight.end{border-radius:0 4px 4px 0}.xfaLayer .highlight.middle{border-radius:0}.xfaLayer .highlight.selected{background-color:#cbdfcb}.xfaPage{overflow:hidden;position:relative}.xfaContentarea{position:absolute}.xfaPrintOnly{display:none}.xfaLayer{position:absolute;text-align:initial;top:0;left:0;transform-origin:0 0;line-height:1.2}.xfaLayer *{color:inherit;font:inherit;font-style:inherit;font-weight:inherit;font-kerning:inherit;letter-spacing:-.01px;text-align:inherit;text-decoration:inherit;box-sizing:border-box;background-color:transparent;padding:0;margin:0;pointer-events:auto;line-height:inherit}.xfaLayer :required{outline:1.5px solid red}.xfaLayer div,.xfaLayer svg,.xfaLayer svg *{pointer-events:none}.xfaLayer a{color:blue}.xfaRich li{margin-left:3em}.xfaFont{color:#000;font-weight:400;font-kerning:none;font-size:10px;font-style:normal;letter-spacing:0;text-decoration:none;vertical-align:0}.xfaCaption{overflow:hidden;flex:0 0 auto}.xfaCaptionForCheckButton{overflow:hidden;flex:1 1 auto}.xfaLabel{height:100%;width:100%}.xfaLeft{flex-direction:row}.xfaLeft,.xfaRight{display:flex;align-items:center}.xfaRight{flex-direction:row-reverse}:is(.xfaLeft,.xfaRight)>:is(.xfaCaption,.xfaCaptionForCheckButton){max-height:100%}.xfaTop{flex-direction:column}.xfaBottom,.xfaTop{display:flex;align-items:flex-start}.xfaBottom{flex-direction:column-reverse}:is(.xfaTop,.xfaBottom)>:is(.xfaCaption,.xfaCaptionForCheckButton){width:100%}.xfaBorder{background-color:transparent;position:absolute;pointer-events:none}.xfaWrapped{width:100%;height:100%}:is(.xfaTextfield,.xfaSelect):focus{background-image:none;background-color:transparent;outline:var(--xfa-focus-outline);outline-offset:-1px}:is(.xfaCheckbox,.xfaRadio):focus{outline:var(--xfa-focus-outline)}.xfaSelect,.xfaTextfield{height:100%;width:100%;flex:1 1 auto;border:none;resize:none;background-image:var(--xfa-unfocused-field-background)}.xfaSelect{padding-inline:2px}:is(.xfaTop,.xfaBottom)>:is(.xfaTextfield,.xfaSelect){flex:0 1 auto}.xfaButton{cursor:pointer;border:none;text-align:center}.xfaButton,.xfaLink{width:100%;height:100%}.xfaLink{position:absolute;top:0;left:0}.xfaCheckbox,.xfaRadio{width:100%;height:100%;flex:0 0 auto;border:none}.xfaRich{white-space:pre-wrap}.xfaImage,.xfaRich{width:100%;height:100%}.xfaImage{-o-object-position:left top;object-position:left top;-o-object-fit:contain;object-fit:contain}.xfaLrTb,.xfaRlTb,.xfaTb{flex-direction:column}.xfaLr,.xfaLrTb,.xfaRlTb,.xfaTb{display:flex;align-items:stretch}.xfaLr{flex-direction:row}.xfaRl{display:flex;flex-direction:row-reverse;align-items:stretch}.xfaTb>div{justify-content:left}.xfaArea,.xfaPosition{position:relative}.xfaValignMiddle{display:flex;align-items:center}.xfaTable{flex-direction:column}.xfaTable,.xfaTable .xfaRow{display:flex;align-items:stretch}.xfaTable .xfaRow{flex-direction:row}.xfaTable .xfaRlRow{display:flex;flex-direction:row-reverse;align-items:stretch;flex:1}.xfaTable .xfaRlRow>div{flex:1}:is(.xfaNonInteractive,.xfaDisabled,.xfaReadOnly) :is(input,textarea){background:initial}@media print{.xfaSelect,.xfaTextfield{background:transparent}.xfaSelect{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-indent:1px;text-overflow:""}}.canvasWrapper svg{transform:none}.canvasWrapper svg[data-main-rotation="90"] mask,.canvasWrapper svg[data-main-rotation="90"] use:not(.clip,.mask){transform:matrix(0,1,-1,0,1,0)}.canvasWrapper svg[data-main-rotation="180"] mask,.canvasWrapper svg[data-main-rotation="180"] use:not(.clip,.mask){transform:matrix(-1,0,0,-1,1,1)}.canvasWrapper svg[data-main-rotation="270"] mask,.canvasWrapper svg[data-main-rotation="270"] use:not(.clip,.mask){transform:matrix(0,-1,1,0,0,1)}.canvasWrapper svg.highlight{--blend-mode:multiply;position:absolute;mix-blend-mode:var(--blend-mode)}@media screen and (forced-colors:active){.canvasWrapper svg.highlight{--blend-mode:difference}}.canvasWrapper svg.highlight:not(.free){fill-rule:evenodd}.canvasWrapper svg.highlightOutline{position:absolute;mix-blend-mode:normal;fill-rule:evenodd;fill:none}.canvasWrapper svg.highlightOutline.hovered:not(.free):not(.selected){stroke:var(--hover-outline-color);stroke-width:var(--outline-width)}.canvasWrapper svg.highlightOutline.selected:not(.free) .mainOutline{stroke:var(--outline-around-color);stroke-width:calc(var(--outline-width) + var(--outline-around-width)*2)}.canvasWrapper svg.highlightOutline.selected:not(.free) .secondaryOutline{stroke:var(--outline-color);stroke-width:var(--outline-width)}.canvasWrapper svg.highlightOutline.free.hovered:not(.selected){stroke:var(--hover-outline-color);stroke-width:calc(var(--outline-width)*2)}.canvasWrapper svg.highlightOutline.free.selected .mainOutline{stroke:var(--outline-around-color);stroke-width:calc((var(--outline-width) + var(--outline-around-width))*2)}.canvasWrapper svg.highlightOutline.free.selected .secondaryOutline{stroke:var(--outline-color);stroke-width:calc(var(--outline-width)*2)}.toggle-button{--button-background-color:#f0f0f4;--button-background-color-hover:#e0e0e6;--button-background-color-active:#cfcfd8;--color-accent-primary:#0060df;--color-accent-primary-hover:#0250bb;--color-accent-primary-active:#054096;--border-interactive-color:#8f8f9d;--border-radius-circle:9999px;--border-width:1px;--size-item-small:16px;--size-item-large:32px;--color-canvas:#fff;--toggle-background-color:var(--button-background-color);--toggle-background-color-hover:var(--button-background-color-hover);--toggle-background-color-active:var(--button-background-color-active);--toggle-background-color-pressed:var(--color-accent-primary);--toggle-background-color-pressed-hover:var(--color-accent-primary-hover);--toggle-background-color-pressed-active:var(--color-accent-primary-active);--toggle-border-color:var(--border-interactive-color);--toggle-border-color-hover:var(--toggle-border-color);--toggle-border-color-active:var(--toggle-border-color);--toggle-border-radius:var(--border-radius-circle);--toggle-border-width:var(--border-width);--toggle-height:var(--size-item-small);--toggle-width:var(--size-item-large);--toggle-dot-background-color:var(--toggle-border-color);--toggle-dot-background-color-hover:var(--toggle-dot-background-color);--toggle-dot-background-color-active:var(--toggle-dot-background-color);--toggle-dot-background-color-on-pressed:var(--color-canvas);--toggle-dot-margin:1px;--toggle-dot-height:calc(var(--toggle-height) - var(--toggle-dot-margin)*2 - var(--toggle-border-width)*2);--toggle-dot-width:var(--toggle-dot-height);--toggle-dot-transform-x:calc(var(--toggle-width) - var(--toggle-dot-margin)*4 - var(--toggle-dot-width));-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;margin:0;border:var(--toggle-border-width) solid var(--toggle-border-color);height:var(--toggle-height);width:var(--toggle-width);border-radius:var(--toggle-border-radius);background:var(--toggle-background-color);box-sizing:border-box;flex-shrink:0}@media (prefers-color-scheme:dark){.toggle-button{--button-background-color:color-mix(in srgb,currentColor 7%,transparent);--button-background-color-hover:color-mix(in srgb,currentColor 14%,transparent);--button-background-color-active:color-mix(in srgb,currentColor 21%,transparent);--color-accent-primary:#0df;--color-accent-primary-hover:#80ebff;--color-accent-primary-active:#aaf2ff;--border-interactive-color:#bfbfc9;--color-canvas:#1c1b22}}@media (forced-colors:active){.toggle-button{--color-accent-primary:ButtonText;--color-accent-primary-hover:SelectedItem;--color-accent-primary-active:SelectedItem;--border-interactive-color:ButtonText;--button-background-color:ButtonFace;--border-interactive-color-hover:SelectedItem;--border-interactive-color-active:SelectedItem;--border-interactive-color-disabled:GrayText;--color-canvas:ButtonText}}.toggle-button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.toggle-button:enabled:hover{background:var(--toggle-background-color-hover);border-color:var(--toggle-border-color)}.toggle-button:enabled:active{background:var(--toggle-background-color-active);border-color:var(--toggle-border-color)}.toggle-button[aria-pressed=true]{background:var(--toggle-background-color-pressed);border-color:transparent}.toggle-button[aria-pressed=true]:enabled:hover{background:var(--toggle-background-color-pressed-hover);border-color:transparent}.toggle-button[aria-pressed=true]:enabled:active{background:var(--toggle-background-color-pressed-active);border-color:transparent}.toggle-button:before{display:block;content:"";background-color:var(--toggle-dot-background-color);height:var(--toggle-dot-height);width:var(--toggle-dot-width);margin:var(--toggle-dot-margin);border-radius:var(--toggle-border-radius);translate:0}.toggle-button[aria-pressed=true]:before{translate:var(--toggle-dot-transform-x)}.toggle-button[aria-pressed=true]:before,.toggle-button[aria-pressed=true]:enabled:active:before,.toggle-button[aria-pressed=true]:enabled:hover:before{background-color:var(--toggle-dot-background-color-on-pressed)}[dir=rtl] .toggle-button[aria-pressed=true]:before{translate:calc(var(--toggle-dot-transform-x)*-1)}@media (prefers-reduced-motion:no-preference){.toggle-button:before{transition:translate .1s}}@media (prefers-contrast){.toggle-button:enabled:hover{border-color:var(--toggle-border-color-hover)}.toggle-button:enabled:active{border-color:var(--toggle-border-color-active)}.toggle-button[aria-pressed=true]:enabled{border-color:var(--toggle-border-color);position:relative}.toggle-button[aria-pressed=true]:enabled:hover,.toggle-button[aria-pressed=true]:enabled:hover:active{border-color:var(--toggle-border-color-hover)}.toggle-button[aria-pressed=true]:enabled:active{background-color:var(--toggle-dot-background-color-active);border-color:var(--toggle-dot-background-color-hover)}.toggle-button:active:before,.toggle-button:hover:before{background-color:var(--toggle-dot-background-color-hover)}}@media (forced-colors){.toggle-button{--toggle-dot-background-color:var(--color-accent-primary);--toggle-dot-background-color-hover:var(--color-accent-primary-hover);--toggle-dot-background-color-active:var(--color-accent-primary-active);--toggle-dot-background-color-on-pressed:var(--button-background-color);--toggle-background-color-disabled:var(--button-background-color-disabled);--toggle-border-color-hover:var(--border-interactive-color-hover);--toggle-border-color-active:var(--border-interactive-color-active);--toggle-border-color-disabled:var(--border-interactive-color-disabled)}.toggle-button[aria-pressed=true]:enabled:after{border:1px solid var(--button-background-color);content:"";position:absolute;height:var(--toggle-height);width:var(--toggle-width);display:block;border-radius:var(--toggle-border-radius);inset:-2px}.toggle-button[aria-pressed=true]:enabled:active:after{border-color:var(--toggle-border-color-active)}}:root{--outline-width:2px;--outline-color:#0060df;--outline-around-width:1px;--outline-around-color:#f0f0f4;--hover-outline-around-color:var(--outline-around-color);--focus-outline:solid var(--outline-width) var(--outline-color);--unfocus-outline:solid var(--outline-width) transparent;--focus-outline-around:solid var(--outline-around-width) var(--outline-around-color);--hover-outline-color:#8f8f9d;--hover-outline:solid var(--outline-width) var(--hover-outline-color);--hover-outline-around:solid var(--outline-around-width) var(--hover-outline-around-color);--freetext-line-height:1.35;--freetext-padding:2px;--resizer-bg-color:var(--outline-color);--resizer-size:6px;--resizer-shift:calc(0px - (var(--outline-width) + var(--resizer-size))/2 - var(--outline-around-width));--editorFreeText-editing-cursor:text;--editorInk-editing-cursor:url(../img/cursor-editorInk.f94c2f42.svg) 0 16,pointer;--editorHighlight-editing-cursor:url(../img/cursor-editorTextHighlight.5636640c.svg) 24 24,text;--editorFreeHighlight-editing-cursor:url(../img/cursor-editorFreeHighlight.1fed7bb7.svg) 1 18,pointer}.visuallyHidden{position:absolute;top:0;left:0;border:0;margin:0;padding:0;width:0;height:0;overflow:hidden;white-space:nowrap;font-size:0}.textLayer.highlighting{cursor:var(--editorFreeHighlight-editing-cursor)}.textLayer.highlighting:not(.free) span{cursor:var(--editorHighlight-editing-cursor)}.textLayer.highlighting.free span{cursor:var(--editorFreeHighlight-editing-cursor)}@media (min-resolution:1.1dppx){:root{--editorFreeText-editing-cursor:url(../img/cursor-editorFreeText.0b596377.svg) 0 16,text}}@media screen and (forced-colors:active){:root{--outline-color:CanvasText;--outline-around-color:ButtonFace;--resizer-bg-color:ButtonText;--hover-outline-color:Highlight;--hover-outline-around-color:SelectedItemText}}[data-editor-rotation="90"]{transform:rotate(90deg)}[data-editor-rotation="180"]{transform:rotate(180deg)}[data-editor-rotation="270"]{transform:rotate(270deg)}.annotationEditorLayer{background:transparent;position:absolute;inset:0;font-size:calc(100px*var(--scale-factor));transform-origin:0 0;cursor:auto}.annotationEditorLayer.waiting{content:"";cursor:wait;position:absolute;inset:0;width:100%;height:100%}.annotationEditorLayer.disabled{pointer-events:none}.annotationEditorLayer.freetextEditing{cursor:var(--editorFreeText-editing-cursor)}.annotationEditorLayer.inkEditing{cursor:var(--editorInk-editing-cursor)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor){position:absolute;background:transparent;z-index:1;transform-origin:0 0;cursor:auto;max-width:100%;max-height:100%;border:var(--unfocus-outline)}.annotationEditorLayer .draggable.selectedEditor:is(.freeTextEditor,.inkEditor,.stampEditor){cursor:move}.annotationEditorLayer .moving:is(.freeTextEditor,.inkEditor,.stampEditor){touch-action:none}.annotationEditorLayer .selectedEditor:is(.freeTextEditor,.inkEditor,.stampEditor){border:var(--focus-outline);outline:var(--focus-outline-around)}.annotationEditorLayer .selectedEditor:is(.freeTextEditor,.inkEditor,.stampEditor):before{content:"";position:absolute;inset:0;border:var(--focus-outline-around);pointer-events:none}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor):hover:not(.selectedEditor){border:var(--hover-outline);outline:var(--hover-outline-around)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor):hover:not(.selectedEditor):before{content:"";position:absolute;inset:0;border:var(--focus-outline-around)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar{--editor-toolbar-delete-image:url(../img/editor-toolbar-delete.6694a89f.svg);--editor-toolbar-bg-color:#f0f0f4;--editor-toolbar-highlight-image:url(../img/toolbarButton-editorHighlight.c3287eaa.svg);--editor-toolbar-fg-color:#2e2e56;--editor-toolbar-border-color:#8f8f9d;--editor-toolbar-hover-border-color:var(--editor-toolbar-border-color);--editor-toolbar-hover-bg-color:#e0e0e6;--editor-toolbar-hover-fg-color:var(--editor-toolbar-fg-color);--editor-toolbar-hover-outline:none;--editor-toolbar-focus-outline-color:#0060df;--editor-toolbar-shadow:0 2px 6px 0 rgba(58,57,68,.2);--editor-toolbar-vert-offset:6px;--editor-toolbar-height:28px;--editor-toolbar-padding:2px;display:flex;width:-moz-fit-content;width:fit-content;height:var(--editor-toolbar-height);flex-direction:column;justify-content:center;align-items:center;cursor:default;pointer-events:auto;box-sizing:content-box;padding:var(--editor-toolbar-padding);position:absolute;inset-inline-end:0;inset-block-start:calc(100% + var(--editor-toolbar-vert-offset));border-radius:6px;background-color:var(--editor-toolbar-bg-color);border:1px solid var(--editor-toolbar-border-color);box-shadow:var(--editor-toolbar-shadow)}@media (prefers-color-scheme:dark){:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar{--editor-toolbar-bg-color:#2b2a33;--editor-toolbar-fg-color:#fbfbfe;--editor-toolbar-hover-bg-color:#52525e;--editor-toolbar-focus-outline-color:#0df}}@media screen and (forced-colors:active){:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar{--editor-toolbar-bg-color:ButtonFace;--editor-toolbar-fg-color:ButtonText;--editor-toolbar-border-color:ButtonText;--editor-toolbar-hover-border-color:AccentColor;--editor-toolbar-hover-bg-color:ButtonFace;--editor-toolbar-hover-fg-color:AccentColor;--editor-toolbar-hover-outline:2px solid var(--editor-toolbar-hover-border-color);--editor-toolbar-focus-outline-color:ButtonBorder;--editor-toolbar-shadow:none}}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar.hidden{display:none}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar:has(:focus-visible){border-color:transparent}[dir=ltr] :is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar{transform-origin:100% 0}[dir=rtl] :is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar{transform-origin:0 0}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons{display:flex;justify-content:center;align-items:center;gap:0;height:100%}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .divider{width:1px;height:calc(var(--editor-toolbar-padding)*2 + var(--editor-toolbar-height));background-color:var(--editor-toolbar-border-color);display:inline-block;margin-inline:2px}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .highlightButton{width:var(--editor-toolbar-height)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .highlightButton:before{content:"";-webkit-mask-image:var(--editor-toolbar-highlight-image);mask-image:var(--editor-toolbar-highlight-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;display:inline-block;background-color:var(--editor-toolbar-fg-color);width:100%;height:100%}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .highlightButton:hover:before{background-color:var(--editor-toolbar-hover-fg-color)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .delete{width:var(--editor-toolbar-height)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .delete:before{content:"";-webkit-mask-image:var(--editor-toolbar-delete-image);mask-image:var(--editor-toolbar-delete-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;display:inline-block;background-color:var(--editor-toolbar-fg-color);width:100%;height:100%}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .delete:hover:before{background-color:var(--editor-toolbar-hover-fg-color)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons>*{height:var(--editor-toolbar-height)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons>:not(.divider){border:none;background-color:transparent;cursor:pointer}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons>:not(.divider):hover{border-radius:2px;background-color:var(--editor-toolbar-hover-bg-color);color:var(--editor-toolbar-hover-fg-color);outline:var(--editor-toolbar-hover-outline);outline-offset:1px}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons>:not(.divider):hover:active{outline:none}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons>:not(.divider):focus-visible{border-radius:2px;outline:2px solid var(--editor-toolbar-focus-outline-color)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText{--alt-text-add-image:url(../img/altText_add.7748ee93.svg);--alt-text-done-image:url(../img/altText_done.1026be11.svg);display:flex;align-items:center;justify-content:center;width:-moz-max-content;width:max-content;padding-inline:8px;pointer-events:all;font:menu;font-weight:590;font-size:12px;color:var(--editor-toolbar-fg-color)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText:disabled{pointer-events:none}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText:before{content:"";-webkit-mask-image:var(--alt-text-add-image);mask-image:var(--alt-text-add-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;display:inline-block;width:12px;height:13px;background-color:var(--editor-toolbar-fg-color);margin-inline-end:4px}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText:hover:before{background-color:var(--editor-toolbar-hover-fg-color)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText.done:before{-webkit-mask-image:var(--alt-text-done-image);mask-image:var(--alt-text-done-image)}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip{display:none}:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{--alt-text-tooltip-bg:#f0f0f4;--alt-text-tooltip-fg:#15141a;--alt-text-tooltip-border:#8f8f9d;--alt-text-tooltip-shadow:0px 2px 6px 0px rgba(58,57,68,.2);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;top:calc(100% + 2px);inset-inline-start:0;padding-block:2px 3px;padding-inline:3px;max-width:300px;width:-moz-max-content;width:max-content;height:auto;font-size:12px;border:.5px solid var(--alt-text-tooltip-border);background:var(--alt-text-tooltip-bg);box-shadow:var(--alt-text-tooltip-shadow);color:var(--alt-text-tooltip-fg);pointer-events:none}@media (prefers-color-scheme:dark){:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{--alt-text-tooltip-bg:#1c1b22;--alt-text-tooltip-fg:#fbfbfe;--alt-text-tooltip-shadow:0px 2px 6px 0px #15141a}}@media screen and (forced-colors:active){:is(.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor,.highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{--alt-text-tooltip-bg:Canvas;--alt-text-tooltip-fg:CanvasText;--alt-text-tooltip-border:CanvasText;--alt-text-tooltip-shadow:none}}.annotationEditorLayer .freeTextEditor{padding:calc(var(--freetext-padding)*var(--scale-factor));width:auto;height:auto;touch-action:none}.annotationEditorLayer .freeTextEditor .internal{background:transparent;border:none;inset:0;overflow:visible;white-space:nowrap;font:10px sans-serif;line-height:var(--freetext-line-height);-webkit-user-select:none;-moz-user-select:none;user-select:none}.annotationEditorLayer .freeTextEditor .overlay{position:absolute;display:none;background:transparent;inset:0;width:100%;height:100%}.annotationEditorLayer freeTextEditor .overlay.enabled{display:block}.annotationEditorLayer .freeTextEditor .internal:empty:before{content:attr(default-content);color:gray}.annotationEditorLayer .freeTextEditor .internal:focus{outline:none;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.annotationEditorLayer .inkEditor{width:100%;height:100%}.annotationEditorLayer .inkEditor.editing{cursor:inherit}.annotationEditorLayer .inkEditor .inkEditorCanvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.annotationEditorLayer .stampEditor{width:auto;height:auto}.annotationEditorLayer .stampEditor canvas{position:absolute;width:100%;height:100%;margin:0}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers{position:absolute;inset:0}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers.hidden{display:none}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer{width:var(--resizer-size);height:var(--resizer-size);background:content-box var(--resizer-bg-color);border:var(--focus-outline-around);border-radius:2px;position:absolute}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.topLeft{top:var(--resizer-shift);left:var(--resizer-shift)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.topMiddle{top:var(--resizer-shift);left:calc(50% + var(--resizer-shift))}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.topRight{top:var(--resizer-shift);right:var(--resizer-shift)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.middleRight{top:calc(50% + var(--resizer-shift));right:var(--resizer-shift)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.bottomRight{bottom:var(--resizer-shift);right:var(--resizer-shift)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.bottomMiddle{bottom:var(--resizer-shift);left:calc(50% + var(--resizer-shift))}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.bottomLeft{bottom:var(--resizer-shift);left:var(--resizer-shift)}.annotationEditorLayer :is(.freeTextEditor,.inkEditor,.stampEditor)>.resizers>.resizer.middleLeft{top:calc(50% + var(--resizer-shift));left:var(--resizer-shift)}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topLeft{cursor:nwse-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topMiddle{cursor:ns-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topRight{cursor:nesw-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.middleRight{cursor:ew-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topLeft{cursor:nesw-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topMiddle,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomMiddle,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topMiddle{cursor:ew-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.topRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.bottomLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.topRight{cursor:nwse-resize}.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="0"] :is([data-editor-rotation="90"],[data-editor-rotation="270"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="180"] :is([data-editor-rotation="270"],[data-editor-rotation="90"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="270"] :is([data-editor-rotation="180"],[data-editor-rotation="0"])>.resizers>.resizer.middleRight,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.middleLeft,.annotationEditorLayer[data-main-rotation="90"] :is([data-editor-rotation="0"],[data-editor-rotation="180"])>.resizers>.resizer.middleRight{cursor:ns-resize}.annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="90"],[data-main-rotation="90"] [data-editor-rotation="0"],[data-main-rotation="180"] [data-editor-rotation="270"],[data-main-rotation="270"] [data-editor-rotation="180"]) .editToolbar{rotate:270deg}[dir=ltr] .annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="90"],[data-main-rotation="90"] [data-editor-rotation="0"],[data-main-rotation="180"] [data-editor-rotation="270"],[data-main-rotation="270"] [data-editor-rotation="180"]) .editToolbar{inset-inline-end:calc(0px - var(--editor-toolbar-vert-offset));inset-block-start:0}[dir=rtl] .annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="90"],[data-main-rotation="90"] [data-editor-rotation="0"],[data-main-rotation="180"] [data-editor-rotation="270"],[data-main-rotation="270"] [data-editor-rotation="180"]) .editToolbar{inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));inset-block-start:0}.annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="180"],[data-main-rotation="90"] [data-editor-rotation="90"],[data-main-rotation="180"] [data-editor-rotation="0"],[data-main-rotation="270"] [data-editor-rotation="270"]) .editToolbar{rotate:180deg;inset-inline-end:100%;inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset))}.annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="270"],[data-main-rotation="90"] [data-editor-rotation="180"],[data-main-rotation="180"] [data-editor-rotation="90"],[data-main-rotation="270"] [data-editor-rotation="0"]) .editToolbar{rotate:90deg}[dir=ltr] .annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="270"],[data-main-rotation="90"] [data-editor-rotation="180"],[data-main-rotation="180"] [data-editor-rotation="90"],[data-main-rotation="270"] [data-editor-rotation="0"]) .editToolbar{inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset));inset-block-start:100%}[dir=rtl] .annotationEditorLayer :is([data-main-rotation="0"] [data-editor-rotation="270"],[data-main-rotation="90"] [data-editor-rotation="180"],[data-main-rotation="180"] [data-editor-rotation="90"],[data-main-rotation="270"] [data-editor-rotation="0"]) .editToolbar{inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset));inset-block-start:0}.dialog.altText::backdrop{-webkit-mask:url(#alttext-manager-mask);mask:url(#alttext-manager-mask)}.dialog.altText.positioned{margin:0}.dialog.altText #altTextContainer{width:300px;height:-moz-fit-content;height:fit-content;display:inline-flex;flex-direction:column;align-items:flex-start;gap:16px}.dialog.altText #altTextContainer #overallDescription{display:flex;flex-direction:column;align-items:flex-start;gap:4px;align-self:stretch}.dialog.altText #altTextContainer #overallDescription span{align-self:stretch}.dialog.altText #altTextContainer #overallDescription .title{font-size:13px;font-style:normal;font-weight:590}.dialog.altText #altTextContainer #addDescription{display:flex;flex-direction:column;align-items:stretch;gap:8px}.dialog.altText #altTextContainer #addDescription .descriptionArea{flex:1;padding-inline:24px 10px}.dialog.altText #altTextContainer #addDescription .descriptionArea textarea{width:100%;min-height:75px}.dialog.altText #altTextContainer #buttons{display:flex;justify-content:flex-end;align-items:flex-start;gap:8px;align-self:stretch}.colorPicker{--hover-outline-color:#0250bb;--selected-outline-color:#0060df;--swatch-border-color:#cfcfd8}@media (prefers-color-scheme:dark){.colorPicker{--hover-outline-color:#80ebff;--selected-outline-color:#aaf2ff;--swatch-border-color:#52525e}}@media screen and (forced-colors:active){.colorPicker{--hover-outline-color:Highlight;--selected-outline-color:var(--hover-outline-color);--swatch-border-color:ButtonText}}.colorPicker .swatch{width:16px;height:16px;border:1px solid var(--swatch-border-color);border-radius:100%;outline-offset:2px;box-sizing:border-box;forced-color-adjust:none}.colorPicker button:is(:hover,.selected)>.swatch{border:none}.annotationEditorLayer[data-main-rotation="0"] .highlightEditor:not(.free)>.editToolbar{rotate:0deg}.annotationEditorLayer[data-main-rotation="90"] .highlightEditor:not(.free)>.editToolbar{rotate:270deg}.annotationEditorLayer[data-main-rotation="180"] .highlightEditor:not(.free)>.editToolbar{rotate:180deg}.annotationEditorLayer[data-main-rotation="270"] .highlightEditor:not(.free)>.editToolbar{rotate:90deg}.annotationEditorLayer .highlightEditor{position:absolute;background:transparent;z-index:1;cursor:auto;max-width:100%;max-height:100%;border:none;outline:none;pointer-events:none;transform-origin:0 0}.annotationEditorLayer .highlightEditor:not(.free){transform:none}.annotationEditorLayer .highlightEditor .internal{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto}.annotationEditorLayer .highlightEditor.disabled .internal{pointer-events:none}.annotationEditorLayer .highlightEditor.selectedEditor .internal{cursor:pointer}.annotationEditorLayer .highlightEditor .editToolbar{--editor-toolbar-colorpicker-arrow-image:url(../img/toolbarButton-menuArrow.37a6145d.svg);transform-origin:center!important}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker{position:relative;width:auto;display:flex;justify-content:center;align-items:center;gap:4px;padding:4px}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:after{content:"";-webkit-mask-image:var(--editor-toolbar-colorpicker-arrow-image);mask-image:var(--editor-toolbar-colorpicker-arrow-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;display:inline-block;background-color:var(--editor-toolbar-fg-color);width:12px;height:12px}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:hover:after{background-color:var(--editor-toolbar-hover-fg-color)}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden)){background-color:var(--editor-toolbar-hover-bg-color)}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden)):after{scale:-1}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown{position:absolute;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:11px;padding-block:8px;border-radius:6px;background-color:var(--editor-toolbar-bg-color);border:1px solid var(--editor-toolbar-border-color);box-shadow:var(--editor-toolbar-shadow);inset-block-start:calc(100% + 4px);width:calc(100% + var(--editor-toolbar-padding)*2)}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button{width:100%;height:auto;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;background:none}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:active,:focus-visible){outline:none}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button>.swatch{outline-offset:2px}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button[aria-selected=true]>.swatch{outline:2px solid var(--selected-outline-color)}.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:hover,:active,:focus-visible)>.swatch{outline:2px solid var(--hover-outline-color)}.editorParamsToolbar:has(#highlightParamsToolbarContainer){padding:unset}#highlightParamsToolbarContainer{height:auto;padding-inline:10px;padding-block:10px 16px;gap:16px;display:flex;flex-direction:column;box-sizing:border-box}#highlightParamsToolbarContainer .editorParamsLabel{width:-moz-fit-content;width:fit-content;inset-inline-start:0}#highlightParamsToolbarContainer .colorPicker{display:flex;flex-direction:column;gap:8px}#highlightParamsToolbarContainer .colorPicker .dropdown{display:flex;justify-content:space-between;align-items:center;flex-direction:row;height:auto}#highlightParamsToolbarContainer .colorPicker .dropdown button{width:auto;height:auto;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;background:none;flex:0 0 auto}#highlightParamsToolbarContainer .colorPicker .dropdown button .swatch{width:24px;height:24px}#highlightParamsToolbarContainer .colorPicker .dropdown button:is(:active,:focus-visible){outline:none}#highlightParamsToolbarContainer .colorPicker .dropdown button[aria-selected=true]>.swatch{outline:2px solid var(--selected-outline-color)}#highlightParamsToolbarContainer .colorPicker .dropdown button:is(:hover,:active,:focus-visible)>.swatch{outline:2px solid var(--hover-outline-color)}#highlightParamsToolbarContainer #editorHighlightThickness{display:flex;flex-direction:column;align-items:center;gap:4px;align-self:stretch}#highlightParamsToolbarContainer #editorHighlightThickness .editorParamsLabel{width:100%;height:auto;align-self:stretch}#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{display:flex;justify-content:space-between;align-items:center;align-self:stretch;--example-color:#bfbfc9}@media (prefers-color-scheme:dark){#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{--example-color:#80808e}}@media screen and (forced-colors:active){#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{--example-color:CanvasText}}:is(#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker>.editorParamsSlider[disabled]){opacity:.4}#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker:after,#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker:before{content:"";width:8px;aspect-ratio:1;display:block;border-radius:100%;background-color:var(--example-color)}#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker:after{width:24px}#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker .editorParamsSlider{width:unset;height:14px}#highlightParamsToolbarContainer #editorHighlightVisibility{display:flex;flex-direction:column;align-items:flex-start;gap:8px;align-self:stretch}#highlightParamsToolbarContainer #editorHighlightVisibility .divider{--divider-color:#d7d7db;margin-block:4px;width:100%;height:1px;background-color:var(--divider-color)}@media (prefers-color-scheme:dark){#highlightParamsToolbarContainer #editorHighlightVisibility .divider{--divider-color:#8f8f9d}}@media screen and (forced-colors:active){#highlightParamsToolbarContainer #editorHighlightVisibility .divider{--divider-color:CanvasText}}#highlightParamsToolbarContainer #editorHighlightVisibility .toggler{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:root{--viewer-container-height:0;--pdfViewer-padding-bottom:0;--page-margin:1px auto -8px;--page-border:9px solid transparent;--spreadHorizontalWrapped-margin-LR:-3.5px;--loading-icon-delay:400ms}@media screen and (forced-colors:active){:root{--pdfViewer-padding-bottom:9px;--page-margin:8px auto -1px;--page-border:1px solid CanvasText;--spreadHorizontalWrapped-margin-LR:3.5px}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}#hiddenCopyElement,.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdfViewer{--scale-factor:1;padding-bottom:var(--pdfViewer-padding-bottom);--hcm-highlight-filter:none;--hcm-highlight-selected-filter:none}@media screen and (forced-colors:active){.pdfViewer{--hcm-highlight-filter:invert(100%)}}.pdfViewer .canvasWrapper{overflow:hidden;width:100%;height:100%}.pdfViewer .canvasWrapper canvas{margin:0;display:block}.pdfViewer .canvasWrapper canvas[hidden]{display:none}.pdfViewer .canvasWrapper canvas[zooming]{width:100%;height:100%}.pdfViewer .canvasWrapper canvas .structTree{contain:strict}.pdfViewer .page{direction:ltr;width:816px;height:1056px;margin:var(--page-margin);position:relative;overflow:visible;border:var(--page-border);background-clip:content-box;background-color:#fff}.pdfViewer .dummyPage{position:relative;width:0;height:var(--viewer-container-height)}.pdfViewer.noUserSelect{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pdfViewer.removePageBorders .page{margin:0 auto 10px;border:none}.pdfViewer.singlePageView{display:inline-block}.pdfViewer.singlePageView .page{margin:0;border:none}.pdfViewer:is(.scrollHorizontal,.scrollWrapped),.spread{margin-inline:3.5px;text-align:center}.pdfViewer.scrollHorizontal,.spread{white-space:nowrap}.pdfViewer.removePageBorders,.pdfViewer:is(.scrollHorizontal,.scrollWrapped) .spread{margin-inline:0}.pdfViewer:is(.scrollHorizontal,.scrollWrapped) :is(.page,.spread),.spread :is(.page,.dummyPage){display:inline-block;vertical-align:middle}.pdfViewer:is(.scrollHorizontal,.scrollWrapped) .page,.spread .page{margin-inline:var(--spreadHorizontalWrapped-margin-LR)}.pdfViewer.removePageBorders .spread .page,.pdfViewer.removePageBorders:is(.scrollHorizontal,.scrollWrapped) .page{margin-inline:5px}.pdfViewer .page.loadingIcon:after{position:absolute;top:0;left:0;content:"";width:100%;height:100%;background:url(data:image/gif;base64,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) 50% no-repeat;display:none;transition-property:display;transition-delay:var(--loading-icon-delay);z-index:5;contain:strict}.pdfViewer .page.loading:after{display:block}.pdfViewer .page:not(.loading):after{transition-property:none;display:none}.pdfPresentationMode .pdfViewer{padding-bottom:0}.pdfPresentationMode .spread{margin:0}.pdfPresentationMode .pdfViewer .page{margin:0 auto;border:2px solid transparent}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>streamlit_pdf_viewer</title><script defer="defer" src="js/chunk-vendors.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>streamlit_pdf_viewer</title><script defer="defer" src="js/chunk-vendors.a7b421ed.js"></script><script defer="defer" src="js/app.3d9d09f3.js"></script><link href="css/chunk-vendors.ee6905b7.css" rel="stylesheet"><link href="css/app.1df382f3.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but streamlit_pdf_viewer doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{"use strict";var e={9957:(e,t,n)=>{var r=n(3751),a=n(641);const i={id:"app"};function o(e,t,n,r,o,s){const l=(0,a.g2)("PdfViewer"),d=(0,a.g2)("WithStreamlitConnection");return(0,a.uX)(),(0,a.CE)("div",i,[(0,a.bF)(d,null,{default:(0,a.k6)((({args:e})=>[(0,a.bF)(l,{args:e},null,8,["args"])])),_:1})])}var s=n(33);const l={key:0},d={key:1},c=["src","width","height"],p={key:2},h=["src","width","height"],g={key:3};function u(e,t,n,r,i,o){return(0,a.uX)(),(0,a.CE)("div",{id:"pdfContainer",style:(0,s.Tr)(r.pdfContainerStyle)},["unwrap"===n.args.rendering?((0,a.uX)(),(0,a.CE)("div",l,[(0,a.Lk)("div",{id:"pdfViewer",style:(0,s.Tr)(r.pdfViewerStyle)},null,4)])):"legacy_embed"===n.args.rendering?((0,a.uX)(),(0,a.CE)("div",d,[(0,a.Lk)("embed",{src:`data:application/pdf;base64,${n.args.binary}`,width:`${n.args.width}`,height:`${n.args.height}`,type:"application/pdf"},null,8,c)])):"legacy_iframe"===n.args.rendering?((0,a.uX)(),(0,a.CE)("div",p,[(0,a.Lk)("embed",{src:`data:application/pdf;base64,${n.args.binary}`,width:`${n.args.width}`,height:`${n.args.height}`,type:"application/pdf"},null,8,h)])):((0,a.uX)(),(0,a.CE)("div",g," Error rendering option. "))],4)}n(4114),n(8111),n(2489),n(7588);var v=n(953),w=(n(951),n(9936)),y=n(7445),f=n(2543);const m="pdfjs-dist/cmaps/",_=!0,b=!0,E=["solid","dashed","dotted","double","groove","ridge","inset","outset","none",void 0,null],x={props:["args"],setup(e){const t=(0,v.KR)(0),n=(0,v.KR)(0),r=(0,v.KR)([]),i=(0,v.KR)([]),o=(0,v.KR)([]),s=(0,v.KR)(e.args.height||0),l=(e.args.pages_to_render.length,!0===e.args.render_text),d=(e,t=window.innerWidth)=>{if("string"===typeof e&&e.endsWith("%")){const t=parseFloat(e);if(!isNaN(t))return{type:"percent",value:t/100}}const n=Number(e);return!isNaN(n)&&n>0?{type:"pixel",value:n}:{type:"pixel",value:t}},c=(0,a.EW)((()=>{const t=d(e.args.width,window.innerWidth),n="percent"===t.type?100*t.value+"%":`${t.value}px`;return{width:n,height:e.args.height?`${e.args.height}px`:"auto",overflow:"auto",position:"relative"}})),p={position:"relative"},h=e=>{e&&(e.innerHTML="")},g=(t,n,r,a,i=1)=>{const o=t.getViewport({scale:n,rotation:r}),s=(window.devicePixelRatio||1)*i,l=document.createElement("canvas");return l.id=`canvas_page_${a}`,l.height=o.height*s+e.args.pages_vertical_spacing,l.width=o.width*s,l.style.width=`${o.width}px`,l.style.height=`${o.height}px`,l.style.display="block",l.style.marginBottom=`${e.args.pages_vertical_spacing}px`,l.getContext("2d").scale(s,s),l},u=(t,n,r)=>{const a=document.createElement("div");a.id=`annotation-${t.id||t.page}-${t.index}`,a.style.position="absolute",a.style.left=t.x*r+"px",a.style.top=t.y*r+"px",a.style.width=t.width*r+"px",a.style.height=t.height*r+"px";let i=t.border;t.border&&E.includes(t.border)||(i="solid"),a.style.outline=`${e.args.annotation_outline_size*r}px ${i} ${t.color}`,a.style.cursor=l?"text":"pointer",a.style.pointerEvents=l?"none":"auto",a.style.zIndex=10,l||a.addEventListener("click",(()=>{y.wk.setComponentValue({clicked_annotation:{index:t.index,...t}})})),n.appendChild(a)},x=async(e,t,n,r)=>{const a={canvasContext:t.getContext("2d"),viewport:n};await e.render(a).promise;const i=document.createElement("div");i.className="page",i.style.position="relative",i.style.width=`${n.width}px`,i.style.height=`${n.height}px`;const o=document.createElement("div");if(o.className="canvasWrapper",o.style.position="absolute",o.style.top="0",o.style.left="0",o.appendChild(t),i.appendChild(o),l){const t=await e.getTextContent(),r=document.createElement("div");r.className="textLayer",r.style.zIndex="11",r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.height=`${n.height}px`,r.style.width=`${n.width}px`;const a=new w.D6({textContentSource:t,container:r,viewport:n,textDivs:[]});await a.render(),i.appendChild(r)}r&&r.length>0&&r.forEach((e=>{u(e,i,n.scale)}));const s=document.getElementById("pdfViewer");s.appendChild(i)},k=t=>0===e.args.pages_to_render.length?Array.from({length:t},((e,t)=>t+1)):e.args.pages_to_render,C=async(a,s,l)=>{t.value=0,r.value=[],i.value=[],o.value=[];const d=e.args.resolution_boost||1;for(let c=1;c<=a.numPages;c++){const p=await a.getPage(c),h=p.rotate,u=p.getViewport({scale:1,rotation:h});if(e.args.height>0){const t=u.width/u.height,r=t*e.args.height;(0===n.value||r<n.value)&&(n.value=r)}const v=n.value/u.width;if(r.value.push(v),i.value.push(u.height),l.includes(c)){const n=g(p,v,h,c,d);s.style.setProperty("--scale-factor",v);const r=p.getViewport({scale:v,rotation:h,intent:"print"}),a=e.args.annotations.filter((e=>Number(e.page)===c));t.value+=n.height/((window.devicePixelRatio||1)*d),await x(p,n,r,a),n.id&&o.value.push(n.id)}}l.length>0&&(t.value-=e.args.pages_vertical_spacing)},$=e=>{window.alert(e.message),console.error(e)},R=async e=>{w.EA.workerSrc="pdfjs-dist/build/pdf.worker.mjs";try{const t=(0,w.YE)({url:e,cMapUrl:m,cMapPacked:_,enableXfa:b}),n=await t.promise,r=document.getElementById("pdfViewer");h(r);const a=k(n.numPages);await C(n,r,a),V()}catch(t){$(t)}},V=()=>{if(e.args.scroll_to_page){const t=document.getElementById(`canvas_page_${e.args.scroll_to_page}`);t&&t.scrollIntoView({behavior:"smooth"})}else if(e.args.scroll_to_annotation){const t=document.querySelector(`[id^="annotation-"][data-index="${e.args.scroll_to_annotation}"]`);t&&t.scrollIntoView({behavior:"smooth",block:"center"})}},N=()=>{const n=e.args.height||t.value;n!==s.value&&(y.wk.setFrameHeight(n),s.value=n)},L=()=>{const t=d(e.args.width,window.innerWidth);let r;r="percent"===t.type?Math.min(Math.floor(t.value*window.innerWidth),window.innerWidth):Math.min(t.value,window.innerWidth),r!==n.value&&(n.value=r)},W=async()=>{try{if(console.log("handleResize"),"unwrap"===e.args.rendering){const t=`data:application/pdf;base64,${e.args.binary}`;L(),await R(t),N()}}catch(t){console.error(t)}},O=(0,f.debounce)(W,200);return(0,a.sV)((()=>{O(),window.addEventListener("resize",O)})),(0,a.hi)((()=>{window.removeEventListener("resize",O)})),{pdfContainerStyle:c,pdfViewerStyle:p}}};var k=n(6262);const C=(0,k.A)(x,[["render",u]]),$=C,R={key:0},V={class:"err__msg"};function N(e,t,n,r,i,o){return(0,a.uX)(),(0,a.CE)("div",null,[""!=e.componentError?((0,a.uX)(),(0,a.CE)("div",R,[t[0]||(t[0]=(0,a.Lk)("h1",{class:"err__title"},"Component Error",-1)),(0,a.Lk)("div",V,"Message: "+(0,s.v_)(e.componentError),1)])):null!=e.renderData?(0,a.RG)(e.$slots,"default",{key:1,args:e.renderData.args,disabled:e.renderData.disabled},void 0,!0):(0,a.Q3)("",!0)])}const L=(0,a.pM)({name:"WithStreamlitConnection",setup(){const e=(0,v.KR)(void 0),t=(0,v.KR)(""),n=n=>{const r=n;e.value=r.detail,t.value=""};return(0,a.sV)((()=>{y.wk.events.addEventListener(y.wk.RENDER_EVENT,n),y.wk.setComponentReady()})),(0,a.$u)((()=>{""!=t.value&&y.wk.setFrameHeight()})),(0,a.hi)((()=>{y.wk.events.removeEventListener(y.wk.RENDER_EVENT,n)})),(0,a.qG)((e=>{t.value=String(e)})),{renderData:e,componentError:t}}}),W=(0,k.A)(L,[["render",N],["__scopeId","data-v-bef81972"]]),O=W,P=(0,a.pM)({name:"App",components:{PdfViewer:$,WithStreamlitConnection:O}}),S=(0,k.A)(P,[["render",o]]),j=S;(0,r.Ef)(j).mount("#app")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}n.m=e,(()=>{var e=[];n.O=(t,r,a,i)=>{if(!r){var o=1/0;for(c=0;c<e.length;c++){for(var[r,a,i]=e[c],s=!0,l=0;l<r.length;l++)(!1&i||o>=i)&&Object.keys(n.O).every((e=>n.O[e](r[l])))?r.splice(l--,1):(s=!1,i<o&&(o=i));if(s){e.splice(c--,1);var d=a();void 0!==d&&(t=d)}}return t}i=i||0;for(var c=e.length;c>0&&e[c-1][2]>i;c--)e[c]=e[c-1];e[c]=[r,a,i]}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{var e={524:0};n.O.j=t=>0===e[t];var t=(t,r)=>{var a,i,[o,s,l]=r,d=0;if(o.some((t=>0!==e[t]))){for(a in s)n.o(s,a)&&(n.m[a]=s[a]);if(l)var c=l(n)}for(t&&t(r);d<o.length;d++)i=o[d],n.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return n.O(c)},r=self["webpackChunkstreamlit_pdf_viewer"]=self["webpackChunkstreamlit_pdf_viewer"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var r=n.O(void 0,[504],(()=>n(9957)));r=n.O(r)})();
|
|
2
|
+
//# sourceMappingURL=app.3d9d09f3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js/app.3d9d09f3.js","mappings":"gEAEA,MAAMA,EAAa,CCIZC,GAAG,ODFJ,SAAUC,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,MAAMC,GAAuBC,EAAAA,EAAAA,IAAkB,aACzCC,GAAqCD,EAAAA,EAAAA,IAAkB,2BAE7D,OAAQE,EAAAA,EAAAA,OCFRC,EAAAA,EAAAA,IAIM,MAJNb,EAIM,EAHJc,EAAAA,EAAAA,IAE0BH,EAAA,MAT9BI,SAAAC,EAAAA,EAAAA,KAQM,EADiCC,UAAI,EACrCH,EAAAA,EAAAA,IAA0BL,EAAA,CAAdQ,KAAMA,GAAI,oBAR5BC,EAAA,KDgBA,C,qBEhBAC,IAAA,G,GAAAA,IAAA,G,EAAA,yB,GAAAA,IAAA,G,EAAA,yB,GAAAA,IAAA,G,0CACEN,EAAAA,EAAAA,IAeM,OAfDZ,GAAG,eAAgBmB,OAD1BC,EAAAA,EAAAA,IACiCf,EAAAgB,oB,CACC,WAAnBjB,EAAAY,KAAKM,YAAS,WAAzBV,EAAAA,EAAAA,IAEM,MAJVb,EAAA,EAGMwB,EAAAA,EAAAA,IAAkD,OAA7CvB,GAAG,YAAamB,OAH3BC,EAAAA,EAAAA,IAGkCf,EAAAmB,iB,WAEK,iBAAnBpB,EAAAY,KAAKM,YAAS,WAA9BV,EAAAA,EAAAA,IAGM,MARVa,EAAA,EAMMF,EAAAA,EAAAA,IAC+B,SADvBG,IAAG,+BAAiCtB,EAAAY,KAAKW,SAAWC,MAAK,GAAKxB,EAAAY,KAAKY,QAAUC,OAAM,GAAKzB,EAAAY,KAAKa,SAC9FC,KAAK,mB,OAPlBC,MASuC,kBAAnB3B,EAAAY,KAAKM,YAAS,WAA9BV,EAAAA,EAAAA,IAGM,MAZVoB,EAAA,EAUMT,EAAAA,EAAAA,IAC+B,SADvBG,IAAG,+BAAiCtB,EAAAY,KAAKW,SAAWC,MAAK,GAAKxB,EAAAY,KAAKY,QAAUC,OAAM,GAAKzB,EAAAY,KAAKa,SAC9FC,KAAK,mB,OAXlBG,QAAA,WAaIrB,EAAAA,EAAAA,IAEM,MAfVsB,EAagB,+BAEZ,E,qFAaJ,MAAMC,EAAW,oBACXC,GAAc,EACdC,GAAa,EACbC,EAAgC,CAAC,QAAS,SAAU,SAAU,SAAU,SAAU,QAAS,QAAS,SAAU,YAAQC,EAAW,MAEvI,GACEC,MAAO,CAAC,QAERC,KAAAA,CAAMD,GACJ,MAAME,GAAcC,EAAAA,EAAAA,IAAI,GAClBC,GAAWD,EAAAA,EAAAA,IAAI,GACfE,GAAaF,EAAAA,EAAAA,IAAI,IACjBG,GAAcH,EAAAA,EAAAA,IAAI,IAClBI,GAAcJ,EAAAA,EAAAA,IAAI,IAClBK,GAAqBL,EAAAA,EAAAA,IAAIH,EAAMxB,KAAKa,QAAU,GAI9CoB,GAFsBT,EAAMxB,KAAKkC,gBAAgBC,QAET,IAA3BX,EAAMxB,KAAKoC,aAExBC,EAAkBA,CAACC,EAAYC,EAAgBC,OAAOC,cAC1D,GAA0B,kBAAfH,GAA2BA,EAAWI,SAAS,KAAM,CAC9D,MAAMC,EAAMC,WAAWN,GACvB,IAAKO,MAAMF,GACT,MAAO,CAAE7B,KAAM,UAAWgC,MAAOH,EAAM,IAE3C,CACA,MAAMI,EAAUC,OAAOV,GACvB,OAAKO,MAAME,IAAYA,EAAU,EACxB,CAAEjC,KAAM,QAASgC,MAAOC,GAE1B,CAAEjC,KAAM,QAASgC,MAAOP,EAAe,EAG1ClC,GAAoB4C,EAAAA,EAAAA,KAAS,KACjC,MAAMC,EAASb,EAAgBb,EAAMxB,KAAKY,MAAO4B,OAAOC,YAClDU,EAA2B,YAAhBD,EAAOpC,KAAuC,IAAfoC,EAAOJ,MAAV,IAA2B,GAAGI,EAAOJ,UAClF,MAAO,CACLlC,MAAOuC,EACPtC,OAAQW,EAAMxB,KAAKa,OAAS,GAAGW,EAAMxB,KAAKa,WAAa,OACvDuC,SAAU,OACVC,SAAU,WACX,IAGG7C,EAAiB,CAAE6C,SAAU,YAkB7BC,EAAyBC,IACxBA,IACLA,EAAUC,UAAY,GAAE,EAGpBC,EAAsBA,CAACC,EAAMC,EAAOC,EAAUC,EAAYC,EAAuB,KACrF,MAAMC,EAAWL,EAAKM,YAAY,CAAEL,QAAOC,aACrCK,GAASzB,OAAO0B,kBAAoB,GAAKJ,EAEzCK,EAASC,SAASC,cAAc,UAUtC,OATAF,EAAOnF,GAAK,eAAe6E,IAC3BM,EAAOtD,OAASkD,EAASlD,OAASoD,EAAQzC,EAAMxB,KAAKsE,uBACrDH,EAAOvD,MAAQmD,EAASnD,MAAQqD,EAChCE,EAAOhE,MAAMS,MAAQ,GAAGmD,EAASnD,UACjCuD,EAAOhE,MAAMU,OAAS,GAAGkD,EAASlD,WAClCsD,EAAOhE,MAAMoE,QAAU,QACvBJ,EAAOhE,MAAMqE,aAAe,GAAGhD,EAAMxB,KAAKsE,2BAC1CH,EAAOM,WAAW,MAAMd,MAAMM,EAAOA,GAE9BE,CAAM,EAGTO,EAAmBA,CAACC,EAAYC,EAASjB,KAC7C,MAAMkB,EAAgBT,SAASC,cAAc,OAC7CQ,EAAc7F,GAAK,cAAc2F,EAAW3F,IAAM2F,EAAWjB,QAAQiB,EAAWG,QAChFD,EAAc1E,MAAMkD,SAAW,WAC/BwB,EAAc1E,MAAM4E,KAAUJ,EAAWK,EAAIrB,EAAlB,KAC3BkB,EAAc1E,MAAM8E,IAASN,EAAWO,EAAIvB,EAAlB,KAC1BkB,EAAc1E,MAAMS,MAAW+D,EAAW/D,MAAQ+C,EAAtB,KAC5BkB,EAAc1E,MAAMU,OAAY8D,EAAW9D,OAAS8C,EAAvB,KAC7B,IAAIwB,EAASR,EAAWQ,OACnBR,EAAWQ,QAAW7D,EAA8B8D,SAAST,EAAWQ,UAC3EA,EAAS,SAEXN,EAAc1E,MAAMkF,QAAU,GAAG7D,EAAMxB,KAAKsF,wBAA0B3B,OAAWwB,KAAUR,EAAWY,QACtGV,EAAc1E,MAAMqF,OAASvD,EAAa,OAAS,UACnD4C,EAAc1E,MAAMsF,cAAgBxD,EAAa,OAAS,OAC1D4C,EAAc1E,MAAMuF,OAAS,GAExBzD,GACH4C,EAAcc,iBAAiB,SAAS,KACtCC,EAAAA,GAAUC,kBAAkB,CAC1BC,mBAAoB,CAAEhB,MAAOH,EAAWG,SAAUH,IAClD,IAINC,EAAQmB,YAAYlB,EAAc,EAG9BmB,EAAaC,MAAOvC,EAAMS,EAAQJ,EAAUmC,KAChD,MAAMC,EAAgB,CACpBC,cAAejC,EAAOM,WAAW,MACjCV,SAAUA,SAGNL,EAAKzE,OAAOkH,GAAeE,QAEjC,MAAMzB,EAAUR,SAASC,cAAc,OACvCO,EAAQ0B,UAAY,OACpB1B,EAAQzE,MAAMkD,SAAW,WACzBuB,EAAQzE,MAAMS,MAAQ,GAAGmD,EAASnD,UAClCgE,EAAQzE,MAAMU,OAAS,GAAGkD,EAASlD,WAEnC,MAAM0F,EAAgBnC,SAASC,cAAc,OAS7C,GARAkC,EAAcD,UAAY,gBAC1BC,EAAcpG,MAAMkD,SAAW,WAC/BkD,EAAcpG,MAAM8E,IAAM,IAC1BsB,EAAcpG,MAAM4E,KAAO,IAC3BwB,EAAcR,YAAY5B,GAE1BS,EAAQmB,YAAYQ,GAEhBtE,EAAY,CACd,MAAMuE,QAAoB9C,EAAK+C,iBACzBC,EAAetC,SAASC,cAAc,OAC5CqC,EAAaJ,UAAY,YACzBI,EAAavG,MAAMuF,OAAS,KAC5BgB,EAAavG,MAAMkD,SAAW,WAC9BqD,EAAavG,MAAM8E,IAAM,IACzByB,EAAavG,MAAM4E,KAAO,IAC1B2B,EAAavG,MAAMU,OAAS,GAAGkD,EAASlD,WACxC6F,EAAavG,MAAMS,MAAQ,GAAGmD,EAASnD,UAEvC,MAAM+F,EAAY,IAAIC,EAAAA,GAAmB,CACvCC,kBAAmBL,EACnBM,UAAWJ,EACX3C,SAAUA,EACVgD,SAAU,WAENJ,EAAU1H,SAEhB2F,EAAQmB,YAAYW,EACtB,CAEIR,GAAeA,EAAY/D,OAAS,GACtC+D,EAAYc,SAAQrC,IAClBD,EAAiBC,EAAYC,EAASb,EAASJ,MAAM,IAIzD,MAAMJ,EAAYa,SAAS6C,eAAe,aAC1C1D,EAAUwC,YAAYnB,EAAQ,EAG1BsC,EAAoBC,GACkB,IAAtC3F,EAAMxB,KAAKkC,gBAAgBC,OACtBiF,MAAMC,KAAK,CAAElF,OAAQgF,IAAY,CAAClH,EAAGqH,IAAMA,EAAI,IAEjD9F,EAAMxB,KAAKkC,gBAGdqF,EAAiBtB,MAAOuB,EAAKjE,EAAWkE,KAC5C/F,EAAYoB,MAAQ,EACpBjB,EAAWiB,MAAQ,GACnBhB,EAAYgB,MAAQ,GACpBf,EAAYe,MAAQ,GAEpB,MAAM4E,EAAkBlG,EAAMxB,KAAK2H,kBAAoB,EAEvD,IAAK,IAAI9D,EAAa,EAAGA,GAAc2D,EAAIL,SAAUtD,IAAc,CACjE,MAAMH,QAAa8D,EAAII,QAAQ/D,GACzBD,EAAWF,EAAKmE,OAChBC,EAAmBpE,EAAKM,YAAY,CAAEL,MAAO,EAAKC,aAExD,GAAIpC,EAAMxB,KAAKa,OAAS,EAAG,CACzB,MAAMkH,EAAaD,EAAiBlH,MAAQkH,EAAiBjH,OACvDmH,EAAsBD,EAAavG,EAAMxB,KAAKa,QAC7B,IAAnBe,EAASkB,OAAekF,EAAsBpG,EAASkB,SACzDlB,EAASkB,MAAQkF,EAErB,CAEA,MAAMrE,EAAQ/B,EAASkB,MAAQgF,EAAiBlH,MAKhD,GAHAiB,EAAWiB,MAAMmF,KAAKtE,GACtB7B,EAAYgB,MAAMmF,KAAKH,EAAiBjH,QAEpC4G,EAAcrC,SAASvB,GAAa,CACtC,MAAMM,EAASV,EAAoBC,EAAMC,EAAOC,EAAUC,EAAY6D,GACtEnE,EAAUpD,MAAM+H,YAAY,iBAAkBvE,GAE9C,MAAMI,EAAWL,EAAKM,YAAY,CAChCL,MAAOA,EACPC,SAAUA,EACVuE,OAAQ,UAGJC,EAAqB5G,EAAMxB,KAAKkG,YAAYmC,QAChDC,GAAQtF,OAAOsF,EAAK5E,QAAUG,IAGhCnC,EAAYoB,OAASqB,EAAOtD,SAAW2B,OAAO0B,kBAAoB,GAAKwD,SACjE1B,EAAWtC,EAAMS,EAAQJ,EAAUqE,GAErCjE,EAAOnF,IACT+C,EAAYe,MAAMmF,KAAK9D,EAAOnF,GAElC,CACF,CAEIyI,EAActF,OAAS,IACzBT,EAAYoB,OAAStB,EAAMxB,KAAKsE,uBAClC,EAGIiE,EAAcC,IAClBhG,OAAOiG,MAAMD,EAAME,SACnBC,QAAQH,MAAMA,EAAM,EAGhBI,EAAW3C,UACfW,EAAAA,GAA6BiC,UAAY,kCACzC,IACE,MAAMC,GAAcC,EAAAA,EAAAA,IAAY,CAC9BC,IAAKA,EACLC,QAAS9H,EACT+H,WAAY9H,EACZ+H,UAAW9H,IAEPmG,QAAYsB,EAAYzC,QAExB9C,EAAYa,SAAS6C,eAAe,aAC1C3D,EAAsBC,GAEtB,MAAMkE,EAAgBP,EAAiBM,EAAIL,gBACrCI,EAAeC,EAAKjE,EAAWkE,GACrC2B,GACF,CAAE,MAAOZ,GACPD,EAAWC,EACb,GAGIY,EAAeA,KACnB,GAAI5H,EAAMxB,KAAKqJ,eAAgB,CAC7B,MAAM3F,EAAOU,SAAS6C,eAAe,eAAezF,EAAMxB,KAAKqJ,kBAC3D3F,GACFA,EAAK4F,eAAe,CAAEC,SAAU,UAEpC,MAAO,GAAI/H,EAAMxB,KAAKwJ,qBAAsB,CAC1C,MAAM7E,EAAaP,SAASqF,cAAc,mCAAmCjI,EAAMxB,KAAKwJ,0BACpF7E,GACFA,EAAW2E,eAAe,CAAEC,SAAU,SAAUG,MAAO,UAE3D,GAGIC,EAAiBA,KACrB,MAAMC,EAAYpI,EAAMxB,KAAKa,QAAUa,EAAYoB,MAC/C8G,IAAc5H,EAAmBc,QACnC8C,EAAAA,GAAU+D,eAAeC,GACzB5H,EAAmBc,MAAQ8G,EAC7B,EAGIC,EAAgBA,KACpB,MAAM3G,EAASb,EAAgBb,EAAMxB,KAAKY,MAAO4B,OAAOC,YACxD,IAAIqH,EAEFA,EADkB,YAAhB5G,EAAOpC,KACKiJ,KAAKC,IAAID,KAAKE,MAAM/G,EAAOJ,MAAQN,OAAOC,YAAaD,OAAOC,YAE9DsH,KAAKC,IAAI9G,EAAOJ,MAAON,OAAOC,YAG1CqH,IAAgBlI,EAASkB,QAC3BlB,EAASkB,MAAQgH,EACnB,EAGII,EAAejE,UACnB,IAEE,GADA0C,QAAQwB,IAAI,gBACiB,WAAzB3I,EAAMxB,KAAKM,UAAwB,CACrC,MAAM8J,EAAgB,+BAA+B5I,EAAMxB,KAAKW,SAChEkJ,UACMjB,EAASwB,GACfT,GACF,CACF,CAAE,MAAOnB,GACPG,QAAQH,MAAMA,EAChB,GAII6B,GAAwBC,EAAAA,EAAAA,UAASJ,EAAc,KAWrD,OATAK,EAAAA,EAAAA,KAAU,KACRF,IACA7H,OAAOmD,iBAAiB,SAAU0E,EAAsB,KAG1DG,EAAAA,EAAAA,KAAY,KACVhI,OAAOiI,oBAAoB,SAAUJ,EAAsB,IAGtD,CACLhK,oBACAG,iBAEJ,G,cCzVF,MAAMkK,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,KAEpE,ICLM3L,EAAa,CCFnBmB,IAAA,GDGMO,EAAa,CCERkK,MAAM,YDAX,SAAU1L,EAAOC,EAAUC,EAAYC,EAAYC,EAAYC,EAAWC,GAC9E,OAAQI,EAAAA,EAAAA,OCLRC,EAAAA,EAAAA,IAgBM,YAdyB,IAAlBV,EAAA0L,iBDKNjL,EAAAA,EAAAA,OCLLC,EAAAA,EAAAA,IAGM,MANVb,EAAA,CDSUI,EAAO,KAAOA,EAAO,ICLzBoB,EAAAA,EAAAA,IAA2C,MAAvCoK,MAAM,cAAa,mBAAe,KACtCpK,EAAAA,EAAAA,IAAyD,MAAzDE,EAAsB,aAASoK,EAAAA,EAAAA,IAAG3L,EAAA0L,gBAAc,MAQvB,MAAd1L,EAAA4L,YADbC,EAAAA,EAAAA,IAIQ7L,EAAA8L,OAAA,WAhBZ9K,IAAA,EAcOF,KAAMd,EAAA4L,WAAW9K,KACjBiL,SAAU/L,EAAA4L,WAAWG,eDEf1J,GAAW,ICjBxB2J,EAAAA,EAAAA,IAAA,QDoBA,CCWA,SAAeC,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,0BACN3J,KAAAA,GACE,MAAMqJ,GAAanJ,EAAAA,EAAAA,SAAiBJ,GAC9BqJ,GAAiBjJ,EAAAA,EAAAA,IAAI,IAErB0J,EAAiBC,IACrB,MAAMC,EAAcD,EACpBR,EAAWhI,MAAQyI,EAAYC,OAC/BZ,EAAe9H,MAAQ,EAAC,EA4B1B,OAvBAyH,EAAAA,EAAAA,KAAU,KACR3E,EAAAA,GAAU6F,OAAO9F,iBAAiBC,EAAAA,GAAU8F,aAAcL,GAC1DzF,EAAAA,GAAU+F,mBAAkB,KAE9BC,EAAAA,EAAAA,KAAU,KAKoB,IAAxBhB,EAAe9H,OACjB8C,EAAAA,GAAU+D,gBACZ,KAEFa,EAAAA,EAAAA,KAAY,KACV5E,EAAAA,GAAU6F,OAAOhB,oBACf7E,EAAAA,GAAU8F,aACVL,EACF,KAEFQ,EAAAA,EAAAA,KAAgBC,IACdlB,EAAe9H,MAAQiJ,OAAOD,EAAI,IAG7B,CACLhB,aACAF,iBAEJ,ICjEI,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAAS,GAAQ,CAAC,YAAY,qBAEzF,ILeA,GAAeO,EAAAA,EAAAA,IAAgB,CAC7BC,KAAM,MACNY,WAAY,CACVC,UAAS,EACTC,wBAAuBA,KMrBrB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASjN,KAEpE,KCNAkN,EAAAA,EAAAA,IAAUC,GAAKC,MAAM,O,GCFjBC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBjL,IAAjBkL,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CACjDxN,GAAIwN,EACJI,QAAQ,EACRF,QAAS,CAAC,GAUX,OANAG,EAAoBL,GAAUM,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG3EI,EAAOC,QAAS,EAGTD,EAAOD,OACf,CAGAH,EAAoBQ,EAAIF,E,MC5BxB,IAAIG,EAAW,GACfT,EAAoBU,EAAI,CAAC/J,EAAQgK,EAAUC,EAAIC,KAC9C,IAAGF,EAAH,CAMA,IAAIG,EAAeC,IACnB,IAAShG,EAAI,EAAGA,EAAI0F,EAAS7K,OAAQmF,IAAK,CAGzC,IAFA,IAAK4F,EAAUC,EAAIC,GAAYJ,EAAS1F,GACpCiG,GAAY,EACPC,EAAI,EAAGA,EAAIN,EAAS/K,OAAQqL,MACpB,EAAXJ,GAAsBC,GAAgBD,IAAaK,OAAOC,KAAKnB,EAAoBU,GAAGU,OAAOzN,GAASqM,EAAoBU,EAAE/M,GAAKgN,EAASM,MAC9IN,EAASU,OAAOJ,IAAK,IAErBD,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbP,EAASY,OAAOtG,IAAK,GACrB,IAAIuG,EAAIV,SACE5L,IAANsM,IAAiB3K,EAAS2K,EAC/B,CACD,CACA,OAAO3K,CAnBP,CAJCkK,EAAWA,GAAY,EACvB,IAAI,IAAI9F,EAAI0F,EAAS7K,OAAQmF,EAAI,GAAK0F,EAAS1F,EAAI,GAAG,GAAK8F,EAAU9F,IAAK0F,EAAS1F,GAAK0F,EAAS1F,EAAI,GACrG0F,EAAS1F,GAAK,CAAC4F,EAAUC,EAAIC,EAqBjB,C,WCzBdb,EAAoBuB,EAAI,CAACpB,EAASqB,KACjC,IAAI,IAAI7N,KAAO6N,EACXxB,EAAoByB,EAAED,EAAY7N,KAASqM,EAAoByB,EAAEtB,EAASxM,IAC5EuN,OAAOQ,eAAevB,EAASxM,EAAK,CAAEgO,YAAY,EAAMC,IAAKJ,EAAW7N,IAE1E,C,WCNDqM,EAAoB6B,EAAI,WACvB,GAA0B,kBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOC,MAAQ,IAAIC,SAAS,cAAb,EAChB,CAAE,MAAOC,GACR,GAAsB,kBAAXhM,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,WCAxB+J,EAAoByB,EAAI,CAACS,EAAKC,IAAUjB,OAAOkB,UAAUC,eAAe9B,KAAK2B,EAAKC,E,WCAlFnC,EAAoBsC,IAAOlC,IAC1BA,EAAOmC,MAAQ,GACVnC,EAAOoC,WAAUpC,EAAOoC,SAAW,IACjCpC,E,WCER,IAAIqC,EAAkB,CACrB,IAAK,GAaNzC,EAAoBU,EAAEO,EAAKyB,GAA0C,IAA7BD,EAAgBC,GAGxD,IAAIC,EAAuB,CAACC,EAA4BC,KACvD,IAGI5C,EAAUyC,GAHT/B,EAAUmC,EAAaC,GAAWF,EAGhB9H,EAAI,EAC3B,GAAG4F,EAASqC,MAAMvQ,GAAgC,IAAxBgQ,EAAgBhQ,KAAa,CACtD,IAAIwN,KAAY6C,EACZ9C,EAAoByB,EAAEqB,EAAa7C,KACrCD,EAAoBQ,EAAEP,GAAY6C,EAAY7C,IAGhD,GAAG8C,EAAS,IAAIpM,EAASoM,EAAQ/C,EAClC,CAEA,IADG4C,GAA4BA,EAA2BC,GACrD9H,EAAI4F,EAAS/K,OAAQmF,IACzB2H,EAAU/B,EAAS5F,GAChBiF,EAAoByB,EAAEgB,EAAiBC,IAAYD,EAAgBC,IACrED,EAAgBC,GAAS,KAE1BD,EAAgBC,GAAW,EAE5B,OAAO1C,EAAoBU,EAAE/J,EAAO,EAGjCsM,EAAqBC,KAAK,oCAAsCA,KAAK,qCAAuC,GAChHD,EAAmBxI,QAAQkI,EAAqBQ,KAAK,KAAM,IAC3DF,EAAmBvH,KAAOiH,EAAqBQ,KAAK,KAAMF,EAAmBvH,KAAKyH,KAAKF,G,KC7CvF,IAAIG,EAAsBpD,EAAoBU,OAAE1L,EAAW,CAAC,MAAM,IAAOgL,EAAoB,QAC7FoD,EAAsBpD,EAAoBU,EAAE0C,E","sources":["webpack://streamlit_pdf_viewer/./src/App.vue?9ab1","webpack://streamlit_pdf_viewer/./src/App.vue","webpack://streamlit_pdf_viewer/./src/PdfViewer.vue","webpack://streamlit_pdf_viewer/./src/PdfViewer.vue?f557","webpack://streamlit_pdf_viewer/./src/streamlit/WithStreamlitConnection.vue?8d46","webpack://streamlit_pdf_viewer/./src/streamlit/WithStreamlitConnection.vue","webpack://streamlit_pdf_viewer/./src/streamlit/WithStreamlitConnection.vue?1dfc","webpack://streamlit_pdf_viewer/./src/App.vue?7ccd","webpack://streamlit_pdf_viewer/./src/main.ts","webpack://streamlit_pdf_viewer/webpack/bootstrap","webpack://streamlit_pdf_viewer/webpack/runtime/chunk loaded","webpack://streamlit_pdf_viewer/webpack/runtime/define property getters","webpack://streamlit_pdf_viewer/webpack/runtime/global","webpack://streamlit_pdf_viewer/webpack/runtime/hasOwnProperty shorthand","webpack://streamlit_pdf_viewer/webpack/runtime/node module decorator","webpack://streamlit_pdf_viewer/webpack/runtime/jsonp chunk loading","webpack://streamlit_pdf_viewer/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"app\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PdfViewer = _resolveComponent(\"PdfViewer\")!\n const _component_WithStreamlitConnection = _resolveComponent(\"WithStreamlitConnection\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_WithStreamlitConnection, null, {\n default: _withCtx(({ args }) => [\n _createVNode(_component_PdfViewer, { args: args }, null, 8, [\"args\"])\n ]),\n _: 1\n })\n ]))\n}","<!-- \n We bootstrap our Component to Streamlit with our scoped slot in the top-level App.\n This is where scoped slot passes Streamlit `args` data from itself to children MyComponent.\n You should not have to edit this, but are free to do so :)\n-->\n<template>\n <div id=\"app\">\n <WithStreamlitConnection v-slot=\"{ args }\">\n <PdfViewer :args=\"args\" />\n </WithStreamlitConnection>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from \"vue\"\nimport PdfViewer from \"./PdfViewer.vue\"\n\n// \"withStreamlitConnection\" is a scoped slot. It bootstraps the\n// connection between your component and the Streamlit app, and handles\n// passing arguments from Python -> Component.\n//\n// You don't need to edit withStreamlitConnection (but you're welcome to!).\nimport WithStreamlitConnection from \"./streamlit/WithStreamlitConnection.vue\"\n\nexport default defineComponent({\n name: \"App\",\n components: {\n PdfViewer,\n WithStreamlitConnection,\n },\n})\n</script>\n\n<style>\nbody {\n margin: 0;\n}\n#app {\n font-family: Avenir, Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n color: #2c3e50;\n}\n</style>\n","<template>\n <div id=\"pdfContainer\" :style=\"pdfContainerStyle\">\n <div v-if=\"args.rendering === 'unwrap'\">\n <div id=\"pdfViewer\" :style=\"pdfViewerStyle\"></div>\n </div>\n <div v-else-if=\"args.rendering === 'legacy_embed'\">\n <embed :src=\"`data:application/pdf;base64,${args.binary}`\" :width=\"`${args.width}`\" :height=\"`${args.height}`\"\n type=\"application/pdf\"/>\n </div>\n <div v-else-if=\"args.rendering === 'legacy_iframe'\">\n <embed :src=\"`data:application/pdf;base64,${args.binary}`\" :width=\"`${args.width}`\" :height=\"`${args.height}`\"\n type=\"application/pdf\"/>\n </div>\n <div v-else>\n Error rendering option.\n </div>\n </div>\n</template>\n\n<script>\nimport { onMounted, onUpdated, computed, ref, onUnmounted } from \"vue\";\nimport \"pdfjs-dist/web/pdf_viewer.css\";\nimport \"pdfjs-dist/build/pdf.worker.mjs\";\nimport { getDocument } from \"pdfjs-dist/build/pdf\";\nimport { Streamlit } from \"streamlit-component-lib\";\nimport * as pdfjsLib from \"pdfjs-dist\";\nimport { debounce } from 'lodash';\n\nconst CMAP_URL = \"pdfjs-dist/cmaps/\";\nconst CMAP_PACKED = true;\nconst ENABLE_XFA = true;\nconst acceptedBorderStyleAttributes = ['solid', 'dashed', 'dotted', 'double', 'groove', 'ridge', 'inset', 'outset', 'none', undefined, null];\n\nexport default {\n props: [\"args\"],\n\n setup(props) {\n const totalHeight = ref(0);\n const maxWidth = ref(0);\n const pageScales = ref([]);\n const pageHeights = ref([]);\n const loadedPages = ref([]);\n const currentFrameHeight = ref(props.args.height || 0);\n\n const isRenderingAllPages = props.args.pages_to_render.length === 0;\n\n const renderText = props.args.render_text === true;\n\n const parseWidthValue = (widthValue, fallbackValue = window.innerWidth) => {\n if (typeof widthValue === \"string\" && widthValue.endsWith(\"%\")) {\n const num = parseFloat(widthValue)\n if (!isNaN(num)) {\n return { type: \"percent\", value: num / 100 }\n }\n }\n const numeric = Number(widthValue)\n if (!isNaN(numeric) && numeric > 0) {\n return { type: \"pixel\", value: numeric }\n }\n return { type: \"pixel\", value: fallbackValue }\n }\n\n const pdfContainerStyle = computed(() => {\n const result = parseWidthValue(props.args.width, window.innerWidth);\n const widthCSS = result.type === \"percent\" ? `${result.value * 100}%` : `${result.value}px`;\n return {\n width: widthCSS,\n height: props.args.height ? `${props.args.height}px` : 'auto',\n overflow: 'auto',\n position: 'relative',\n };\n });\n\n const pdfViewerStyle = { position: 'relative' };\n\n const calculatePdfsHeight = (page) => {\n let height = 0;\n if (isRenderingAllPages) {\n for (let i = 0; i < page - 1; i++) {\n height += pageHeights.value[i] * pageScales.value[i] + props.args.pages_vertical_spacing;\n }\n } else {\n for (let i = 0; i < pageHeights.value.length; i++) {\n if (props.args.pages_to_render.includes(i + 1) && i < page - 1) {\n height += pageHeights.value[i] * pageScales.value[i] + props.args.pages_vertical_spacing;\n }\n }\n }\n return height;\n };\n\n const clearExistingCanvases = (pdfViewer) => {\n if (!pdfViewer) return;\n pdfViewer.innerHTML = '';\n };\n\n const createCanvasForPage = (page, scale, rotation, pageNumber, resolutionRatioBoost = 1) => {\n const viewport = page.getViewport({ scale, rotation });\n const ratio = (window.devicePixelRatio || 1) * resolutionRatioBoost;\n\n const canvas = document.createElement(\"canvas\");\n canvas.id = `canvas_page_${pageNumber}`;\n canvas.height = viewport.height * ratio + props.args.pages_vertical_spacing;\n canvas.width = viewport.width * ratio;\n canvas.style.width = `${viewport.width}px`;\n canvas.style.height = `${viewport.height}px`;\n canvas.style.display = \"block\";\n canvas.style.marginBottom = `${props.args.pages_vertical_spacing}px`;\n canvas.getContext(\"2d\").scale(ratio, ratio);\n\n return canvas;\n };\n\n const renderAnnotation = (annotation, pageDiv, scale) => {\n const annotationDiv = document.createElement('div');\n annotationDiv.id = `annotation-${annotation.id || annotation.page}-${annotation.index}`;\n annotationDiv.style.position = 'absolute';\n annotationDiv.style.left = `${annotation.x * scale}px`;\n annotationDiv.style.top = `${annotation.y * scale}px`;\n annotationDiv.style.width = `${annotation.width * scale}px`;\n annotationDiv.style.height = `${annotation.height * scale}px`;\n let border = annotation.border\n if (!annotation.border || !acceptedBorderStyleAttributes.includes(annotation.border)) {\n border = \"solid\"\n }\n annotationDiv.style.outline = `${props.args.annotation_outline_size * scale}px ${border} ${annotation.color}`;\n annotationDiv.style.cursor = renderText ? 'text' : 'pointer';\n annotationDiv.style.pointerEvents = renderText ? 'none' : 'auto';\n annotationDiv.style.zIndex = 10;\n\n if (!renderText) {\n annotationDiv.addEventListener('click', () => {\n Streamlit.setComponentValue({\n clicked_annotation: { index: annotation.index, ...annotation },\n });\n });\n }\n\n pageDiv.appendChild(annotationDiv);\n };\n\n const renderPage = async (page, canvas, viewport, annotations) => {\n const renderContext = {\n canvasContext: canvas.getContext(\"2d\"),\n viewport: viewport\n };\n\n await page.render(renderContext).promise;\n\n const pageDiv = document.createElement('div');\n pageDiv.className = 'page';\n pageDiv.style.position = 'relative';\n pageDiv.style.width = `${viewport.width}px`;\n pageDiv.style.height = `${viewport.height}px`;\n\n const canvasWrapper = document.createElement('div');\n canvasWrapper.className = 'canvasWrapper';\n canvasWrapper.style.position = 'absolute';\n canvasWrapper.style.top = '0';\n canvasWrapper.style.left = '0';\n canvasWrapper.appendChild(canvas);\n\n pageDiv.appendChild(canvasWrapper);\n\n if (renderText) {\n const textContent = await page.getTextContent();\n const textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.zIndex = \"11\";\n textLayerDiv.style.position = 'absolute';\n textLayerDiv.style.top = '0';\n textLayerDiv.style.left = '0';\n textLayerDiv.style.height = `${viewport.height}px`;\n textLayerDiv.style.width = `${viewport.width}px`;\n\n const textLayer = new pdfjsLib.TextLayer({\n textContentSource: textContent,\n container: textLayerDiv,\n viewport: viewport,\n textDivs: []\n });\n await textLayer.render();\n\n pageDiv.appendChild(textLayerDiv);\n }\n\n if (annotations && annotations.length > 0) {\n annotations.forEach(annotation => {\n renderAnnotation(annotation, pageDiv, viewport.scale);\n });\n }\n\n const pdfViewer = document.getElementById(\"pdfViewer\");\n pdfViewer.appendChild(pageDiv);\n };\n\n const getPagesToRender = (numPages) => {\n if (props.args.pages_to_render.length === 0) {\n return Array.from({ length: numPages }, (_, i) => i + 1);\n }\n return props.args.pages_to_render;\n };\n\n const renderPdfPages = async (pdf, pdfViewer, pagesToRender) => {\n totalHeight.value = 0;\n pageScales.value = [];\n pageHeights.value = [];\n loadedPages.value = [];\n\n const resolutionBoost = props.args.resolution_boost || 1;\n\n for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber++) {\n const page = await pdf.getPage(pageNumber);\n const rotation = page.rotate;\n const unscaledViewport = page.getViewport({ scale: 1.0, rotation });\n\n if (props.args.height > 0) {\n const widthScale = unscaledViewport.width / unscaledViewport.height;\n const possibleScaledWidth = widthScale * props.args.height;\n if (maxWidth.value === 0 || possibleScaledWidth < maxWidth.value) {\n maxWidth.value = possibleScaledWidth;\n }\n }\n\n const scale = maxWidth.value / unscaledViewport.width;\n\n pageScales.value.push(scale);\n pageHeights.value.push(unscaledViewport.height);\n\n if (pagesToRender.includes(pageNumber)) {\n const canvas = createCanvasForPage(page, scale, rotation, pageNumber, resolutionBoost);\n pdfViewer.style.setProperty('--scale-factor', scale);\n\n const viewport = page.getViewport({\n scale: scale,\n rotation: rotation,\n intent: \"print\",\n });\n\n const annotationsForPage = props.args.annotations.filter(\n anno => Number(anno.page) === pageNumber\n );\n\n totalHeight.value += canvas.height / ((window.devicePixelRatio || 1) * resolutionBoost);\n await renderPage(page, canvas, viewport, annotationsForPage);\n\n if (canvas.id) {\n loadedPages.value.push(canvas.id);\n }\n }\n }\n // Subtract the margin for the last page as it's not needed\n if (pagesToRender.length > 0) {\n totalHeight.value -= props.args.pages_vertical_spacing;\n }\n };\n\n const alertError = (error) => {\n window.alert(error.message);\n console.error(error);\n };\n\n const loadPdfs = async (url) => {\n pdfjsLib.GlobalWorkerOptions.workerSrc = 'pdfjs-dist/build/pdf.worker.mjs';\n try {\n const loadingTask = getDocument({\n url: url,\n cMapUrl: CMAP_URL,\n cMapPacked: CMAP_PACKED,\n enableXfa: ENABLE_XFA,\n });\n const pdf = await loadingTask.promise;\n\n const pdfViewer = document.getElementById(\"pdfViewer\");\n clearExistingCanvases(pdfViewer);\n\n const pagesToRender = getPagesToRender(pdf.numPages);\n await renderPdfPages(pdf, pdfViewer, pagesToRender);\n scrollToItem();\n } catch (error) {\n alertError(error);\n }\n };\n\n const scrollToItem = () => {\n if (props.args.scroll_to_page) {\n const page = document.getElementById(`canvas_page_${props.args.scroll_to_page}`);\n if (page) {\n page.scrollIntoView({ behavior: \"smooth\" });\n }\n } else if (props.args.scroll_to_annotation) {\n const annotation = document.querySelector(`[id^=\"annotation-\"][data-index=\"${props.args.scroll_to_annotation}\"]`);\n if (annotation) {\n annotation.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }\n };\n\n const setFrameHeight = () => {\n const newHeight = props.args.height || totalHeight.value;\n if (newHeight !== currentFrameHeight.value) {\n Streamlit.setFrameHeight(newHeight);\n currentFrameHeight.value = newHeight;\n }\n };\n\n const setFrameWidth = () => {\n const result = parseWidthValue(props.args.width, window.innerWidth);\n let newMaxWidth;\n if (result.type === \"percent\") {\n newMaxWidth = Math.min(Math.floor(result.value * window.innerWidth), window.innerWidth);\n } else {\n newMaxWidth = Math.min(result.value, window.innerWidth);\n }\n\n if (newMaxWidth !== maxWidth.value) {\n maxWidth.value = newMaxWidth;\n }\n };\n\n const handleResize = async () => {\n try {\n console.log('handleResize');\n if (props.args.rendering === \"unwrap\") {\n const binaryDataUrl = `data:application/pdf;base64,${props.args.binary}`;\n setFrameWidth();\n await loadPdfs(binaryDataUrl);\n setFrameHeight();\n }\n } catch (error) {\n console.error(error);\n }\n };\n\n // Debounced resize handler to prevent multiple rapid executions\n const debouncedHandleResize = debounce(handleResize, 200);\n\n onMounted(() => {\n debouncedHandleResize();\n window.addEventListener(\"resize\", debouncedHandleResize);\n });\n\n onUnmounted(() => {\n window.removeEventListener(\"resize\", debouncedHandleResize);\n });\n\n return {\n pdfContainerStyle,\n pdfViewerStyle,\n };\n },\n};\n</script>","import { render } from \"./PdfViewer.vue?vue&type=template&id=191093ce\"\nimport script from \"./PdfViewer.vue?vue&type=script&lang=js\"\nexport * from \"./PdfViewer.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"err__msg\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n (_ctx.componentError != '')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _cache[0] || (_cache[0] = _createElementVNode(\"h1\", { class: \"err__title\" }, \"Component Error\", -1)),\n _createElementVNode(\"div\", _hoisted_2, \"Message: \" + _toDisplayString(_ctx.componentError), 1)\n ]))\n : (_ctx.renderData != null)\n ? _renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n args: _ctx.renderData.args,\n disabled: _ctx.renderData.disabled\n }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\n <div>\n <!-- Error boundary. If our wrapped component threw an error, display it. -->\n <div v-if=\"componentError != ''\">\n <h1 class=\"err__title\">Component Error</h1>\n <div class=\"err__msg\">Message: {{ componentError }}</div>\n </div>\n <!-- \n Else render the component slot and pass Streamlit event data in `args` props to it.\n Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n All components get disabled while the app is being re-run, and become re-enabled when the re-run has finished.\n -->\n <slot\n v-else-if=\"renderData != null\"\n :args=\"renderData.args\"\n :disabled=\"renderData.disabled\"\n ></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n ref,\n defineComponent,\n onMounted,\n onUpdated,\n onUnmounted,\n onErrorCaptured,\n} from \"vue\"\nimport { Streamlit, RenderData } from \"streamlit-component-lib\"\n\nexport default defineComponent({\n name: \"WithStreamlitConnection\",\n setup() {\n const renderData = ref<RenderData>((undefined as unknown) as RenderData)\n const componentError = ref(\"\")\n\n const onRenderEvent = (event: Event): void => {\n const renderEvent = event as CustomEvent<RenderData>\n renderData.value = renderEvent.detail\n componentError.value = \"\"\n }\n\n // Set up event listeners, and signal to Streamlit that we're ready.\n // We won't render the component until we receive the first RENDER_EVENT.\n onMounted(() => {\n Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent)\n Streamlit.setComponentReady()\n })\n onUpdated(() => {\n // If our slot threw an error, we display it in render(). In this\n // case, the slot won't be mounted and therefore won't call\n // `setFrameHeight` on its own. We do it here so that the rendered\n // error will be visible.\n if (componentError.value != \"\") {\n Streamlit.setFrameHeight()\n }\n })\n onUnmounted(() => {\n Streamlit.events.removeEventListener(\n Streamlit.RENDER_EVENT,\n onRenderEvent\n )\n })\n onErrorCaptured(err => {\n componentError.value = String(err)\n })\n\n return {\n renderData,\n componentError,\n }\n },\n})\n</script>\n\n<style scoped>\n.err__title,\n.err__msg {\n margin: 0;\n}\n</style>\n","import { render } from \"./WithStreamlitConnection.vue?vue&type=template&id=bef81972&scoped=true&ts=true\"\nimport script from \"./WithStreamlitConnection.vue?vue&type=script&lang=ts\"\nexport * from \"./WithStreamlitConnection.vue?vue&type=script&lang=ts\"\n\nimport \"./WithStreamlitConnection.vue?vue&type=style&index=0&id=bef81972&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bef81972\"]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=6ea7f320&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=6ea7f320&lang=css\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkstreamlit_pdf_viewer\"] = self[\"webpackChunkstreamlit_pdf_viewer\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], () => (__webpack_require__(9957)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_PdfViewer","_resolveComponent","_component_WithStreamlitConnection","_openBlock","_createElementBlock","_createVNode","default","_withCtx","args","_","key","style","_normalizeStyle","pdfContainerStyle","rendering","_createElementVNode","pdfViewerStyle","_hoisted_2","src","binary","width","height","type","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","CMAP_URL","CMAP_PACKED","ENABLE_XFA","acceptedBorderStyleAttributes","undefined","props","setup","totalHeight","ref","maxWidth","pageScales","pageHeights","loadedPages","currentFrameHeight","renderText","pages_to_render","length","render_text","parseWidthValue","widthValue","fallbackValue","window","innerWidth","endsWith","num","parseFloat","isNaN","value","numeric","Number","computed","result","widthCSS","overflow","position","clearExistingCanvases","pdfViewer","innerHTML","createCanvasForPage","page","scale","rotation","pageNumber","resolutionRatioBoost","viewport","getViewport","ratio","devicePixelRatio","canvas","document","createElement","pages_vertical_spacing","display","marginBottom","getContext","renderAnnotation","annotation","pageDiv","annotationDiv","index","left","x","top","y","border","includes","outline","annotation_outline_size","color","cursor","pointerEvents","zIndex","addEventListener","Streamlit","setComponentValue","clicked_annotation","appendChild","renderPage","async","annotations","renderContext","canvasContext","promise","className","canvasWrapper","textContent","getTextContent","textLayerDiv","textLayer","pdfjsLib","textContentSource","container","textDivs","forEach","getElementById","getPagesToRender","numPages","Array","from","i","renderPdfPages","pdf","pagesToRender","resolutionBoost","resolution_boost","getPage","rotate","unscaledViewport","widthScale","possibleScaledWidth","push","setProperty","intent","annotationsForPage","filter","anno","alertError","error","alert","message","console","loadPdfs","workerSrc","loadingTask","getDocument","url","cMapUrl","cMapPacked","enableXfa","scrollToItem","scroll_to_page","scrollIntoView","behavior","scroll_to_annotation","querySelector","block","setFrameHeight","newHeight","setFrameWidth","newMaxWidth","Math","min","floor","handleResize","log","binaryDataUrl","debouncedHandleResize","debounce","onMounted","onUnmounted","removeEventListener","__exports__","class","componentError","_toDisplayString","renderData","_renderSlot","$slots","disabled","_createCommentVNode","defineComponent","name","onRenderEvent","event","renderEvent","detail","events","RENDER_EVENT","setComponentReady","onUpdated","onErrorCaptured","err","String","components","PdfViewer","WithStreamlitConnection","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","Object","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","e","obj","prop","prototype","hasOwnProperty","nmd","paths","children","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
|